[CodeClean] edge event functions
authorJaeyun <jy1210.jung@samsung.com>
Wed, 7 Sep 2022 11:28:27 +0000 (20:28 +0900)
committerSangjung Woo <again4you@gmail.com>
Thu, 15 Sep 2022 05:22:36 +0000 (14:22 +0900)
Separate edge event functions and related definitions.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
src/CMakeLists.txt
src/libnnstreamer-edge/nnstreamer-edge-aitt.c
src/libnnstreamer-edge/nnstreamer-edge-common.c
src/libnnstreamer-edge/nnstreamer-edge-common.h
src/libnnstreamer-edge/nnstreamer-edge-event.c [new file with mode: 0644]
src/libnnstreamer-edge/nnstreamer-edge-event.h [new file with mode: 0644]
src/libnnstreamer-edge/nnstreamer-edge-internal.c
tests/unittest_nnstreamer-edge.cc

index 0c0727010360f3f09f3f08b62248518f04877106..de9c6346760fcea6de9ffa393081f7f00c06a3b8 100644 (file)
@@ -3,6 +3,7 @@ SET(NNS_EDGE_LIB_NAME nnstreamer-edge)
 SET(NNS_EDGE_SRCS
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-common.c
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-data.c
+    ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-event.c
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-internal.c
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-util.c
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-queue.c
index a4db80182c4c2d83fc8cc0a169dccba97c524fab..04aac49e78a4407d10f02d9eba37fae2b4f8491d 100644 (file)
@@ -15,6 +15,7 @@
 #include <aitt_c.h>
 
 #include "nnstreamer-edge-data.h"
+#include "nnstreamer-edge-event.h"
 #include "nnstreamer-edge-common.h"
 #include "nnstreamer-edge-internal.h"
 #include "nnstreamer-edge-util.h"
index 34c5d7a4f726fab20c17689fe5e44d3b0f529059..840582bc39ec5bf7fdfeb961ecc3551ab1580bdf 100644 (file)
@@ -288,175 +288,3 @@ nns_edge_metadata_deserialize (nns_edge_metadata_s * meta,
 
   return NNS_EDGE_ERROR_NONE;
 }
-
-/**
- * @brief Create nnstreamer edge event.
- */
-int
-nns_edge_event_create (nns_edge_event_e event, nns_edge_event_h * event_h)
-{
-  nns_edge_event_s *ee;
-
-  if (!event_h) {
-    nns_edge_loge ("Invalid param, event_h should not be null.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  if (event <= NNS_EDGE_EVENT_UNKNOWN) {
-    nns_edge_loge ("Invalid param, given event type is invalid.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  ee = (nns_edge_event_s *) calloc (1, sizeof (nns_edge_event_s));
-  if (!ee) {
-    nns_edge_loge ("Failed to allocate memory for edge event.");
-    return NNS_EDGE_ERROR_OUT_OF_MEMORY;
-  }
-
-  ee->magic = NNS_EDGE_MAGIC;
-  ee->event = event;
-
-  *event_h = ee;
-  return NNS_EDGE_ERROR_NONE;
-}
-
-/**
- * @brief Destroy nnstreamer edge event.
- */
-int
-nns_edge_event_destroy (nns_edge_event_h event_h)
-{
-  nns_edge_event_s *ee;
-
-  ee = (nns_edge_event_s *) event_h;
-
-  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
-    nns_edge_loge ("Invalid param, given edge event is invalid.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  ee->magic = NNS_EDGE_MAGIC_DEAD;
-
-  if (ee->data.destroy_cb)
-    ee->data.destroy_cb (ee->data.data);
-
-  SAFE_FREE (ee);
-  return NNS_EDGE_ERROR_NONE;
-}
-
-/**
- * @brief Set event data.
- */
-int
-nns_edge_event_set_data (nns_edge_event_h event_h, void *data, size_t data_len,
-    nns_edge_data_destroy_cb destroy_cb)
-{
-  nns_edge_event_s *ee;
-
-  ee = (nns_edge_event_s *) event_h;
-
-  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
-    nns_edge_loge ("Invalid param, given edge event is invalid.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  if (!data || data_len <= 0) {
-    nns_edge_loge ("Invalid param, data should not be null.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  /* Clear old data and set new one. */
-  if (ee->data.destroy_cb)
-    ee->data.destroy_cb (ee->data.data);
-
-  ee->data.data = data;
-  ee->data.data_len = data_len;
-  ee->data.destroy_cb = destroy_cb;
-
-  return NNS_EDGE_ERROR_NONE;
-}
-
-/**
- * @brief Get the nnstreamer edge event type.
- */
-int
-nns_edge_event_get_type (nns_edge_event_h event_h, nns_edge_event_e * event)
-{
-  nns_edge_event_s *ee;
-
-  ee = (nns_edge_event_s *) event_h;
-
-  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
-    nns_edge_loge ("Invalid param, given edge event is invalid.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  if (!event) {
-    nns_edge_loge ("Invalid param, event should not be null.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  *event = ee->event;
-  return NNS_EDGE_ERROR_NONE;
-}
-
-/**
- * @brief Parse edge event (NNS_EDGE_EVENT_NEW_DATA_RECEIVED) and get received data.
- * @note Caller should release returned edge data using nns_edge_data_destroy().
- */
-int
-nns_edge_event_parse_new_data (nns_edge_event_h event_h,
-    nns_edge_data_h * data_h)
-{
-  nns_edge_event_s *ee;
-
-  ee = (nns_edge_event_s *) event_h;
-
-  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
-    nns_edge_loge ("Invalid param, given edge event is invalid.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  if (!data_h) {
-    nns_edge_loge ("Invalid param, data_h should not be null.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  if (ee->event != NNS_EDGE_EVENT_NEW_DATA_RECEIVED) {
-    nns_edge_loge ("The edge event has invalid event type.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  return nns_edge_data_copy ((nns_edge_data_h) ee->data.data, data_h);
-}
-
-/**
- * @brief Parse edge event (NNS_EDGE_EVENT_CAPABILITY) and get capability string.
- * @note Caller should release returned string using free().
- */
-int
-nns_edge_event_parse_capability (nns_edge_event_h event_h, char **capability)
-{
-  nns_edge_event_s *ee;
-
-  ee = (nns_edge_event_s *) event_h;
-
-  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
-    nns_edge_loge ("Invalid param, given edge event is invalid.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  if (!capability) {
-    nns_edge_loge ("Invalid param, capability should not be null.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  if (ee->event != NNS_EDGE_EVENT_CAPABILITY) {
-    nns_edge_loge ("The edge event has invalid event type.");
-    return NNS_EDGE_ERROR_INVALID_PARAMETER;
-  }
-
-  *capability = nns_edge_strdup (ee->data.data);
-
-  return NNS_EDGE_ERROR_NONE;
-}
index 010c506d2016c6f367e4a92296e48c77bd6f9508..d64838615e266b5ed24794d8053390bf7abdec9f 100644 (file)
@@ -57,24 +57,6 @@ int nns_edge_metadata_serialize (nns_edge_metadata_s *meta, void **data, size_t
  */
 int nns_edge_metadata_deserialize (nns_edge_metadata_s *meta, void *data, size_t data_len);
 
-/**
- * @brief Create nnstreamer edge event.
- * @note This is internal function for edge event.
- */
-int nns_edge_event_create (nns_edge_event_e event, nns_edge_event_h * event_h);
-
-/**
- * @brief Destroy nnstreamer edge event.
- * @note This is internal function for edge event.
- */
-int nns_edge_event_destroy (nns_edge_event_h event_h);
-
-/**
- * @brief Set event data.
- * @note This is internal function for edge event.
- */
-int nns_edge_event_set_data (nns_edge_event_h event_h, void *data, size_t data_len, nns_edge_data_destroy_cb destroy_cb);
-
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
diff --git a/src/libnnstreamer-edge/nnstreamer-edge-event.c b/src/libnnstreamer-edge/nnstreamer-edge-event.c
new file mode 100644 (file)
index 0000000..0a243e2
--- /dev/null
@@ -0,0 +1,187 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+/**
+ * Copyright (C) 2022 Samsung Electronics Co., Ltd. All Rights Reserved.
+ *
+ * @file   nnstreamer-edge-event.c
+ * @date   7 Sep 2022
+ * @brief  Util functions for nnstreamer edge event.
+ * @see    https://github.com/nnstreamer/nnstreamer
+ * @author Gichan Jang <gichan2.jang@samsung.com>
+ * @bug    No known bugs except for NYI items
+ */
+
+#include "nnstreamer-edge-data.h"
+#include "nnstreamer-edge-event.h"
+#include "nnstreamer-edge-internal.h"
+#include "nnstreamer-edge-log.h"
+#include "nnstreamer-edge-util.h"
+
+/**
+ * @brief Create nnstreamer edge event.
+ */
+int
+nns_edge_event_create (nns_edge_event_e event, nns_edge_event_h * event_h)
+{
+  nns_edge_event_s *ee;
+
+  if (!event_h) {
+    nns_edge_loge ("Invalid param, event_h should not be null.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  if (event <= NNS_EDGE_EVENT_UNKNOWN) {
+    nns_edge_loge ("Invalid param, given event type is invalid.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  ee = (nns_edge_event_s *) calloc (1, sizeof (nns_edge_event_s));
+  if (!ee) {
+    nns_edge_loge ("Failed to allocate memory for edge event.");
+    return NNS_EDGE_ERROR_OUT_OF_MEMORY;
+  }
+
+  ee->magic = NNS_EDGE_MAGIC;
+  ee->event = event;
+
+  *event_h = ee;
+  return NNS_EDGE_ERROR_NONE;
+}
+
+/**
+ * @brief Destroy nnstreamer edge event.
+ */
+int
+nns_edge_event_destroy (nns_edge_event_h event_h)
+{
+  nns_edge_event_s *ee;
+
+  ee = (nns_edge_event_s *) event_h;
+
+  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
+    nns_edge_loge ("Invalid param, given edge event is invalid.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  ee->magic = NNS_EDGE_MAGIC_DEAD;
+
+  if (ee->data.destroy_cb)
+    ee->data.destroy_cb (ee->data.data);
+
+  SAFE_FREE (ee);
+  return NNS_EDGE_ERROR_NONE;
+}
+
+/**
+ * @brief Set event data.
+ */
+int
+nns_edge_event_set_data (nns_edge_event_h event_h, void *data, size_t data_len,
+    nns_edge_data_destroy_cb destroy_cb)
+{
+  nns_edge_event_s *ee;
+
+  ee = (nns_edge_event_s *) event_h;
+
+  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
+    nns_edge_loge ("Invalid param, given edge event is invalid.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  if (!data || data_len <= 0) {
+    nns_edge_loge ("Invalid param, data should not be null.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  /* Clear old data and set new one. */
+  if (ee->data.destroy_cb)
+    ee->data.destroy_cb (ee->data.data);
+
+  ee->data.data = data;
+  ee->data.data_len = data_len;
+  ee->data.destroy_cb = destroy_cb;
+
+  return NNS_EDGE_ERROR_NONE;
+}
+
+/**
+ * @brief Get the nnstreamer edge event type.
+ */
+int
+nns_edge_event_get_type (nns_edge_event_h event_h, nns_edge_event_e * event)
+{
+  nns_edge_event_s *ee;
+
+  ee = (nns_edge_event_s *) event_h;
+
+  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
+    nns_edge_loge ("Invalid param, given edge event is invalid.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  if (!event) {
+    nns_edge_loge ("Invalid param, event should not be null.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  *event = ee->event;
+  return NNS_EDGE_ERROR_NONE;
+}
+
+/**
+ * @brief Parse edge event (NNS_EDGE_EVENT_NEW_DATA_RECEIVED) and get received data.
+ */
+int
+nns_edge_event_parse_new_data (nns_edge_event_h event_h,
+    nns_edge_data_h * data_h)
+{
+  nns_edge_event_s *ee;
+
+  ee = (nns_edge_event_s *) event_h;
+
+  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
+    nns_edge_loge ("Invalid param, given edge event is invalid.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  if (!data_h) {
+    nns_edge_loge ("Invalid param, data_h should not be null.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  if (ee->event != NNS_EDGE_EVENT_NEW_DATA_RECEIVED) {
+    nns_edge_loge ("The edge event has invalid event type.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  return nns_edge_data_copy ((nns_edge_data_h) ee->data.data, data_h);
+}
+
+/**
+ * @brief Parse edge event (NNS_EDGE_EVENT_CAPABILITY) and get capability string.
+ */
+int
+nns_edge_event_parse_capability (nns_edge_event_h event_h, char **capability)
+{
+  nns_edge_event_s *ee;
+
+  ee = (nns_edge_event_s *) event_h;
+
+  if (!NNS_EDGE_MAGIC_IS_VALID (ee)) {
+    nns_edge_loge ("Invalid param, given edge event is invalid.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  if (!capability) {
+    nns_edge_loge ("Invalid param, capability should not be null.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  if (ee->event != NNS_EDGE_EVENT_CAPABILITY) {
+    nns_edge_loge ("The edge event has invalid event type.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
+  *capability = nns_edge_strdup (ee->data.data);
+
+  return NNS_EDGE_ERROR_NONE;
+}
diff --git a/src/libnnstreamer-edge/nnstreamer-edge-event.h b/src/libnnstreamer-edge/nnstreamer-edge-event.h
new file mode 100644 (file)
index 0000000..29ffef2
--- /dev/null
@@ -0,0 +1,44 @@
+/* SPDX-License-Identifier: Apache-2.0 */
+/**
+ * Copyright (C) 2022 Samsung Electronics Co., Ltd. All Rights Reserved.
+ *
+ * @file   nnstreamer-edge-event.h
+ * @date   7 Sep 2022
+ * @brief  Util functions for nnstreamer edge event.
+ * @see    https://github.com/nnstreamer/nnstreamer
+ * @author Gichan Jang <gichan2.jang@samsung.com>
+ * @bug    No known bugs except for NYI items
+ * @note   This file is internal header for nnstreamer edge utils. DO NOT export this file.
+ */
+
+#ifndef __NNSTREAMER_EDGE_EVENT_H__
+#define __NNSTREAMER_EDGE_EVENT_H__
+
+#include "nnstreamer-edge.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/**
+ * @brief Create nnstreamer edge event.
+ * @note This is internal function for edge event.
+ */
+int nns_edge_event_create (nns_edge_event_e event, nns_edge_event_h *event_h);
+
+/**
+ * @brief Destroy nnstreamer edge event.
+ * @note This is internal function for edge event.
+ */
+int nns_edge_event_destroy (nns_edge_event_h event_h);
+
+/**
+ * @brief Set event data.
+ * @note This is internal function for edge event.
+ */
+int nns_edge_event_set_data (nns_edge_event_h event_h, void *data, size_t data_len, nns_edge_data_destroy_cb destroy_cb);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+#endif /* __NNSTREAMER_EDGE_EVENT_H__ */
index 4726c87b759c10693a844600b49331f04ce3e860..4d763c8b1c50d9a29a71517897e5eae750ee96ed 100644 (file)
@@ -15,6 +15,7 @@
 #include <sys/poll.h>
 
 #include "nnstreamer-edge-data.h"
+#include "nnstreamer-edge-event.h"
 #include "nnstreamer-edge-log.h"
 #include "nnstreamer-edge-common.h"
 #include "nnstreamer-edge-util.h"
index 33b505feeb488c2b5fd98e3f0156f71ec65b2867..68f45b9fc411156ec9248a98274b1fc095fcbdf3 100644 (file)
@@ -10,6 +10,7 @@
 #include <gtest/gtest.h>
 #include "nnstreamer-edge.h"
 #include "nnstreamer-edge-data.h"
+#include "nnstreamer-edge-event.h"
 #include "nnstreamer-edge-common.h"
 #include "nnstreamer-edge-internal.h"
 #include "nnstreamer-edge-log.h"