X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=service%2Fresource-encapsulation%2Fexamples%2Ftizen%2FRESampleServerApp%2Fsrc%2Freserver.cpp;h=4e7461749cff4059cc7b421be409b38d449d3585;hb=3e9402ad71cb3e93266a77796f44d17bab9853fd;hp=6f837c5d7b93ca5c23203e6dfdb84e4762f492b1;hpb=17c68b2fd1e74586f85e552eeab4e32dc121f8a0;p=platform%2Fupstream%2Fiotivity.git diff --git a/service/resource-encapsulation/examples/tizen/RESampleServerApp/src/reserver.cpp b/service/resource-encapsulation/examples/tizen/RESampleServerApp/src/reserver.cpp index 6f837c5..4e74617 100644 --- a/service/resource-encapsulation/examples/tizen/RESampleServerApp/src/reserver.cpp +++ b/service/resource-encapsulation/examples/tizen/RESampleServerApp/src/reserver.cpp @@ -30,10 +30,16 @@ using namespace std; using namespace OC; using namespace OIC::Service; +# define checkServer NULL!=server?true:false + RCSResourceObject::Ptr server; +static bool serverStarted = false; static bool serverCallback = false; +int isPresenceOn = PRESENCE_ON; -# define checkServer NULL!=server?true:false +std::string g_resourceUri; +std::string g_resourceType; +std::string g_attributeKey; static Evas_Object *log_entry = NULL; static Evas_Object *list = NULL; @@ -70,17 +76,18 @@ void printAttribute(const RCSResourceAttributes &attrs) static void onDestroy() { - server = NULL; string logMessage = "SERVER DESTROYED"; - if(isPresenceOn == PRESENCE_ON) + if(true == serverStarted) { - OCPlatform::stopPresence(); - } + server = nullptr; + if(isPresenceOn == PRESENCE_ON) + { + OCPlatform::stopPresence(); + } - dlog_print(DLOG_INFO, LOG_TAG, "#### %s", logMessage.c_str()); - ecore_main_loop_thread_safe_call_sync((void * ( *)(void *))updateGroupLog, - &logMessage); + serverStarted = false; + } } //hander for get request (if developer choose second option for resource Creation) @@ -129,16 +136,16 @@ static void list_selected_cb(void *data, Evas_Object *obj, void *event_info) elm_list_item_selected_set(it, EINA_FALSE); } -static void increaseTemp(void *data, Evas_Object *obj, void *event_info) +static void increaseAttribute(void *data, Evas_Object *obj, void *event_info) { string logMessage = ""; if (checkServer) { RCSResourceObject::LockGuard lock(server); - server->getAttributes()[attributeKey] = server->getAttribute(attributeKey) + 10; - string tempString = std::to_string(server->getAttribute(attributeKey)); - logMessage = "TEMPERATURE CHANGED : " + tempString + "
"; + server->getAttributes()[g_attributeKey] = server->getAttribute(g_attributeKey) + 1; + string tempString = std::to_string(server->getAttribute(g_attributeKey)); + logMessage = g_attributeKey + " CHANGED : " + tempString + "
"; } else @@ -152,16 +159,16 @@ static void increaseTemp(void *data, Evas_Object *obj, void *event_info) &logMessage); } -static void decreaseTemp(void *data, Evas_Object *obj, void *event_info) +static void decreaseAttribute(void *data, Evas_Object *obj, void *event_info) { string logMessage = ""; if (checkServer) { RCSResourceObject::LockGuard lock(server); - server->getAttributes()[attributeKey] = server->getAttribute(attributeKey) - 10; - string tempString = std::to_string(server->getAttribute(attributeKey)); - logMessage = "TEMPERATURE CHANGED : " + tempString + "
"; + server->getAttributes()[g_attributeKey] = server->getAttribute(g_attributeKey) - 1; + string tempString = std::to_string(server->getAttribute(g_attributeKey)); + logMessage = g_attributeKey + " CHANGED : " + tempString + "
"; } else { @@ -180,8 +187,8 @@ static void initServer() try { - server = RCSResourceObject::Builder(resourceUri, resourceType, - resourceInterface).setDiscoverable(true).setObservable(true).build(); + server = RCSResourceObject::Builder(g_resourceUri, g_resourceType, + RESOURCE_INTERFACE).setDiscoverable(true).setObservable(true).build(); } catch (const RCSPlatformException &e) { @@ -190,14 +197,14 @@ static void initServer() server->setAutoNotifyPolicy(RCSResourceObject::AutoNotifyPolicy::UPDATED); server->setSetRequestHandlerPolicy(RCSResourceObject::SetRequestHandlerPolicy::NEVER); - server->setAttribute(attributeKey, DEFALUT_VALUE); + server->setAttribute(g_attributeKey, DEFALUT_VALUE); string logMessage = "SERVER CREATED
"; dlog_print(DLOG_INFO, LOG_TAG, "#### %s", logMessage.c_str()); ecore_main_loop_thread_safe_call_sync((void * ( *)(void *))updateGroupLog, &logMessage); - ecore_main_loop_thread_safe_call_sync((void * ( *)(void *))showGroupAPIs, NULL); + ecore_main_loop_thread_safe_call_sync((void * ( *)(void *))showAPIs, NULL); } static void @@ -213,30 +220,30 @@ popup_set_clicked_cb(void *data, Evas_Object *obj, void *event_info) { datetime_popup_fields *popup_fields = (datetime_popup_fields *)data; Evas_Object *entry = popup_fields->entry; - const char *temperatureString = elm_entry_entry_get(entry); + const char *attributeString = elm_entry_entry_get(entry); // Remove white spaces(if any) at the beginning string logMessage = ""; int beginning = 0; - while (temperatureString[beginning] == ' ') + while (attributeString[beginning] == ' ') { (beginning)++; } - int len = strlen(temperatureString); - if (NULL == temperatureString || 1 > len) + int len = strlen(attributeString); + if (NULL == attributeString || 1 > len) { - dlog_print(DLOG_INFO, LOG_TAG, "#### Read NULL Temperature Value"); - logMessage = "Temperature Cannot be NULL
"; + dlog_print(DLOG_INFO, LOG_TAG, "#### Read NULL Value"); + logMessage = g_attributeKey + "Cannot be NULL
"; } else { if (checkServer) { RCSResourceObject::LockGuard lock(server); - int temperate = atoi(temperatureString); - server->getAttributes()[attributeKey] = temperate; - logMessage = "TEMPERATURE CHANGED : " + to_string(server->getAttribute - (attributeKey)) + "
"; + int attributeInt = atoi(attributeString); + server->getAttributes()[g_attributeKey] = attributeInt; + logMessage = g_attributeKey + " CHANGED : " + to_string(server->getAttribute + (g_attributeKey)) + "
"; } else { @@ -253,7 +260,7 @@ popup_set_clicked_cb(void *data, Evas_Object *obj, void *event_info) } static void -list_get_temperaure_cb(void *data, Evas_Object *obj, void *event_info) +list_get_attribute_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *popup, *btn; Evas_Object *nf = naviframe; @@ -265,7 +272,14 @@ list_get_temperaure_cb(void *data, Evas_Object *obj, void *event_info) elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0); eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, eext_popup_back_cb, NULL); evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_object_part_text_set(popup, "title,text", "Enter the temperature"); + if (LIGHT_RT == g_resourceType) + { + elm_object_part_text_set(popup, "title,text", "Enter the brightness"); + } + else + { + elm_object_part_text_set(popup, "title,text", "Enter the temperature"); + } layout = elm_layout_add(popup); elm_layout_file_set(layout, ELM_DEMO_EDJ, "popup_datetime_text"); @@ -278,7 +292,15 @@ list_get_temperaure_cb(void *data, Evas_Object *obj, void *event_info) evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL); eext_entry_selection_back_event_allow_set(entry, EINA_TRUE); - elm_object_part_text_set(entry, "elm.guide", "in degree celsius"); + if (LIGHT_RT == g_resourceType) + { + elm_object_part_text_set(entry, "elm.guide", "RANGE (0 - 50)"); + } + else + { + elm_object_part_text_set(entry, "elm.guide", "in degree celsius"); + } + elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NUMBER); elm_object_part_content_set(layout, "elm.swallow.content", entry); @@ -311,21 +333,36 @@ list_get_temperaure_cb(void *data, Evas_Object *obj, void *event_info) evas_object_show(popup); } -void *showGroupAPIs(void *data) +void *showAPIs(void *data) { // Add items to the list only if the list is empty const Eina_List *eina_list = elm_list_items_get(list); int count = eina_list_count(eina_list); if (!count) { - elm_list_item_append(list, "1. Increase Temperature", NULL, NULL, - increaseTemp, NULL); + if (LIGHT_RT == g_resourceType) + { + elm_list_item_append(list, "1. Increase Brightness", NULL, NULL, + increaseAttribute, NULL); + + elm_list_item_append(list, "2. Decrease Brightness", NULL, NULL, + decreaseAttribute, NULL); - elm_list_item_append(list, "2. Decrease Temperature", NULL, NULL, - decreaseTemp, NULL); + elm_list_item_append(list, "3. Set Brightness", NULL, NULL, + list_get_attribute_cb, NULL); + } + else + { + elm_list_item_append(list, "1. Increase Temperature", NULL, NULL, + increaseAttribute, NULL); + + elm_list_item_append(list, "2. Decrease Temperature", NULL, NULL, + decreaseAttribute, NULL); + + elm_list_item_append(list, "3. Set Temperature", NULL, NULL, + list_get_attribute_cb, NULL); + } - elm_list_item_append(list, "3. Set Temperature", NULL, NULL, - list_get_temperaure_cb, NULL); elm_list_go(list); } @@ -408,6 +445,7 @@ void serverCreateUI(void *data, Evas_Object *obj, void *event_info) void start_server(void *data, Evas_Object *obj, void *event_info) { server = NULL; + serverStarted = true; string logMessage = "SERVER WITHOUT CALLBACK
"; serverCallback = false; @@ -421,6 +459,7 @@ void start_server(void *data, Evas_Object *obj, void *event_info) void start_server_cb(void *data, Evas_Object *obj, void *event_info) { server = NULL; + serverStarted = true; string logMessage = "SERVER WITH CALLBACK
"; serverCallback = true; @@ -442,3 +481,21 @@ void start_server_cb(void *data, Evas_Object *obj, void *event_info) &logMessage); } + +void temperatureResource(void *data, Evas_Object *obj, void *event_info) +{ + g_resourceUri = TEMPERATURE_URI; + g_resourceType = TEMPERATURE_RT; + g_attributeKey = TEMPERATURE_AK; + + serverCreateUI(data, NULL, NULL); +} + +void lightResource(void *data, Evas_Object *obj, void *event_info) +{ + g_resourceUri = LIGHT_URI; + g_resourceType = LIGHT_RT; + g_attributeKey = LIGHT_AK; + + serverCreateUI(data, NULL, NULL); +}