From 3008e5482df673a44bff52879a6e2137ab5ce31b Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Thu, 29 Oct 2020 13:40:43 +0000 Subject: [PATCH] ipc: Refactor folders --- settings.gradle | 2 +- src/xrt/ipc/CMakeLists.txt | 34 +++++++++---------- .../{ipc_android => ipc/android}/build.gradle | 0 .../android}/proguard-rules.pro | 0 .../android}/src/main/AndroidManifest.xml | 0 .../org/freedesktop/monado/ipc/IMonado.aidl | 0 .../org/freedesktop/monado/ipc/Client.java | 0 .../freedesktop/monado/ipc/MonadoImpl.java | 0 .../freedesktop/monado/ipc/MonadoService.java | 0 .../android}/src/main/res/values/strings.xml | 0 src/xrt/ipc/{ => client}/ipc_client.h | 4 +-- .../ipc/{ => client}/ipc_client_compositor.c | 4 +-- src/xrt/ipc/{ => client}/ipc_client_device.c | 2 +- src/xrt/ipc/{ => client}/ipc_client_hmd.c | 2 +- .../ipc/{ => client}/ipc_client_instance.c | 4 +-- src/xrt/ipc/meson.build | 26 +++++++------- src/xrt/ipc/{ => server}/ipc_server.h | 4 +-- src/xrt/ipc/{ => server}/ipc_server_client.c | 2 +- src/xrt/ipc/{ => server}/ipc_server_process.c | 4 +-- src/xrt/ipc/{ => shared}/ipc_documentation.h | 28 +++++++++++++++ src/xrt/ipc/{ => shared}/ipc_protocol.h | 0 src/xrt/ipc/{ => shared}/ipc_shmem.c | 2 +- src/xrt/ipc/{ => shared}/ipc_shmem.h | 0 src/xrt/ipc/{ => shared}/ipc_utils.c | 4 +-- src/xrt/ipc/{ => shared}/ipc_utils.h | 0 src/xrt/ipc/{ => shared}/ipcproto/__init__.py | 0 src/xrt/ipc/{ => shared}/ipcproto/common.py | 0 src/xrt/ipc/{ => shared}/proto.json | 0 src/xrt/ipc/{ => shared}/proto.py | 17 +++++----- src/xrt/ipc/{ => shared}/proto.schema.json | 0 src/xrt/targets/ctl/main.c | 2 +- src/xrt/targets/openxr_android/build.gradle | 2 +- 32 files changed, 86 insertions(+), 57 deletions(-) rename src/xrt/{ipc_android => ipc/android}/build.gradle (100%) rename src/xrt/{ipc_android => ipc/android}/proguard-rules.pro (100%) rename src/xrt/{ipc_android => ipc/android}/src/main/AndroidManifest.xml (100%) rename src/xrt/{ipc_android => ipc/android}/src/main/aidl/org/freedesktop/monado/ipc/IMonado.aidl (100%) rename src/xrt/{ipc_android => ipc/android}/src/main/java/org/freedesktop/monado/ipc/Client.java (100%) rename src/xrt/{ipc_android => ipc/android}/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java (100%) rename src/xrt/{ipc_android => ipc/android}/src/main/java/org/freedesktop/monado/ipc/MonadoService.java (100%) rename src/xrt/{ipc_android => ipc/android}/src/main/res/values/strings.xml (100%) rename src/xrt/ipc/{ => client}/ipc_client.h (98%) rename src/xrt/ipc/{ => client}/ipc_client_compositor.c (99%) rename src/xrt/ipc/{ => client}/ipc_client_device.c (99%) rename src/xrt/ipc/{ => client}/ipc_client_hmd.c (99%) rename src/xrt/ipc/{ => client}/ipc_client_instance.c (99%) rename src/xrt/ipc/{ => server}/ipc_server.h (98%) rename src/xrt/ipc/{ => server}/ipc_server_client.c (99%) rename src/xrt/ipc/{ => server}/ipc_server_process.c (99%) rename src/xrt/ipc/{ => shared}/ipc_documentation.h (58%) rename src/xrt/ipc/{ => shared}/ipc_protocol.h (100%) rename src/xrt/ipc/{ => shared}/ipc_shmem.c (98%) rename src/xrt/ipc/{ => shared}/ipc_shmem.h (100%) rename src/xrt/ipc/{ => shared}/ipc_utils.c (99%) rename src/xrt/ipc/{ => shared}/ipc_utils.h (100%) rename src/xrt/ipc/{ => shared}/ipcproto/__init__.py (100%) rename src/xrt/ipc/{ => shared}/ipcproto/common.py (100%) rename src/xrt/ipc/{ => shared}/proto.json (100%) rename src/xrt/ipc/{ => shared}/proto.py (98%) rename src/xrt/ipc/{ => shared}/proto.schema.json (100%) diff --git a/settings.gradle b/settings.gradle index 6d889cad9..2a52653e3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,5 +4,5 @@ rootProject.name = 'monado' include ':src:xrt:auxiliary:android' -include ':src:xrt:ipc_android' +include ':src:xrt:ipc:android' include ':src:xrt:targets:openxr_android' diff --git a/src/xrt/ipc/CMakeLists.txt b/src/xrt/ipc/CMakeLists.txt index f5f492174..f3c88358d 100644 --- a/src/xrt/ipc/CMakeLists.txt +++ b/src/xrt/ipc/CMakeLists.txt @@ -7,12 +7,12 @@ function(proto_gen output) add_custom_command(OUTPUT ${output} - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/proto.py - ${CMAKE_CURRENT_SOURCE_DIR}/proto.json + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.py + ${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.json ${output} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/proto.py - ${CMAKE_CURRENT_SOURCE_DIR}/ipcproto/common.py - ${CMAKE_CURRENT_SOURCE_DIR}/proto.json + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.py + ${CMAKE_CURRENT_SOURCE_DIR}/shared/ipcproto/common.py + ${CMAKE_CURRENT_SOURCE_DIR}/shared/proto.json ) endfunction(proto_gen) @@ -24,10 +24,10 @@ proto_gen(${CMAKE_CURRENT_BINARY_DIR}/ipc_server_generated.c) set(IPC_COMMON_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/ipc_protocol_generated.h - ipc_shmem.c - ipc_shmem.h - ipc_utils.c - ipc_utils.h) + shared/ipc_shmem.c + shared/ipc_shmem.h + shared/ipc_utils.c + shared/ipc_utils.h) ### # Client @@ -35,11 +35,11 @@ add_library(ipc_client STATIC ${CMAKE_CURRENT_BINARY_DIR}/ipc_client_generated.c ${CMAKE_CURRENT_BINARY_DIR}/ipc_client_generated.h ${IPC_COMMON_SOURCES} - ipc_client.h - ipc_client_compositor.c - ipc_client_device.c - ipc_client_hmd.c - ipc_client_instance.c + client/ipc_client.h + client/ipc_client_compositor.c + client/ipc_client_device.c + client/ipc_client_hmd.c + client/ipc_client_instance.c ) target_include_directories(ipc_client INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} @@ -65,9 +65,9 @@ add_library(ipc_server STATIC ${CMAKE_CURRENT_BINARY_DIR}/ipc_server_generated.c ${CMAKE_CURRENT_BINARY_DIR}/ipc_server_generated.h ${IPC_COMMON_SOURCES} - ipc_server.h - ipc_server_client.c - ipc_server_process.c + server/ipc_server.h + server/ipc_server_client.c + server/ipc_server_process.c ) target_include_directories(ipc_server INTERFACE diff --git a/src/xrt/ipc_android/build.gradle b/src/xrt/ipc/android/build.gradle similarity index 100% rename from src/xrt/ipc_android/build.gradle rename to src/xrt/ipc/android/build.gradle diff --git a/src/xrt/ipc_android/proguard-rules.pro b/src/xrt/ipc/android/proguard-rules.pro similarity index 100% rename from src/xrt/ipc_android/proguard-rules.pro rename to src/xrt/ipc/android/proguard-rules.pro diff --git a/src/xrt/ipc_android/src/main/AndroidManifest.xml b/src/xrt/ipc/android/src/main/AndroidManifest.xml similarity index 100% rename from src/xrt/ipc_android/src/main/AndroidManifest.xml rename to src/xrt/ipc/android/src/main/AndroidManifest.xml diff --git a/src/xrt/ipc_android/src/main/aidl/org/freedesktop/monado/ipc/IMonado.aidl b/src/xrt/ipc/android/src/main/aidl/org/freedesktop/monado/ipc/IMonado.aidl similarity index 100% rename from src/xrt/ipc_android/src/main/aidl/org/freedesktop/monado/ipc/IMonado.aidl rename to src/xrt/ipc/android/src/main/aidl/org/freedesktop/monado/ipc/IMonado.aidl diff --git a/src/xrt/ipc_android/src/main/java/org/freedesktop/monado/ipc/Client.java b/src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/Client.java similarity index 100% rename from src/xrt/ipc_android/src/main/java/org/freedesktop/monado/ipc/Client.java rename to src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/Client.java diff --git a/src/xrt/ipc_android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java b/src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java similarity index 100% rename from src/xrt/ipc_android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java rename to src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoImpl.java diff --git a/src/xrt/ipc_android/src/main/java/org/freedesktop/monado/ipc/MonadoService.java b/src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoService.java similarity index 100% rename from src/xrt/ipc_android/src/main/java/org/freedesktop/monado/ipc/MonadoService.java rename to src/xrt/ipc/android/src/main/java/org/freedesktop/monado/ipc/MonadoService.java diff --git a/src/xrt/ipc_android/src/main/res/values/strings.xml b/src/xrt/ipc/android/src/main/res/values/strings.xml similarity index 100% rename from src/xrt/ipc_android/src/main/res/values/strings.xml rename to src/xrt/ipc/android/src/main/res/values/strings.xml diff --git a/src/xrt/ipc/ipc_client.h b/src/xrt/ipc/client/ipc_client.h similarity index 98% rename from src/xrt/ipc/ipc_client.h rename to src/xrt/ipc/client/ipc_client.h index 08a4b3feb..d2ff75e96 100644 --- a/src/xrt/ipc/ipc_client.h +++ b/src/xrt/ipc/client/ipc_client.h @@ -11,8 +11,8 @@ #pragma once #include "xrt/xrt_compiler.h" -#include "ipc_protocol.h" -#include "ipc_utils.h" +#include "shared/ipc_protocol.h" +#include "shared/ipc_utils.h" #include "util/u_threading.h" diff --git a/src/xrt/ipc/ipc_client_compositor.c b/src/xrt/ipc/client/ipc_client_compositor.c similarity index 99% rename from src/xrt/ipc/ipc_client_compositor.c rename to src/xrt/ipc/client/ipc_client_compositor.c index 1615d36c8..9e678c8ff 100644 --- a/src/xrt/ipc/ipc_client_compositor.c +++ b/src/xrt/ipc/client/ipc_client_compositor.c @@ -16,8 +16,8 @@ #include "os/os_time.h" -#include "ipc_protocol.h" -#include "ipc_client.h" +#include "shared/ipc_protocol.h" +#include "client/ipc_client.h" #include "ipc_client_generated.h" #include diff --git a/src/xrt/ipc/ipc_client_device.c b/src/xrt/ipc/client/ipc_client_device.c similarity index 99% rename from src/xrt/ipc/ipc_client_device.c rename to src/xrt/ipc/client/ipc_client_device.c index e61ef8788..b07005e2a 100644 --- a/src/xrt/ipc/ipc_client_device.c +++ b/src/xrt/ipc/client/ipc_client_device.c @@ -25,7 +25,7 @@ #include "util/u_debug.h" #include "util/u_device.h" -#include "ipc_client.h" +#include "client/ipc_client.h" #include "ipc_client_generated.h" diff --git a/src/xrt/ipc/ipc_client_hmd.c b/src/xrt/ipc/client/ipc_client_hmd.c similarity index 99% rename from src/xrt/ipc/ipc_client_hmd.c rename to src/xrt/ipc/client/ipc_client_hmd.c index 01f0788d5..735fa40f4 100644 --- a/src/xrt/ipc/ipc_client_hmd.c +++ b/src/xrt/ipc/client/ipc_client_hmd.c @@ -26,7 +26,7 @@ #include "util/u_device.h" #include "util/u_distortion_mesh.h" -#include "ipc_client.h" +#include "client/ipc_client.h" #include "ipc_client_generated.h" diff --git a/src/xrt/ipc/ipc_client_instance.c b/src/xrt/ipc/client/ipc_client_instance.c similarity index 99% rename from src/xrt/ipc/ipc_client_instance.c rename to src/xrt/ipc/client/ipc_client_instance.c index ce4034a1b..7768fd4d4 100644 --- a/src/xrt/ipc/ipc_client_instance.c +++ b/src/xrt/ipc/client/ipc_client_instance.c @@ -14,8 +14,8 @@ #include "util/u_misc.h" #include "util/u_var.h" -#include "ipc_protocol.h" -#include "ipc_client.h" +#include "shared/ipc_protocol.h" +#include "client/ipc_client.h" #include "ipc_client_generated.h" #include diff --git a/src/xrt/ipc/meson.build b/src/xrt/ipc/meson.build index eb47a43e5..d221619f9 100644 --- a/src/xrt/ipc/meson.build +++ b/src/xrt/ipc/meson.build @@ -9,15 +9,15 @@ ipc_include = include_directories('.') prog_python = import('python').find_installation('python3') common_sources = [ - 'ipc_shmem.c', - 'ipc_shmem.h', - 'ipc_utils.c', - 'ipc_utils.h', + 'shared/ipc_shmem.c', + 'shared/ipc_shmem.h', + 'shared/ipc_utils.c', + 'shared/ipc_utils.h', ] generated = custom_target('protocol code', command: [prog_python, '@INPUT@', '@OUTPUT@'], - input: ['proto.py', 'proto.json'], + input: ['shared/proto.py', 'shared/proto.json'], output: [ 'ipc_protocol_generated.h', 'ipc_client_generated.c', @@ -38,11 +38,11 @@ lib_ipc_client = static_library( generated[0], generated[1], generated[2], - 'ipc_client.h', - 'ipc_client_compositor.c', - 'ipc_client_device.c', - 'ipc_client_hmd.c', - 'ipc_client_instance.c', + 'client/ipc_client.h', + 'client/ipc_client_compositor.c', + 'client/ipc_client_device.c', + 'client/ipc_client_hmd.c', + 'client/ipc_client_instance.c', ], include_directories: [ xrt_include, @@ -60,9 +60,9 @@ lib_ipc_server = static_library( generated[0], generated[3], generated[4], - 'ipc_server.h', - 'ipc_server_client.c', - 'ipc_server_process.c', + 'server/ipc_server.h', + 'server/ipc_server_client.c', + 'server/ipc_server_process.c', ], include_directories: [ xrt_include, diff --git a/src/xrt/ipc/ipc_server.h b/src/xrt/ipc/server/ipc_server.h similarity index 98% rename from src/xrt/ipc/ipc_server.h rename to src/xrt/ipc/server/ipc_server.h index 312cf3cdd..a1467a262 100644 --- a/src/xrt/ipc/ipc_server.h +++ b/src/xrt/ipc/server/ipc_server.h @@ -16,8 +16,8 @@ #include "os/os_threading.h" -#include "ipc_protocol.h" -#include "ipc_utils.h" +#include "shared/ipc_protocol.h" +#include "shared/ipc_utils.h" #include diff --git a/src/xrt/ipc/ipc_server_client.c b/src/xrt/ipc/server/ipc_server_client.c similarity index 99% rename from src/xrt/ipc/ipc_server_client.c rename to src/xrt/ipc/server/ipc_server_client.c index 08baa137a..b6ef4cbbd 100644 --- a/src/xrt/ipc/ipc_server_client.c +++ b/src/xrt/ipc/server/ipc_server_client.c @@ -11,7 +11,7 @@ #include "util/u_misc.h" -#include "ipc_server.h" +#include "server/ipc_server.h" #include "ipc_server_generated.h" #include diff --git a/src/xrt/ipc/ipc_server_process.c b/src/xrt/ipc/server/ipc_server_process.c similarity index 99% rename from src/xrt/ipc/ipc_server_process.c rename to src/xrt/ipc/server/ipc_server_process.c index d9b9380fc..f334bda96 100644 --- a/src/xrt/ipc/ipc_server_process.c +++ b/src/xrt/ipc/server/ipc_server_process.c @@ -18,8 +18,8 @@ #include "util/u_misc.h" #include "util/u_debug.h" -#include "ipc_server.h" -#include "ipc_shmem.h" +#include "shared/ipc_shmem.h" +#include "server/ipc_server.h" #include #include diff --git a/src/xrt/ipc/ipc_documentation.h b/src/xrt/ipc/shared/ipc_documentation.h similarity index 58% rename from src/xrt/ipc/ipc_documentation.h rename to src/xrt/ipc/shared/ipc_documentation.h index a5a144658..cef28575f 100644 --- a/src/xrt/ipc/ipc_documentation.h +++ b/src/xrt/ipc/shared/ipc_documentation.h @@ -37,3 +37,31 @@ * * @brief Inter-Process Communication layer */ + +/*! + * @dir xrt/ipc/shared + * @ingroup ipc + * + * @brief Inter-Process Communication layer shared code + */ + +/*! + * @dir xrt/ipc/server + * @ingroup ipc + * + * @brief Inter-Process Communication layer server code + */ + +/*! + * @dir xrt/ipc/client + * @ingroup ipc + * + * @brief Inter-Process Communication layer client code + */ + +/*! + * @dir xrt/ipc/android + * @ingroup ipc + * + * @brief Inter-Process Communication layer android code + */ diff --git a/src/xrt/ipc/ipc_protocol.h b/src/xrt/ipc/shared/ipc_protocol.h similarity index 100% rename from src/xrt/ipc/ipc_protocol.h rename to src/xrt/ipc/shared/ipc_protocol.h diff --git a/src/xrt/ipc/ipc_shmem.c b/src/xrt/ipc/shared/ipc_shmem.c similarity index 98% rename from src/xrt/ipc/ipc_shmem.c rename to src/xrt/ipc/shared/ipc_shmem.c index a6736253f..9ac8ff120 100644 --- a/src/xrt/ipc/ipc_shmem.c +++ b/src/xrt/ipc/shared/ipc_shmem.c @@ -11,7 +11,7 @@ #include -#include "ipc_shmem.h" +#include "shared/ipc_shmem.h" #if defined(XRT_OS_UNIX) #include diff --git a/src/xrt/ipc/ipc_shmem.h b/src/xrt/ipc/shared/ipc_shmem.h similarity index 100% rename from src/xrt/ipc/ipc_shmem.h rename to src/xrt/ipc/shared/ipc_shmem.h diff --git a/src/xrt/ipc/ipc_utils.c b/src/xrt/ipc/shared/ipc_utils.c similarity index 99% rename from src/xrt/ipc/ipc_utils.c rename to src/xrt/ipc/shared/ipc_utils.c index 4283d3fa8..54b1c62b2 100644 --- a/src/xrt/ipc/ipc_utils.c +++ b/src/xrt/ipc/shared/ipc_utils.c @@ -11,8 +11,8 @@ #include "xrt/xrt_config_os.h" -#include "ipc_utils.h" -#include "ipc_protocol.h" +#include "shared/ipc_utils.h" +#include "shared/ipc_protocol.h" #include #include diff --git a/src/xrt/ipc/ipc_utils.h b/src/xrt/ipc/shared/ipc_utils.h similarity index 100% rename from src/xrt/ipc/ipc_utils.h rename to src/xrt/ipc/shared/ipc_utils.h diff --git a/src/xrt/ipc/ipcproto/__init__.py b/src/xrt/ipc/shared/ipcproto/__init__.py similarity index 100% rename from src/xrt/ipc/ipcproto/__init__.py rename to src/xrt/ipc/shared/ipcproto/__init__.py diff --git a/src/xrt/ipc/ipcproto/common.py b/src/xrt/ipc/shared/ipcproto/common.py similarity index 100% rename from src/xrt/ipc/ipcproto/common.py rename to src/xrt/ipc/shared/ipcproto/common.py diff --git a/src/xrt/ipc/proto.json b/src/xrt/ipc/shared/proto.json similarity index 100% rename from src/xrt/ipc/proto.json rename to src/xrt/ipc/shared/proto.json diff --git a/src/xrt/ipc/proto.py b/src/xrt/ipc/shared/proto.py similarity index 98% rename from src/xrt/ipc/proto.py rename to src/xrt/ipc/shared/proto.py index 8a8fa6d75..f2e15fb7c 100755 --- a/src/xrt/ipc/proto.py +++ b/src/xrt/ipc/shared/proto.py @@ -97,7 +97,7 @@ def generate_client_c(file, p): f = open(file, "w") f.write(header.format(brief='Generated IPC client code', suffix='_client')) f.write(''' -#include "ipc_client.h" +#include "client/ipc_client.h" #include "ipc_protocol_generated.h" @@ -215,9 +215,9 @@ def generate_client_h(file, p): f.write(''' #pragma once -#include "ipc_protocol.h" +#include "shared/ipc_protocol.h" #include "ipc_protocol_generated.h" -#include "ipc_client.h" +#include "client/ipc_client.h" // clang-format off @@ -238,9 +238,10 @@ def generate_server_c(file, p): f.write(''' #include "ipc_server_generated.h" -#include "ipc_protocol.h" -#include "ipc_server.h" -#include "ipc_utils.h" +#include "shared/ipc_protocol.h" +#include "shared/ipc_utils.h" + +#include "server/ipc_server.h" // clang-format off @@ -373,9 +374,9 @@ def generate_server_header(file, p): f.write(''' #pragma once -#include "ipc_protocol.h" +#include "shared/ipc_protocol.h" #include "ipc_protocol_generated.h" -#include "ipc_server.h" +#include "server/ipc_server.h" // clang-format off diff --git a/src/xrt/ipc/proto.schema.json b/src/xrt/ipc/shared/proto.schema.json similarity index 100% rename from src/xrt/ipc/proto.schema.json rename to src/xrt/ipc/shared/proto.schema.json diff --git a/src/xrt/targets/ctl/main.c b/src/xrt/targets/ctl/main.c index 79c57683d..4eced4119 100644 --- a/src/xrt/targets/ctl/main.c +++ b/src/xrt/targets/ctl/main.c @@ -7,7 +7,7 @@ * @ingroup ipc */ -#include "ipc_client.h" +#include "client/ipc_client.h" #include "ipc_client_generated.h" #include diff --git a/src/xrt/targets/openxr_android/build.gradle b/src/xrt/targets/openxr_android/build.gradle index 0b51935e9..34060b5b9 100644 --- a/src/xrt/targets/openxr_android/build.gradle +++ b/src/xrt/targets/openxr_android/build.gradle @@ -58,7 +58,7 @@ android { } dependencies { - outOfProcessImplementation project(':src:xrt:ipc_android') + outOfProcessImplementation project(':src:xrt:ipc:android') implementation project(':src:xrt:auxiliary:android') implementation 'androidx.appcompat:appcompat:1.2.0' implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"