Fix sample code in documentation
authorJihoi Kim <jihoi.kim@samsung.com>
Wed, 14 May 2025 11:42:37 +0000 (20:42 +0900)
committerJihoi Kim <jihoi.kim@samsung.com>
Wed, 14 May 2025 11:42:37 +0000 (20:42 +0900)
Signed-off-by: Jihoi Kim <jihoi.kim@samsung.com>
include/service.h

index 027eb0a5c2d685ffa4bd5eafee13891a4d4e2ecb..4dddd0cf0bac26b200f82bb5b5ae618a06fc2adb 100644 (file)
@@ -112,11 +112,15 @@ typedef struct {
 #undef EXPORT
 #define EXPORT __attribute__((visibility("default")))
 
+service_h __service;
+
 static void ServiceCreateCb(service_h service, void* user_data) {
+  __service = service;
   // ...
 }
 
 static void ServiceDestroyCb(service_h service, void* user_data) {
+  __service = nullptr;
   // ...
 }
 
@@ -141,7 +145,9 @@ extern "C" int USD_MOD_INIT(const char* name) {
   return 0;
 }
 
-extern "C" void USD_MOD_SHUTDOWN(void) {
+extern "C" void USD_MOD_SHUTDOWN(const char* name) {
+  LOGD("USD_MOD_SHUTDOWN");
+  service_unregister(name);
   // ...
 }
  * @endcode
@@ -170,18 +176,16 @@ int service_register(const char *name, service_lifecycle_callback_s *callback,
 
 static char* __name;
 
-extern "C" service_h USD_MOD_INIT(const char* name) {
+extern "C" int USD_MOD_INIT(const char* name) {
   LOGD("USD_MOD_INIT. name=%s", name);
-  __name = strdup(name);
   // ...
-  return service;
+  return 0;
 }
 
-extern "C" void USD_MOD_SHUTDOWN(void) {
+extern "C" void USD_MOD_SHUTDOWN(const char* name) {
   LOGD("USD_MOD_SHUTDOWN");
-  service_unregister(__name);
-  free(__name);
-  __name = nullptr;
+  service_unregister(name);
+  // ...
 }
  * @endcode
  */
@@ -215,18 +219,16 @@ static void ServiceDestroyCb(service_h service, void* user_data) {
   // ...
 }
 
-extern "C" service_h USD_MOD_INIT(const char* name) {
+extern "C" int USD_MOD_INIT(const char* name) {
   LOGD("USD_MOD_INIT. name=%s", name);
   // ...
-  return service;
+  return 0;
 }
 
-extern "C" void USD_MOD_SHUTDOWN(void) {
+extern "C" void USD_MOD_SHUTDOWN(const char* name) {
   LOGD("USD_MOD_SHUTDOWN");
-  if (__service) {
-    service_quit(__service);
-    __service = nullptr;
-  }
+  service_unregister(name);
+  // ...
 }
  * @endcode
  */
@@ -290,13 +292,15 @@ void SendMessage(const char* message) {
   bundle_free(envelope);
 }
 
-extern "C" service_h USD_MOD_INIT(const char* name) {
+extern "C" int USD_MOD_INIT(const char* name) {
   LOGD("USD_MOD_INIT. name=%s", name);
   // ...
-  return service;
+  return 0;
 }
 
-extern "C" void USD_MOD_SHUTDOWN(void) {
+extern "C" void USD_MOD_SHUTDOWN(const char* name) {
+  LOGD("USD_MOD_SHUTDOWN");
+  service_unregister(name);
   // ...
 }
  * @endcode