Remove thread_network_create/destroy_operational_network APIs 40/273140/1
authorhyunuk.tak <hyunuk.tak@samsung.com>
Wed, 30 Mar 2022 05:22:12 +0000 (14:22 +0900)
committerhyunuk.tak <hyunuk.tak@samsung.com>
Thu, 31 Mar 2022 01:00:35 +0000 (10:00 +0900)
Change-Id: I085d2ebc8b1a8967fb266606f0fc178458ea754e
Signed-off-by: hyunuk.tak <hyunuk.tak@samsung.com>
include/thread.h
src/thread-network.c
tests/thread-test/thread-network.c
tests/thread-test/thread-scenarios.c
tests/unittest/thread-unittest-network.cpp

index b0745ac..400f606 100644 (file)
@@ -377,7 +377,8 @@ int thread_network_get_active_dataset_tlvs(thread_instance_h instance,
  * @pre thread API must be initialized with thread_initialize().
  * @pre Active Operational Dataset must be set using thread_set_active_dataset_tlvs().
  *
- * @see thread_network_create_operational_network()
+ * @see thread_network_create()
+ * @see thread_set_operational_network()
  * @see thread_set_active_dataset_tlvs()
  */
 int thread_network_get_panid(thread_instance_h instance, uint16_t *panid);
@@ -715,39 +716,6 @@ int thread_set_operational_network(thread_instance_h instance, thread_network_h
 int thread_unset_operational_network(thread_instance_h instance);
 
 /**
- * @ingroup CAPI_NETWORK_THREAD_NETWORK_MODULE
- * @brief Form an operational Thread Network
- * @since_tizen 7.0
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #THREAD_ERROR_NONE  Successful
- * @retval #THREAD_ERROR_NOT_INITIALIZED  Not initialized
- * @retval #THREAD_ERROR_OPERATION_FAILED  Operation failed
- * @retval #THREAD_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre thread API must be initialized with thread_initialize().
- */
-int thread_network_create_operational_network(thread_instance_h instance,
-       const char *name, const char *key, const char *pskc, uint32_t channel,
-       uint64_t extended_panid, uint16_t panid, thread_network_h *network);
-
-/**
- * @ingroup CAPI_NETWORK_THREAD_NETWORK_MODULE
- * @brief Destroy an operational Thread Network
- * @since_tizen 7.0
- *
- * @return 0 on success, otherwise a negative error value.
- * @retval #THREAD_ERROR_NONE  Successful
- * @retval #THREAD_ERROR_NOT_INITIALIZED  Not initialized
- * @retval #THREAD_ERROR_OPERATION_FAILED  Operation failed
- * @retval #THREAD_ERROR_NOT_SUPPORTED  Not supported
- *
- * @pre thread API must be initialized with thread_initialize().
- * @see thread_network_create_operational_network()
- */
-int thread_network_destroy_operational_network(thread_instance_h instance, thread_network_h network);
-
-/**
  * @ingroup CAPI_NETWORK_THREAD_JOINER_MODULE
  * @brief Start Thread joining with detailed informations
  * @since_tizen 7.0
index 1c2fa97..da5b674 100644 (file)
@@ -243,90 +243,6 @@ int thread_unset_operational_network(thread_instance_h instance)
        return THREAD_ERROR_NONE;
 }
 
-/* Network leader/Creator */
-int thread_network_create_operational_network(thread_instance_h instance,
-       const char *name, const char *key, const char *pskc, uint32_t channel,
-       uint64_t extended_panid, uint16_t panid, thread_network_h *network)
-{
-       FUNC_ENTRY;
-       THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
-       THREAD_CHECK_INIT_STATUS();
-       THREAD_VALIDATE_INPUT_PARAMETER(instance);
-       THREAD_VALIDATE_INPUT_PARAMETER(name);
-       THREAD_VALIDATE_INPUT_PARAMETER(key);
-       THREAD_VALIDATE_INPUT_PARAMETER(pskc);
-       THREAD_VALIDATE_INPUT_PARAMETER(network);
-
-       retv_if(strlen(name) > THREAD_NETWORK_NAME_MAX,
-                               THREAD_ERROR_INVALID_PARAMETER);
-       retv_if(strlen(key) > THREAD_NETWORK_KEY_STRING_MAX,
-                               THREAD_ERROR_INVALID_PARAMETER);
-       retv_if(strlen(pskc) > THREAD_NETWORK_PSKC_STRING_MAX,
-                               THREAD_ERROR_INVALID_PARAMETER);
-
-       THREAD_DBG("Network Name: %s", name);
-       THREAD_DBG("Network key: %s", key);
-       THREAD_DBG("Network pskc: %s", pskc);
-       THREAD_DBG("Network channel: 0x%8.8x", channel);
-       THREAD_DBG("Network extended_panid: %zu", (size_t)extended_panid);
-       THREAD_DBG("Network panid: %u", panid);
-
-       /* Free existing current network */
-       thread_instance_s *current_instance = instance;
-       _thread_network_free(current_instance->network);
-       current_instance->network = NULL;
-
-       /* Create New Network */
-       thread_network_s *new_network = NULL;
-       new_network = g_malloc0(sizeof(thread_network_s));
-       if (!new_network) {
-               /* LCOV_EXCL_START */
-               THREAD_ERR("g_malloc0 failed");
-               return THREAD_ERROR_OUT_OF_MEMORY;
-               /* LCOV_EXCL_STOP */
-       }
-
-       new_network->is_network_active = FALSE;
-       (void)g_strlcpy(new_network->name, name, THREAD_NETWORK_NAME_MAX + 1);
-       (void)g_strlcpy(new_network->key, key, THREAD_NETWORK_KEY_STRING_MAX + 1);
-       (void)g_strlcpy(new_network->pskc, pskc, THREAD_NETWORK_PSKC_STRING_MAX + 1);
-       new_network->channel = channel;
-       new_network->extended_panid = extended_panid;
-       new_network->panid = panid;
-       *network = (thread_network_h)new_network;
-
-       current_instance->network = *network;
-
-       FUNC_EXIT;
-       return THREAD_ERROR_NONE;
-}
-
-int thread_network_destroy_operational_network(thread_instance_h instance,
-       thread_network_h network)
-{
-       FUNC_ENTRY;
-       THREAD_CHECK_SUPPORTED_FEATURE(THREAD_FEATURE_COMMON);
-       THREAD_CHECK_INIT_STATUS();
-       THREAD_VALIDATE_INPUT_PARAMETER(instance);
-       THREAD_VALIDATE_INPUT_PARAMETER(network);
-
-       thread_instance_s *current_instance = instance;
-       thread_network_s *current_network = network;
-
-       if (current_network->is_network_active) {
-               THREAD_DBG("Thread network active, can't be destroyed:: \
-                                               First Reset the Network");
-               return THREAD_ERROR_OPERATION_FAILED;
-       }
-
-       _thread_network_free(current_network);
-       current_network = NULL;
-       current_instance->network = NULL;
-
-       FUNC_EXIT;
-       return THREAD_ERROR_NONE;
-}
-
 int thread_network_set_active_dataset_tlvs(thread_instance_h instance,
        const uint8_t *tlvs_buffer, int buf_length)
 {
index eb3a3ba..7b9a993 100644 (file)
@@ -58,11 +58,17 @@ static int run_thread_network_destroy_operational_network(MManager *mm, struct m
        if (g_instance == NULL)
                goto OUT;
 
-       int ret = thread_network_destroy_operational_network(g_instance, g_network);
+       int ret = thread_unset_operational_network(g_instance);
        if (ret == THREAD_ERROR_NONE)
-               msg("thread_network_destroy_operational_network success");
+               msg("thread_unset_operational_network success");
        else
-               msg("thread_network_destroy_operational_network failed");
+               msg("thread_unset_operational_network failed");
+
+       ret = thread_network_destroy(g_network);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_destroy success");
+       else
+               msg("thread_network_destroy failed");
 OUT:
        FUNC_EXIT;
        return RET_SUCCESS;
@@ -79,12 +85,53 @@ static int run_thread_network_create_operational_network(MManager *mm, struct me
        sscanf(g_str_extended_panid, "%zu", (size_t *)&g_extended_panid);
        sscanf(g_str_panid, "%hu", &g_panid);
 
-       int ret = thread_network_create_operational_network(g_instance, g_name, g_key,
-                       g_pskc, g_channel, g_extended_panid, g_panid, &g_network);
+       int ret = thread_network_create(&g_network);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_create success");
+       else
+               msg("thread_network_create failed");
+
+       ret = thread_network_set_name(g_network, g_name);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_set_name success");
+       else
+               msg("thread_network_set_name failed");
+
+       ret = thread_network_set_key(g_network, g_key);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_set_key success");
+       else
+               msg("thread_network_set_key failed");
+
+       ret = thread_network_set_pskc(g_network, g_pskc);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_set_pskc success");
+       else
+               msg("thread_network_set_pskc failed");
+
+       ret = thread_network_set_channel(g_network, g_channel);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_set_channel success");
+       else
+               msg("thread_network_set_channel failed");
+
+       ret = thread_network_set_extended_panid(g_network, g_extended_panid);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_set_extended_panid success");
+       else
+               msg("thread_network_set_extended_panid failed");
+
+       ret = thread_network_set_panid(g_network, g_panid);
+       if (ret == THREAD_ERROR_NONE)
+               msg("thread_network_set_panid success");
+       else
+               msg("thread_network_set_panid failed");
+
+       ret = thread_set_operational_network(g_instance, g_network);
        if (ret == THREAD_ERROR_NONE)
-               msg("thread_network_create_operational_network success");
+               msg("thread_set_operational_network success");
        else
-               msg("thread_network_create_operational_network failed");
+               msg("thread_set_operational_network failed");
 OUT:
        FUNC_EXIT;
        return RET_SUCCESS;
index 4b9dec3..26d15f1 100644 (file)
@@ -164,9 +164,49 @@ static int run_thread_start_leader_as_commissioner(MManager *mm, struct menu_dat
        }
 
        /* create operational_network */
-       ret = thread_network_create_operational_network(g_instance, g_name,
-                               g_key, g_pskc, g_channel, g_extended_panid,
-                               g_panid, &g_network);
+       ret = thread_network_create(&g_network);
+       if (ret != THREAD_ERROR_NONE) {
+               msg("Failed: %s", _thread_get_error_message(ret));
+               goto OUT;
+       }
+
+       ret = thread_network_set_name(g_network, g_name);
+       if (ret != THREAD_ERROR_NONE) {
+               msg("Failed: %s", _thread_get_error_message(ret));
+               goto OUT;
+       }
+
+       ret = thread_network_set_key(g_network, g_key);
+       if (ret != THREAD_ERROR_NONE) {
+               msg("Failed: %s", _thread_get_error_message(ret));
+               goto OUT;
+       }
+
+       ret = thread_network_set_pskc(g_network, g_pskc);
+       if (ret != THREAD_ERROR_NONE) {
+               msg("Failed: %s", _thread_get_error_message(ret));
+               goto OUT;
+       }
+
+       ret = thread_network_set_channel(g_network, g_channel);
+       if (ret != THREAD_ERROR_NONE) {
+               msg("Failed: %s", _thread_get_error_message(ret));
+               goto OUT;
+       }
+
+       ret = thread_network_set_extended_panid(g_network, g_extended_panid);
+       if (ret != THREAD_ERROR_NONE) {
+               msg("Failed: %s", _thread_get_error_message(ret));
+               goto OUT;
+       }
+
+       ret = thread_network_set_panid(g_network, g_panid);
+       if (ret != THREAD_ERROR_NONE) {
+               msg("Failed: %s", _thread_get_error_message(ret));
+               goto OUT;
+       }
+
+       ret = thread_set_operational_network(g_instance, g_network);
        if (ret != THREAD_ERROR_NONE) {
                msg("Failed: %s", _thread_get_error_message(ret));
                goto OUT;
index 08c4078..bf2550b 100644 (file)
@@ -82,8 +82,6 @@ protected:
                                thread_network_destroy(network);
                                thread_unset_operational_network(instance);
                        }
-                       if (operationalNetwork)
-                               thread_network_destroy_operational_network(instance, operationalNetwork);
                        thread_disable(instance);
                }
 
@@ -111,52 +109,6 @@ private:
        }
 };
 
-TEST_F(ThreadNetworkTest, CreateOperationalNetworkNotInitialized)
-{
-       EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
-       EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
-               thread_network_create_operational_network(instance, name,
-                       key, pskc, channel, extendedPanId, panId, &operationalNetwork));
-}
-
-TEST_F(ThreadNetworkTest, CreateOperationalNetworkInvalidParameter)
-{
-       EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
-               thread_network_create_operational_network(instance, name,
-                       key, pskc, channel, extendedPanId, panId, &operationalNetwork));
-}
-
-TEST_F(ThreadNetworkTest, CreateOperationalNetworkErrorNone)
-{
-       EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
-       EXPECT_EQ(THREAD_ERROR_NONE,
-               thread_network_create_operational_network(instance, name,
-                       key, pskc, channel, extendedPanId, panId, &operationalNetwork));
-}
-
-TEST_F(ThreadNetworkTest, DestroyOperationalNetworkNotInitialized)
-{
-       EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
-       EXPECT_EQ(THREAD_ERROR_NOT_INITIALIZED,
-               thread_network_destroy_operational_network(instance, operationalNetwork));
-}
-
-TEST_F(ThreadNetworkTest, DestroyOperationalNetworkInvalidParameter)
-{
-       EXPECT_EQ(THREAD_ERROR_INVALID_PARAMETER,
-               thread_network_destroy_operational_network(instance, operationalNetwork));
-}
-
-TEST_F(ThreadNetworkTest, DestroyOperationalNetworkErrorNone)
-{
-       EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
-       EXPECT_EQ(THREAD_ERROR_NONE,
-               thread_network_create_operational_network(instance, name,
-                       key, pskc, channel, extendedPanId, panId, &operationalNetwork));
-       EXPECT_EQ(THREAD_ERROR_NONE,
-               thread_network_destroy_operational_network(instance, operationalNetwork));
-}
-
 TEST_F(ThreadNetworkTest, SetActiveDatasetTlvsNotInitialized)
 {
        EXPECT_EQ(THREAD_ERROR_NONE, thread_deinitialize());
@@ -232,9 +184,9 @@ TEST_F(ThreadNetworkTest, DetachInvalidParameter)
 TEST_F(ThreadNetworkTest, DetachErrorNone)
 {
        EXPECT_EQ(THREAD_ERROR_NONE, thread_enable(&instance));
+       EXPECT_EQ(THREAD_ERROR_NONE, thread_network_create(&network));
        EXPECT_EQ(THREAD_ERROR_NONE,
-               thread_network_create_operational_network(instance, name,
-                       key, pskc, channel, extendedPanId, panId, &operationalNetwork));
+               thread_set_operational_network(instance, network));
        EXPECT_EQ(THREAD_ERROR_NONE, thread_network_detach(instance));
 }