Added CAPIs for C# thread handling
[platform/core/api/connection.git] / test / connection_test.c
index 2abebf0..350bae9 100755 (executable)
@@ -1029,6 +1029,65 @@ int  test_deregister_client(void)
        return 1;
 }
 
+int test_register_client_cs(void)
+{
+       int tid = 0;
+       test_get_user_int("Input a TID in C# API :", &tid);
+
+       int err = connection_create_cs(tid, &connection);
+
+       if (CONNECTION_ERROR_NONE == err) {
+               connection_set_type_changed_cb(connection, test_type_changed_callback, NULL);
+               connection_set_ip_address_changed_cb(connection, test_ip_changed_callback, NULL);
+               connection_set_proxy_address_changed_cb(connection, test_proxy_changed_callback, NULL);
+               connection_set_ethernet_cable_state_chaged_cb(connection,
+                                       test_get_ethernet_cable_state_callback, NULL);
+       } else {
+               printf("Client registration failed [%s]\n", test_print_error(err));
+               return -1;
+       }
+
+       printf("Client registration success\n");
+       return 1;
+}
+
+int  test_deregister_client_cs(void)
+{
+       int rv = 0;
+       GSList *list;
+       connection_profile_h profile;
+       int tid = 0;
+
+       test_get_user_int("Input a TID in C# API :", &tid);
+
+       if (connection != NULL)
+               rv = connection_destroy_cs(tid, connection);
+       else {
+               printf("Cannot deregister : Handle is NULL\n");
+               rv = CONNECTION_ERROR_INVALID_OPERATION;
+       }
+
+       if (rv != CONNECTION_ERROR_NONE) {
+               printf("Client deregistration fail [%s]\n", test_print_error(rv));
+               return -1;
+       }
+
+       if (state_cb_list) {
+               for (list = state_cb_list; list; list = list->next) {
+                       profile = list->data;
+                       connection_profile_destroy(profile);
+               }
+
+               g_slist_free(state_cb_list);
+               state_cb_list = NULL;
+       }
+
+       connection = NULL;
+       printf("Client deregistration success\n");
+
+       return 1;
+}
+
 int test_get_network_state(void)
 {
        int rv = 0;
@@ -2398,6 +2457,8 @@ gboolean test_thread(GIOChannel *source, GIOCondition condition, gpointer data)
                printf("N   - Get MPTCP Path Manager (internal)\n");
                printf("O   - Set MPTCP Scheduler (internal)\n");
                printf("P   - Get MPTCP Scheduler (internal)\n");
+               printf(LOG_GREEN "Q   - Create Handle and set callbacks in C# API\n" LOG_END);
+               printf("R   - Destroy Handle(unset callbacks automatically in C# API)\n");
                printf(LOG_RED "0   - Exit \n" LOG_END);
                printf("ENTER   - Show options menu.......\n");
        }
@@ -2549,6 +2610,12 @@ gboolean test_thread(GIOChannel *source, GIOCondition condition, gpointer data)
        case 'P':
                rv = test_mptcp_get_scheduler();
                break;
+       case 'Q':
+               rv = test_register_client_cs();
+               break;
+       case 'R':
+               rv = test_deregister_client_cs();
+               break;
 
        }