aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-09-10 12:15:20 -0400
committerScott Murray <scott.murray@konsulko.com>2022-09-21 14:33:32 +0000
commit992f87151ff189dc061624f010eddee2036fd33f (patch)
tree1372b14798ee21610f66b2466061f564ef631a17 /meson.build
parent920f7d6d92ffca4998f6215f4d20ab17693b59db (diff)
Add gRPC API implementationneedlefish
Changes: - Rename the existing daemon to applaunchd-dbus, and add a new version that exposes a gRPC based implementation of the API based on the protobuf definition added in a top-level protos directory. Having both the D-Bus and gRPC APIs exposed by a single daemon was posing difficulties around startup dependencies stemming from D-Bus activation of the daemon. Since the end goal is dropping the D-Bus API entirely, it is easier to just add a second daemon for gRPC that will eventually be the only one present. - To facilitate building the two implementations, a significant amount of code refactoring has been done to move things from the D-Bus API implementing app_launcher.[ch] to systemd_manager.[ch] so the code can be reused. - All use of the systemd D-Bus library except for the path encoding helper function has been replaced with GDBus. The systemd interface wrapper code was generated with gdbus-codegen from XML files captured via introspection on a running system. The motivation for this change was to avoid multithreading issues with sd_bus exposed when calling into it from the gRPC threads. - The copyright headers in the source files have been tweaked to remove the Apache license boilerplate in favour of a SPDX license tag. Notes: - The gRPC API differs slightly from the D-Bus one in that it has a single status streaming RPC method as opposed to the separate signals for application started or terminated that the D-Bus API has. - The gRPC API is currently unauthenticated, the aim is to circle back and implement authentication once a consensus can be reached on what mechanism should be used (fixed JWT configuration, OAuth, etc.). Bug-AGL: SPEC-4559 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I828f38a58b60e9959162b98054982124d4fa4380 (cherry picked from commit c52afaf8b5c96136fe20e5d5a1332121d3b09ee9)
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build5
1 files changed, 3 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index 8e820e5..9cca1be 100644
--- a/meson.build
+++ b/meson.build
@@ -16,7 +16,7 @@
project (
'applaunchd',
- 'c',
+ ['c', 'cpp'],
version : '0.1.0',
license : 'Apache-2.0',
meson_version : '>= 0.46.0',
@@ -24,7 +24,8 @@ project (
[
'warning_level=1',
'buildtype=debugoptimized',
- 'c_std=gnu11'
+ 'c_std=c17',
+ 'cpp_std=c++17'
],
)