From 93fbb5b2389a54f34518ce1e2a4d139cd1d2bdf6 Mon Sep 17 00:00:00 2001 From: Slava Monich Date: Sat, 11 Jun 2022 02:07:16 +0300 Subject: [PATCH] [gbinder] Housekeeping. JB#42254 --- include/gbinder_servicemanager.h | 6 +- src/gbinder_ipc.c | 17 ++--- src/gbinder_ipc.h | 7 +- src/gbinder_servicemanager.c | 68 ++++++++++--------- unit/unit_bridge/unit_bridge.c | 14 ++-- unit/unit_client/unit_client.c | 10 +-- unit/unit_ipc/unit_ipc.c | 52 +++++++------- unit/unit_local_object/unit_local_object.c | 28 ++++---- unit/unit_local_reply/unit_local_reply.c | 6 +- unit/unit_proxy_object/unit_proxy_object.c | 27 ++++---- unit/unit_reader/unit_reader.c | 32 ++++----- unit/unit_remote_object/unit_remote_object.c | 8 +-- .../unit_servicemanager/unit_servicemanager.c | 55 ++++++++------- .../unit_servicemanager_aidl.c | 14 ++-- .../unit_servicemanager_aidl2.c | 8 +-- .../unit_servicemanager_aidl3.c | 8 +-- .../unit_servicemanager_hidl.c | 12 ++-- unit/unit_servicename/unit_servicename.c | 16 ++--- unit/unit_servicepoll/unit_servicepoll.c | 12 ++-- 19 files changed, 201 insertions(+), 199 deletions(-) diff --git a/include/gbinder_servicemanager.h b/include/gbinder_servicemanager.h index 6fd78d0..b502f68 100644 --- a/include/gbinder_servicemanager.h +++ b/include/gbinder_servicemanager.h @@ -76,13 +76,15 @@ void GBinderServiceManager* gbinder_servicemanager_new( - const char* dev); + const char* dev) + G_GNUC_WARN_UNUSED_RESULT; GBinderServiceManager* gbinder_servicemanager_new2( const char* dev, const char* sm_protocol, - const char* rpc_protocol); /* Since 1.1.20 */ + const char* rpc_protocol) /* Since 1.1.20 */ + G_GNUC_WARN_UNUSED_RESULT; GBinderServiceManager* gbinder_defaultservicemanager_new( diff --git a/src/gbinder_ipc.c b/src/gbinder_ipc.c index a640f0b..8c8e895 100644 --- a/src/gbinder_ipc.c +++ b/src/gbinder_ipc.c @@ -1840,18 +1840,16 @@ const GBinderIpcSyncApi gbinder_ipc_sync_main = { *==========================================================================*/ GBinderIpc* -gbinder_ipc_new_for_protocol( +gbinder_ipc_new( const char* dev, const char* protocol_name) { GBinderIpc* self = NULL; - const GBinderRpcProtocol* protocol; + const GBinderRpcProtocol* protocol = (protocol_name ? + gbinder_rpc_protocol_by_name(protocol_name) : NULL); if (!dev || !dev[0]) dev = GBINDER_DEFAULT_BINDER; - if (protocol_name) - protocol = gbinder_rpc_protocol_by_name(protocol_name); - if (!protocol_name || !protocol) - protocol = gbinder_rpc_protocol_for_device(dev); /* Never returns NULL */ + if (!protocol) protocol = gbinder_rpc_protocol_for_device(dev); /* Lock */ pthread_mutex_lock(&gbinder_ipc_mutex); @@ -1886,13 +1884,6 @@ gbinder_ipc_new_for_protocol( return self; } -GBinderIpc* -gbinder_ipc_new( - const char* dev) -{ - return gbinder_ipc_new_for_protocol(dev, NULL /* pick from config, or default */); -} - GBinderIpc* gbinder_ipc_ref( GBinderIpc* self) diff --git a/src/gbinder_ipc.h b/src/gbinder_ipc.h index a9924da..676363a 100644 --- a/src/gbinder_ipc.h +++ b/src/gbinder_ipc.h @@ -100,13 +100,8 @@ extern const GBinderIpcSyncApi gbinder_ipc_sync_worker GBINDER_INTERNAL; GBinderIpc* gbinder_ipc_new( - const char* dev) - GBINDER_INTERNAL; - -GBinderIpc* -gbinder_ipc_new_for_protocol( const char* dev, - const char* protocol_name) + const char* protocol) GBINDER_INTERNAL; GBinderIpc* diff --git a/src/gbinder_servicemanager.c b/src/gbinder_servicemanager.c index 4c791ed..c5ab815 100644 --- a/src/gbinder_servicemanager.c +++ b/src/gbinder_servicemanager.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2018-2021 Jolla Ltd. - * Copyright (C) 2018-2021 Slava Monich + * Copyright (C) 2018-2022 Jolla Ltd. + * Copyright (C) 2018-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -529,8 +529,7 @@ gbinder_servicemanager_new_with_type( GBinderIpc* ipc; if (!dev) dev = klass->default_device; - ipc = rpc_protocol ? gbinder_ipc_new_for_protocol(dev, rpc_protocol) : - gbinder_ipc_new(dev); + ipc = gbinder_ipc_new(dev, rpc_protocol); if (ipc) { /* Create a (possibly) dead service manager object */ GBinderRemoteObject* object = gbinder_ipc_get_service_manager(ipc); @@ -618,47 +617,40 @@ gbinder_servicemanager_service_registered( * Interface *==========================================================================*/ -GBinderServiceManager* -gbinder_servicemanager_new2( - const char* dev, - const char* sm_protocol, - const char* rpc_protocol) -{ - if (!sm_protocol || !rpc_protocol) - return gbinder_servicemanager_new(dev); - - if (dev) { - const GBinderServiceManagerType* type = gbinder_servicemanager_value_map(sm_protocol); - if (type) - return gbinder_servicemanager_new_with_type(type->get_type(), dev, rpc_protocol); - return gbinder_servicemanager_new(dev); - } - return NULL; -} - GBinderServiceManager* gbinder_servicemanager_new( const char* dev) { - if (dev) { - const GBinderServiceManagerType* type = NULL; + return gbinder_servicemanager_new2(dev, NULL, NULL); +} +GBinderServiceManager* +gbinder_servicemanager_new2( + const char* dev, + const char* sm_protocol, + const char* rpc_protocol) /* Since 1.1.20 */ +{ + if (!dev) { + return NULL; + } else if (!sm_protocol) { + const GBinderServiceManagerType* type; + + /* One-time initialization */ if (!gbinder_servicemanager_map) { - const GBinderServiceManagerType* t; - - /* One-time initialization */ gbinder_servicemanager_map = gbinder_servicemanager_load_config(); /* "Default" is a special value stored in a special variable */ - t = g_hash_table_lookup(gbinder_servicemanager_map, CONF_DEFAULT); - if (t) { + type = g_hash_table_lookup(gbinder_servicemanager_map, + CONF_DEFAULT); + if (type) { g_hash_table_remove(gbinder_servicemanager_map, CONF_DEFAULT); - gbinder_servicemanager_default = t; + gbinder_servicemanager_default = type; } else { gbinder_servicemanager_default = SERVICEMANAGER_TYPE_DEFAULT; } } + /* If no protocol is specified, pick one up based on the device name */ type = g_hash_table_lookup(gbinder_servicemanager_map, dev); if (type) { GDEBUG("Using %s service manager for %s", type->name, dev); @@ -666,9 +658,21 @@ gbinder_servicemanager_new( type = gbinder_servicemanager_default; GDEBUG("Using default service manager %s for %s", type->name, dev); } - return gbinder_servicemanager_new_with_type(type->get_type(), dev, NULL); + return gbinder_servicemanager_new_with_type(type->get_type(), dev, + rpc_protocol); + } else { + /* If protocol name is specified, it must be a valid one */ + const GBinderServiceManagerType* type = + gbinder_servicemanager_value_map(sm_protocol); + + if (type) { + return gbinder_servicemanager_new_with_type(type->get_type(), dev, + rpc_protocol); + } else { + GWARN("Unknown servicemanager protocol %s", sm_protocol); + return NULL; + } } - return NULL; } GBinderLocalObject* diff --git a/unit/unit_bridge/unit_bridge.c b/unit/unit_bridge/unit_bridge.c index a8eaa33..a9dd9c3 100644 --- a/unit/unit_bridge/unit_bridge.c +++ b/unit/unit_bridge/unit_bridge.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2021 Jolla Ltd. - * Copyright (C) 2021 Slava Monich + * Copyright (C) 2021-2022 Jolla Ltd. + * Copyright (C) 2021-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -183,7 +183,7 @@ TestServiceManagerHidl* test_servicemanager_impl_new( const char* dev) { - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); TestServiceManagerHidl* sm = test_servicemanager_hidl_new(ipc); @@ -357,10 +357,10 @@ test_basic_run( test.loop = g_main_loop_new(NULL, FALSE); /* obj (DEST) <=> bridge <=> (SRC) mirror */ - src_ipc = gbinder_ipc_new(SRC_DEV); - src_priv_ipc = gbinder_ipc_new(SRC_PRIV_DEV); - dest_ipc = gbinder_ipc_new(DEST_DEV); - dest_priv_ipc = gbinder_ipc_new(DEST_PRIV_DEV); + src_ipc = gbinder_ipc_new(SRC_DEV, NULL); + src_priv_ipc = gbinder_ipc_new(SRC_PRIV_DEV, NULL); + dest_ipc = gbinder_ipc_new(DEST_DEV, NULL); + dest_priv_ipc = gbinder_ipc_new(DEST_PRIV_DEV, NULL); test.src_impl = test_servicemanager_impl_new(SRC_PRIV_DEV); dest_impl = test_servicemanager_impl_new(DEST_PRIV_DEV); src_fd = gbinder_driver_fd(src_ipc->driver); diff --git a/unit/unit_client/unit_client.c b/unit/unit_client/unit_client.c index 075b87e..f6611ca 100644 --- a/unit/unit_client/unit_client.c +++ b/unit/unit_client/unit_client.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2018-2021 Jolla Ltd. - * Copyright (C) 2018-2021 Slava Monich + * Copyright (C) 2018-2022 Jolla Ltd. + * Copyright (C) 2018-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -55,7 +55,7 @@ test_client_new( guint h, const char* iface) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteObject* obj = gbinder_object_registry_get_remote(reg, h, TRUE); GBinderClient* client = gbinder_client_new(obj, iface); @@ -99,7 +99,7 @@ void test_basic( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteObject* obj = gbinder_object_registry_get_remote(reg, 0, TRUE); const char* iface = "foo"; @@ -125,7 +125,7 @@ void test_interfaces( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteObject* obj = gbinder_object_registry_get_remote(reg, 0, TRUE); static const GBinderClientIfaceInfo ifaces[] = { diff --git a/unit/unit_ipc/unit_ipc.c b/unit/unit_ipc/unit_ipc.c index 230075d..1e94473 100644 --- a/unit/unit_ipc/unit_ipc.c +++ b/unit/unit_ipc/unit_ipc.c @@ -134,8 +134,8 @@ void test_basic( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); - GBinderIpc* ipc2 = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); + GBinderIpc* ipc2 = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderLocalObject* obj; g_assert(ipc); @@ -154,14 +154,14 @@ test_basic( gbinder_local_object_unref(obj); /* Second gbinder_ipc_new returns the same (default) object */ - g_assert(gbinder_ipc_new(NULL) == ipc); - g_assert(gbinder_ipc_new("") == ipc); + g_assert(gbinder_ipc_new(NULL, NULL) == ipc); + g_assert(gbinder_ipc_new("", NULL) == ipc); gbinder_ipc_unref(ipc); gbinder_ipc_unref(ipc); gbinder_ipc_unref(ipc); /* Invalid path */ - g_assert(!gbinder_ipc_new("invalid path")); + g_assert(!gbinder_ipc_new("invalid path", NULL)); gbinder_ipc_exit(); test_binder_exit_wait(&test_opt, NULL); @@ -189,7 +189,7 @@ void test_async_oneway( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -216,7 +216,7 @@ void test_sync_oneway( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -238,7 +238,7 @@ void test_sync_reply_ok_status( int* status) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -295,7 +295,7 @@ void test_sync_reply_error( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -364,7 +364,7 @@ void test_transact_ok( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -423,7 +423,7 @@ void test_transact_dead( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -471,7 +471,7 @@ void test_transact_failed( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -521,7 +521,7 @@ void test_transact_status( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); @@ -564,7 +564,7 @@ void test_transact_custom( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); gulong id = gbinder_ipc_transact_custom(ipc, NULL, test_transact_custom_done, NULL, loop); @@ -596,7 +596,7 @@ void test_transact_custom2( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); gulong id = gbinder_ipc_transact_custom(ipc, NULL, NULL, test_transact_custom_destroy, loop); @@ -629,7 +629,7 @@ void test_transact_custom3( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); /* Reusing test_transact_cancel_done and test_transact_cancel_destroy */ gulong id = gbinder_ipc_transact_custom(ipc, test_transact_custom3_exec, @@ -679,7 +679,7 @@ void test_transact_cancel( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); gulong id = gbinder_ipc_transact_custom(ipc, test_transact_cancel_exec, test_transact_cancel_done, test_transact_cancel_destroy, loop); @@ -725,7 +725,7 @@ void test_transact_cancel2( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); /* Reusing test_transact_cancel_done and test_transact_cancel_destroy */ gulong id = gbinder_ipc_transact_custom(ipc, test_transact_cancel2_exec, @@ -775,7 +775,7 @@ void test_transact_2way_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); const char* dev = gbinder_driver_dev(ipc->driver); @@ -860,7 +860,7 @@ void test_transact_unhandled_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderDriver* driver = ipc->driver; GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderLocalRequest* req = gbinder_driver_local_request_new_ping(driver); @@ -921,7 +921,7 @@ void test_transact_incoming_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); const char* dev = gbinder_driver_dev(ipc->driver); @@ -1002,7 +1002,7 @@ void test_transact_status_reply_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); const char* dev = gbinder_driver_dev(ipc->driver); @@ -1119,7 +1119,7 @@ void test_transact_async_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); const char* dev = gbinder_driver_dev(ipc->driver); @@ -1202,7 +1202,7 @@ void test_transact_async_sync_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); const int fd = gbinder_driver_fd(ipc->driver); const char* dev = gbinder_driver_dev(ipc->driver); @@ -1266,7 +1266,7 @@ void test_drop_remote_refs_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderLocalObject* obj = gbinder_local_object_new (ipc, NULL, NULL, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); @@ -1317,7 +1317,7 @@ void test_cancel_on_exit( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); const GBinderIo* io = gbinder_driver_io(ipc->driver); GBinderLocalRequest* req = gbinder_local_request_new(io, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); diff --git a/unit/unit_local_object/unit_local_object.c b/unit/unit_local_object/unit_local_object.c index 6f87654..dc6284a 100644 --- a/unit/unit_local_object/unit_local_object.c +++ b/unit/unit_local_object/unit_local_object.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2018-2021 Jolla Ltd. - * Copyright (C) 2018-2021 Slava Monich + * Copyright (C) 2018-2022 Jolla Ltd. + * Copyright (C) 2018-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -152,7 +152,7 @@ test_basic( { const char* const ifaces_foo[] = { "foo", NULL }; const char* const ifaces_bar[] = { "bar", NULL }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderLocalObject* foo; GBinderLocalObject* bar; @@ -201,7 +201,7 @@ test_ping( int status = INT_MAX; const char* dev = GBINDER_DEFAULT_HWBINDER; const GBinderRpcProtocol* prot = gbinder_rpc_protocol_for_device(dev); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteRequest* req = gbinder_remote_request_new(reg, prot, 0, 0); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); @@ -247,7 +247,7 @@ test_interface( const char* dev = GBINDER_DEFAULT_HWBINDER; const GBinderRpcProtocol* prot = gbinder_rpc_protocol_for_device(dev); const char* const ifaces[] = { "x", NULL }; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteRequest* req = gbinder_remote_request_new(reg, prot, 0, 0); GBinderLocalObject* obj = gbinder_local_object_new(ipc, ifaces, NULL, NULL); @@ -296,7 +296,7 @@ test_hidl_ping( int status = INT_MAX; const char* dev = GBINDER_DEFAULT_HWBINDER; const GBinderRpcProtocol* prot = gbinder_rpc_protocol_for_device(dev); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteRequest* req = gbinder_remote_request_new(reg, prot, 0, 0); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); @@ -346,7 +346,7 @@ test_get_descriptor( int status = INT_MAX; const char* dev = GBINDER_DEFAULT_HWBINDER; const GBinderRpcProtocol* prot = gbinder_rpc_protocol_for_device(dev); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteRequest* req = gbinder_remote_request_new(reg, prot, 0, 0); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); @@ -402,7 +402,7 @@ test_descriptor_chain( const char* dev = GBINDER_DEFAULT_HWBINDER; const char* const ifaces[] = { "android.hidl.base@1.0::IBase", NULL }; const GBinderRpcProtocol* prot = gbinder_rpc_protocol_for_device(dev); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteRequest* req = gbinder_remote_request_new(reg, prot, 0, 0); GBinderLocalObject* obj = gbinder_local_object_new(ipc, ifaces, NULL, NULL); @@ -476,7 +476,7 @@ test_custom_iface( int count = 0, status = INT_MAX; const char* dev = GBINDER_DEFAULT_HWBINDER; const GBinderRpcProtocol* prot = gbinder_rpc_protocol_for_device(dev); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteRequest* req = gbinder_remote_request_new(reg, prot, 0, 0); GBinderLocalObject* obj = gbinder_local_object_new(ipc, ifaces, @@ -583,7 +583,7 @@ test_reply_status( int count = 0, status = 0; const char* dev = GBINDER_DEFAULT_HWBINDER; const GBinderRpcProtocol* prot = gbinder_rpc_protocol_for_device(dev); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteRequest* req = gbinder_remote_request_new(reg, prot, 0, 0); GBinderLocalObject* obj = gbinder_local_object_new(ipc, ifaces, @@ -624,7 +624,7 @@ void test_increfs_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderLocalObject* obj = gbinder_local_object_new (ipc, NULL, NULL, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); @@ -675,7 +675,7 @@ void test_decrefs_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderLocalObject* obj = gbinder_local_object_new (ipc, NULL, NULL, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); @@ -726,7 +726,7 @@ void test_acquire_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderLocalObject* obj = gbinder_local_object_new (ipc, NULL, NULL, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); @@ -777,7 +777,7 @@ void test_release_run( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); int fd = gbinder_driver_fd(ipc->driver); diff --git a/unit/unit_local_reply/unit_local_reply.c b/unit/unit_local_reply/unit_local_reply.c index 8cb0827..e2f0f57 100644 --- a/unit/unit_local_reply/unit_local_reply.c +++ b/unit/unit_local_reply/unit_local_reply.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2018-2021 Jolla Ltd. - * Copyright (C) 2018-2021 Slava Monich + * Copyright (C) 2018-2022 Jolla Ltd. + * Copyright (C) 2018-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -426,7 +426,7 @@ test_local_object( GBinderLocalReply* reply; GBinderOutputData* data; GUtilIntArray* offsets; - GBinderIpc* ipc = gbinder_ipc_new(NULL); + GBinderIpc* ipc = gbinder_ipc_new(NULL, NULL); const char* const ifaces[] = { "android.hidl.base@1.0::IBase", NULL }; GBinderLocalObject* obj = gbinder_local_object_new(ipc, ifaces, NULL, NULL); diff --git a/unit/unit_proxy_object/unit_proxy_object.c b/unit/unit_proxy_object/unit_proxy_object.c index 43c81ec..c8d86f5 100644 --- a/unit/unit_proxy_object/unit_proxy_object.c +++ b/unit/unit_proxy_object/unit_proxy_object.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2021 Jolla Ltd. - * Copyright (C) 2021 Slava Monich + * Copyright (C) 2021-2022 Jolla Ltd. + * Copyright (C) 2021-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -198,8 +198,8 @@ test_basic_run( int fd_obj, fd_proxy, n = 0; test_config_init(&config, NULL); - ipc_proxy = gbinder_ipc_new(DEV); - ipc_obj = gbinder_ipc_new(DEV_PRIV); + ipc_proxy = gbinder_ipc_new(DEV, NULL); + ipc_obj = gbinder_ipc_new(DEV_PRIV, NULL); fd_proxy = gbinder_driver_fd(ipc_proxy->driver); fd_obj = gbinder_driver_fd(ipc_obj->driver); obj = gbinder_local_object_new(ipc_obj, TEST_IFACES, test_basic_cb, &n); @@ -362,10 +362,10 @@ test_param_run( int fd_obj, fd_proxy, n = 0; test_config_init(&config, NULL); - ipc_obj = gbinder_ipc_new(DEV); - ipc_remote_obj = gbinder_ipc_new(DEV_PRIV); - ipc_proxy = gbinder_ipc_new(DEV2); - ipc_remote_proxy = gbinder_ipc_new(DEV2_PRIV); + ipc_obj = gbinder_ipc_new(DEV, NULL); + ipc_remote_obj = gbinder_ipc_new(DEV_PRIV, NULL); + ipc_proxy = gbinder_ipc_new(DEV2, NULL); + ipc_remote_proxy = gbinder_ipc_new(DEV2_PRIV, NULL); fd_proxy = gbinder_driver_fd(ipc_proxy->driver); fd_obj = gbinder_driver_fd(ipc_obj->driver); obj = gbinder_local_object_new(ipc_obj, TEST_IFACES, test_param_cb, &n); @@ -610,17 +610,18 @@ test_obj_run( memset(&test, 0, sizeof(test)); test.loop = g_main_loop_new(NULL, FALSE); - ipc_remote_obj = gbinder_ipc_new(DEV_PRIV); - ipc_obj = gbinder_ipc_new(DEV); - ipc_proxy = gbinder_ipc_new(DEV2); - ipc_remote_proxy = gbinder_ipc_new(DEV2_PRIV); + ipc_remote_obj = gbinder_ipc_new(DEV_PRIV, NULL); + ipc_obj = gbinder_ipc_new(DEV, NULL); + ipc_proxy = gbinder_ipc_new(DEV2, NULL); + ipc_remote_proxy = gbinder_ipc_new(DEV2_PRIV, NULL); fd_remote_obj = gbinder_driver_fd(ipc_remote_obj->driver); fd_obj = gbinder_driver_fd(ipc_obj->driver); fd_proxy = gbinder_driver_fd(ipc_proxy->driver); fd_remote_proxy = gbinder_driver_fd(ipc_remote_proxy->driver); - obj = gbinder_local_object_new(ipc_remote_obj, TEST_IFACES, test_obj_cb, &test); + obj = gbinder_local_object_new(ipc_remote_obj, TEST_IFACES, + test_obj_cb, &test); GDEBUG("obj %p", obj); remote_obj = gbinder_remote_object_new(ipc_obj, test_binder_register_object(fd_obj, obj, AUTO_HANDLE), diff --git a/unit/unit_reader/unit_reader.c b/unit/unit_reader/unit_reader.c index f39ee2e..92af5eb 100644 --- a/unit/unit_reader/unit_reader.c +++ b/unit/unit_reader/unit_reader.c @@ -769,7 +769,7 @@ test_hidl_struct( gconstpointer test_data) { const TestHidlStruct* test = test_data; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(test->in, test->in_size), test->in_size, NULL); GBinderReaderData data; @@ -973,7 +973,7 @@ test_hidl_vec( gconstpointer test_data) { const TestHidlVec* test = test_data; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(test->in, test->in_size), test->in_size, NULL); GBinderReaderData data; @@ -1079,7 +1079,7 @@ test_hidl_string_err( gconstpointer test_data) { const TestHidlStringErr* test = test_data; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(test->in, test->in_size), test->in_size, NULL); GBinderReaderData data; @@ -1113,7 +1113,7 @@ test_hidl_string_err_skip( gconstpointer test_data) { const TestHidlStringErr* test = test_data; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(test->in, test->in_size), test->in_size, NULL); GBinderReaderData data; @@ -1158,7 +1158,7 @@ test_fd_ok( TEST_INT32_BYTES(fd), TEST_INT32_BYTES(0), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderReaderData data; @@ -1198,7 +1198,7 @@ test_fd_shortbuf( TEST_INT32_BYTES(BINDER_TYPE_FD), TEST_INT32_BYTES(0x7f | BINDER_FLAG_ACCEPTS_FDS) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderReaderData data; @@ -1232,7 +1232,7 @@ test_fd_badtype( TEST_INT32_BYTES(fd), TEST_INT32_BYTES(0), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderReaderData data; @@ -1275,7 +1275,7 @@ test_dupfd_ok( TEST_INT32_BYTES(fd), TEST_INT32_BYTES(0), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderReaderData data; @@ -1322,7 +1322,7 @@ test_dupfd_badtype( TEST_INT32_BYTES(fd), TEST_INT32_BYTES(0), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderReaderData data; @@ -1365,7 +1365,7 @@ test_dupfd_badfd( TEST_INT32_BYTES(fd), TEST_INT32_BYTES(0), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderReaderData data; @@ -1404,7 +1404,7 @@ test_hidl_string( guint bufcount, const char* result) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, size), size, NULL); GBinderRemoteObject* obj = NULL; @@ -1675,7 +1675,7 @@ test_buffer( TEST_INT64_BYTES(0), TEST_INT64_BYTES(0), TEST_INT64_BYTES(0), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderRemoteObject* obj = NULL; @@ -1815,7 +1815,7 @@ test_object( TEST_INT32_BYTES(BINDER_TYPE_HANDLE), TEST_INT32_BYTES(0), TEST_INT64_BYTES(1 /* handle*/), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderRemoteObject* obj = NULL; @@ -1873,7 +1873,7 @@ test_object_invalid( TEST_INT32_BYTES(42 /* invalid type */), TEST_INT32_BYTES(0), TEST_INT64_BYTES(1 /* handle*/), TEST_INT64_BYTES(0) }; - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, sizeof(input)), sizeof(input), NULL); GBinderRemoteObject* obj = NULL; @@ -1907,7 +1907,7 @@ test_vec( void) { /* Using 64-bit I/O */ - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderReaderData data; GBinderReader reader; BinderObject64 obj; @@ -1960,7 +1960,7 @@ test_hidl_string_vec( gsize size, const char* const* result) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); GBinderBuffer* buf = gbinder_buffer_new(ipc->driver, g_memdup(input, size), size, NULL); GBinderRemoteObject* obj = NULL; diff --git a/unit/unit_remote_object/unit_remote_object.c b/unit/unit_remote_object/unit_remote_object.c index b757439..329570f 100644 --- a/unit/unit_remote_object/unit_remote_object.c +++ b/unit/unit_remote_object/unit_remote_object.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2018-2021 Jolla Ltd. - * Copyright (C) 2018-2021 Slava Monich + * Copyright (C) 2018-2022 Jolla Ltd. + * Copyright (C) 2018-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -68,7 +68,7 @@ void test_basic( void) { - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); GBinderRemoteObject* obj1 = gbinder_object_registry_get_remote(reg,1,TRUE); GBinderRemoteObject* obj2 = gbinder_object_registry_get_remote(reg,2,TRUE); @@ -112,7 +112,7 @@ test_dead_run( { const guint h = 1; GMainLoop* loop = g_main_loop_new(NULL, FALSE); - GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + GBinderIpc* ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); GBinderObjectRegistry* reg = gbinder_ipc_object_registry(ipc); const int fd = gbinder_driver_fd(ipc->driver); GBinderRemoteObject* obj = gbinder_object_registry_get_remote(reg, h, TRUE); diff --git a/unit/unit_servicemanager/unit_servicemanager.c b/unit/unit_servicemanager/unit_servicemanager.c index 493a30c..bc8d1d8 100644 --- a/unit/unit_servicemanager/unit_servicemanager.c +++ b/unit/unit_servicemanager/unit_servicemanager.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2018-2021 Jolla Ltd. - * Copyright (C) 2018-2021 Slava Monich + * Copyright (C) 2018-2022 Jolla Ltd. + * Copyright (C) 2018-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -442,11 +442,12 @@ test_invalid( { int status = 0; const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderServiceManager* sm; gulong id = 0; test_setup_ping(ipc); + g_assert(!gbinder_servicemanager_new2(GBINDER_DEFAULT_HWBINDER, "a", NULL)); sm = gbinder_servicemanager_new(dev); g_assert(!gbinder_servicemanager_new_with_type(GBINDER_TYPE_LOCAL_OBJECT, NULL, NULL)); @@ -487,7 +488,7 @@ test_basic( void) { const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderServiceManager* sm; GBinderLocalObject* obj; @@ -518,7 +519,7 @@ test_legacy( { const char* otherdev = "/dev/otherbinder"; const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderServiceManager* sm; /* Reset the state */ @@ -539,7 +540,7 @@ test_legacy( gbinder_ipc_unref(ipc); /* Legacy default */ - ipc = gbinder_ipc_new(otherdev); + ipc = gbinder_ipc_new(otherdev, NULL); test_setup_ping(ipc); sm = gbinder_servicemanager_new(otherdev); g_assert(TEST_IS_DEFSERVICEMANAGER(sm)); @@ -582,7 +583,7 @@ test_config( gbinder_config_file = file; /* Unknown device instantiates the default */ - ipc = gbinder_ipc_new(strange_name); + ipc = gbinder_ipc_new(strange_name, NULL); test_setup_ping(ipc); sm = gbinder_servicemanager_new(strange_name); g_assert(TEST_IS_HWSERVICEMANAGER(sm)); @@ -590,7 +591,7 @@ test_config( gbinder_ipc_unref(ipc); /* This one was redefined */ - ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER); + ipc = gbinder_ipc_new(GBINDER_DEFAULT_BINDER, NULL); test_setup_ping(ipc); sm = gbinder_servicemanager_new(GBINDER_DEFAULT_BINDER); g_assert(TEST_IS_HWSERVICEMANAGER(sm)); @@ -598,7 +599,7 @@ test_config( gbinder_ipc_unref(ipc); /* This one was not (since name was invalid) */ - ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER); + ipc = gbinder_ipc_new(GBINDER_DEFAULT_HWBINDER, NULL); test_setup_ping(ipc); sm = gbinder_servicemanager_new(GBINDER_DEFAULT_HWBINDER); g_assert(TEST_IS_HWSERVICEMANAGER(sm)); @@ -606,13 +607,21 @@ test_config( gbinder_ipc_unref(ipc); /* This one points to legacy manager */ - ipc = gbinder_ipc_new(legacy_name); + ipc = gbinder_ipc_new(legacy_name, NULL); test_setup_ping(ipc); sm = gbinder_servicemanager_new(legacy_name); g_assert(TEST_IS_DEFSERVICEMANAGER(sm)); gbinder_servicemanager_unref(sm); gbinder_ipc_unref(ipc); + /* Overwrite the legacy manager with "hidl" */ + ipc = gbinder_ipc_new(legacy_name, "hidl"); + test_setup_ping(ipc); + sm = gbinder_servicemanager_new2(legacy_name, "hidl", "hidl"); + g_assert(TEST_IS_HWSERVICEMANAGER(sm)); + gbinder_servicemanager_unref(sm); + gbinder_ipc_unref(ipc); + /* Clear the state */ gbinder_servicemanager_exit(); gbinder_config_exit(); @@ -634,7 +643,7 @@ test_not_present( void) { const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GBinderServiceManager* sm; @@ -659,7 +668,7 @@ test_wait( void) { const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); const glong forever = (test_opt.flags & TEST_FLAG_DEBUG) ? (TEST_TIMEOUT_SEC * 1000) : -1; @@ -710,7 +719,7 @@ test_wait_long( void) { const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GBinderServiceManager* sm; gulong id; @@ -756,7 +765,7 @@ test_wait_async( void) { const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServiceManager* sm; @@ -800,7 +809,7 @@ void test_death_run() { const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServiceManager* sm; @@ -877,7 +886,7 @@ test_reanimate( void) { const char* dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServiceManager* sm; @@ -932,9 +941,9 @@ test_reuse( const char* binder_dev = GBINDER_DEFAULT_BINDER; const char* vndbinder_dev = "/dev/vpnbinder"; const char* hwbinder_dev = GBINDER_DEFAULT_HWBINDER; - GBinderIpc* binder_ipc = gbinder_ipc_new(binder_dev); - GBinderIpc* vndbinder_ipc = gbinder_ipc_new(vndbinder_dev); - GBinderIpc* hwbinder_ipc = gbinder_ipc_new(hwbinder_dev); + GBinderIpc* binder_ipc = gbinder_ipc_new(binder_dev, NULL); + GBinderIpc* vndbinder_ipc = gbinder_ipc_new(vndbinder_dev, NULL); + GBinderIpc* hwbinder_ipc = gbinder_ipc_new(hwbinder_dev, NULL); GBinderServiceManager* m1; GBinderServiceManager* m2; GBinderServiceManager* vnd1; @@ -987,7 +996,7 @@ test_notify_type( GType t, const char* dev) { - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderServiceManager* sm; TestHwServiceManager* test; const char* name = "foo"; @@ -1055,7 +1064,7 @@ test_list( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServiceManager* sm; TestHwServiceManager* test; @@ -1104,7 +1113,7 @@ test_get( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServiceManager* sm; TestHwServiceManager* test; @@ -1166,7 +1175,7 @@ test_add( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServiceManager* sm; TestHwServiceManager* test; diff --git a/unit/unit_servicemanager_aidl/unit_servicemanager_aidl.c b/unit/unit_servicemanager_aidl/unit_servicemanager_aidl.c index 1d1f4c2..556f230 100644 --- a/unit/unit_servicemanager_aidl/unit_servicemanager_aidl.c +++ b/unit/unit_servicemanager_aidl/unit_servicemanager_aidl.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2020-2021 Jolla Ltd. - * Copyright (C) 2020-2021 Slava Monich + * Copyright (C) 2020-2022 Jolla Ltd. + * Copyright (C) 2020-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -182,7 +182,7 @@ servicemanager_aidl_new( { ServiceManagerAidl* self = g_object_new(SERVICE_MANAGER_AIDL_TYPE, NULL); GBinderLocalObject* obj = GBINDER_LOCAL_OBJECT(self); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); self->handle_on_looper_thread = handle_on_looper_thread; @@ -322,7 +322,7 @@ test_get_run() { const char* dev = GBINDER_DEFAULT_BINDER; const char* other_dev = GBINDER_DEFAULT_BINDER "-private"; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); ServiceManagerAidl* smsvc = servicemanager_aidl_new(other_dev, FALSE); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); const int fd = gbinder_driver_fd(ipc->driver); @@ -404,7 +404,7 @@ test_list_run() { const char* dev = GBINDER_DEFAULT_BINDER; const char* other_dev = GBINDER_DEFAULT_BINDER "-private"; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); ServiceManagerAidl* smsvc = servicemanager_aidl_new(other_dev, FALSE); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); const int fd = gbinder_driver_fd(ipc->driver); @@ -483,7 +483,7 @@ test_notify_run() { const char* dev = GBINDER_DEFAULT_BINDER; const char* other_dev = GBINDER_DEFAULT_BINDER "-private"; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); ServiceManagerAidl* svc = servicemanager_aidl_new(other_dev, FALSE); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); const int fd = gbinder_driver_fd(ipc->driver); @@ -540,7 +540,7 @@ test_notify2_run() { const char* dev = GBINDER_DEFAULT_BINDER; const char* other_dev = GBINDER_DEFAULT_BINDER "-private"; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); ServiceManagerAidl* smsvc = servicemanager_aidl_new(other_dev, TRUE); GBinderLocalObject* obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); const int fd = gbinder_driver_fd(ipc->driver); diff --git a/unit/unit_servicemanager_aidl2/unit_servicemanager_aidl2.c b/unit/unit_servicemanager_aidl2/unit_servicemanager_aidl2.c index 430ca0e..7956a89 100644 --- a/unit/unit_servicemanager_aidl2/unit_servicemanager_aidl2.c +++ b/unit/unit_servicemanager_aidl2/unit_servicemanager_aidl2.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2020-2021 Jolla Ltd. - * Copyright (C) 2020-2021 Slava Monich + * Copyright (C) 2020-2022 Jolla Ltd. + * Copyright (C) 2020-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -175,7 +175,7 @@ servicemanager_aidl2_new( { ServiceManagerAidl2* self = g_object_new(SERVICE_MANAGER_AIDL2_TYPE, NULL); GBinderLocalObject* obj = GBINDER_LOCAL_OBJECT(self); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); self->handle_on_looper_thread = handle_on_looper_thread; @@ -305,7 +305,7 @@ test_context_init( gbinder_config_dir = test->config_subdir; /* Doesn't exist */ gbinder_config_file = test->config_file; - ipc = gbinder_ipc_new(dev); + ipc = gbinder_ipc_new(dev, NULL); test->fd = gbinder_driver_fd(ipc->driver); test->object = gbinder_local_object_new(ipc, NULL, NULL, NULL); diff --git a/unit/unit_servicemanager_aidl3/unit_servicemanager_aidl3.c b/unit/unit_servicemanager_aidl3/unit_servicemanager_aidl3.c index 988b3c6..efd84db 100644 --- a/unit/unit_servicemanager_aidl3/unit_servicemanager_aidl3.c +++ b/unit/unit_servicemanager_aidl3/unit_servicemanager_aidl3.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2020-2021 Jolla Ltd. - * Copyright (C) 2020-2021 Slava Monich + * Copyright (C) 2020-2022 Jolla Ltd. + * Copyright (C) 2020-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -193,7 +193,7 @@ servicemanager_aidl3_new( { ServiceManagerAidl3* self = g_object_new(SERVICE_MANAGER_AIDL3_TYPE, NULL); GBinderLocalObject* obj = GBINDER_LOCAL_OBJECT(self); - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); self->handle_on_looper_thread = handle_on_looper_thread; @@ -323,7 +323,7 @@ test_context_init( gbinder_config_dir = test->config_subdir; /* Doesn't exist */ gbinder_config_file = test->config_file; - ipc = gbinder_ipc_new(dev); + ipc = gbinder_ipc_new(dev, NULL); test->fd = gbinder_driver_fd(ipc->driver); test->object = gbinder_local_object_new(ipc, NULL, NULL, NULL); diff --git a/unit/unit_servicemanager_hidl/unit_servicemanager_hidl.c b/unit/unit_servicemanager_hidl/unit_servicemanager_hidl.c index 86df5a4..1e5ea07 100644 --- a/unit/unit_servicemanager_hidl/unit_servicemanager_hidl.c +++ b/unit/unit_servicemanager_hidl/unit_servicemanager_hidl.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2021 Jolla Ltd. - * Copyright (C) 2021 Slava Monich + * Copyright (C) 2021-2022 Jolla Ltd. + * Copyright (C) 2021-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -122,7 +122,7 @@ TestServiceManagerHidl* test_servicemanager_impl_new( const char* dev) { - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); TestServiceManagerHidl* sm = test_servicemanager_hidl_new(ipc); @@ -191,7 +191,7 @@ test_get_run() const char* name = "android.hidl.base@1.0::IBase/test"; test_config_init(&config, NULL); - ipc = gbinder_ipc_new(MAIN_DEV); + ipc = gbinder_ipc_new(MAIN_DEV, NULL); smsvc = test_servicemanager_impl_new(OTHER_DEV); obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); fd = gbinder_driver_fd(ipc->driver); @@ -286,7 +286,7 @@ test_list_run() test.loop = g_main_loop_new(NULL, FALSE); test_config_init(&config, NULL); - ipc = gbinder_ipc_new(MAIN_DEV); + ipc = gbinder_ipc_new(MAIN_DEV, NULL); smsvc = test_servicemanager_impl_new(OTHER_DEV); obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); fd = gbinder_driver_fd(ipc->driver); @@ -414,7 +414,7 @@ test_notify_run() test.loop = g_main_loop_new(NULL, FALSE); test_config_init(&config, NULL); - ipc = gbinder_ipc_new(MAIN_DEV); + ipc = gbinder_ipc_new(MAIN_DEV, NULL); test.smsvc = test_servicemanager_impl_new(OTHER_DEV); obj = gbinder_local_object_new(ipc, NULL, NULL, NULL); fd = gbinder_driver_fd(ipc->driver); diff --git a/unit/unit_servicename/unit_servicename.c b/unit/unit_servicename/unit_servicename.c index 5b5e6d8..45332f8 100644 --- a/unit/unit_servicename/unit_servicename.c +++ b/unit/unit_servicename/unit_servicename.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2019-2021 Jolla Ltd. - * Copyright (C) 2019-2021 Slava Monich + * Copyright (C) 2019-2022 Jolla Ltd. + * Copyright (C) 2019-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -256,7 +256,7 @@ test_null( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderServiceManager* sm; test_setup_ping(ipc); @@ -283,7 +283,7 @@ test_basic( const char* obj_name = "test"; const char* dev = GBINDER_DEFAULT_BINDER; const char* const ifaces[] = { "interface", NULL }; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderLocalObject* obj; GBinderServiceManager* sm; @@ -321,7 +321,7 @@ test_present( const char* obj_name = "test"; const char* const ifaces[] = { "interface", NULL }; const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderLocalObject* obj; @@ -382,7 +382,7 @@ test_not_present( const char* obj_name = "test"; const char* const ifaces[] = { "interface", NULL }; const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderLocalObject* obj; @@ -427,7 +427,7 @@ test_retry( const char* obj_name = "test"; const char* const ifaces[] = { "interface", NULL }; const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderLocalObject* obj; @@ -470,7 +470,7 @@ test_cancel( const char* obj_name = "test"; const char* const ifaces[] = { "interface", NULL }; const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); const int fd = gbinder_driver_fd(ipc->driver); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderLocalObject* obj; diff --git a/unit/unit_servicepoll/unit_servicepoll.c b/unit/unit_servicepoll/unit_servicepoll.c index 30f817e..c7f79d6 100644 --- a/unit/unit_servicepoll/unit_servicepoll.c +++ b/unit/unit_servicepoll/unit_servicepoll.c @@ -1,6 +1,6 @@ /* - * Copyright (C) 2018-2021 Jolla Ltd. - * Copyright (C) 2018-2021 Slava Monich + * Copyright (C) 2018-2022 Jolla Ltd. + * Copyright (C) 2018-2022 Slava Monich * * You may use this file under the terms of BSD license as follows: * @@ -239,7 +239,7 @@ test_basic( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GBinderServicePoll* weakptr = NULL; GBinderServiceManager* manager; GBinderServicePoll* poll; @@ -315,7 +315,7 @@ test_notify1( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServicePoll* weakptr = NULL; GBinderServiceManager* manager; @@ -389,7 +389,7 @@ test_notify2( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServicePoll* weakptr = NULL; GBinderServiceManager* manager; @@ -448,7 +448,7 @@ test_already_there( void) { const char* dev = GBINDER_DEFAULT_BINDER; - GBinderIpc* ipc = gbinder_ipc_new(dev); + GBinderIpc* ipc = gbinder_ipc_new(dev, NULL); GMainLoop* loop = g_main_loop_new(NULL, FALSE); GBinderServicePoll* weakptr = NULL; GBinderServiceManager* manager;