From 5b3d67d7945de09ba077a3516247611703d6e6d1 Mon Sep 17 00:00:00 2001 From: Jeonghoon Park Date: Mon, 11 Jun 2018 19:53:29 +0900 Subject: [PATCH] add url module to get cloud api address Change-Id: I5b8f87cccaa79c816ca49088bf6b6ffd39f9bad4 --- daemon/include/ttd-url.h | 27 ++++++++++ daemon/res/ttd.conf | 4 +- daemon/src/ttd-build-json.c | 2 +- daemon/src/ttd-url.c | 118 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 149 insertions(+), 2 deletions(-) create mode 100644 daemon/include/ttd-url.h create mode 100644 daemon/src/ttd-url.c diff --git a/daemon/include/ttd-url.h b/daemon/include/ttd-url.h new file mode 100644 index 0000000..4955a2e --- /dev/null +++ b/daemon/include/ttd-url.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * + * Licensed under the Flora License, Version 1.1 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __TT_DAEMON_URL_H__ +#define __TT_DAEMON_URL_H__ + +typedef enum { + TTD_URL_CMD, + TTD_URL_REPORT, +} ttd_url_type_e; + +char *ttd_url_get_by_type(ttd_url_type_e type); + +#endif /* __TT_DAEMON_URL_H__ */ diff --git a/daemon/res/ttd.conf b/daemon/res/ttd.conf index f2c3868..5b6bbc6 100644 --- a/daemon/res/ttd.conf +++ b/daemon/res/ttd.conf @@ -1,5 +1,7 @@ [url] -server=http://apitest.showiot.xyz/api/cmd?&target=test-page-device&owner=test-page&state=created +server=https://apitest.showiot.xyz +api_cmd=/api/cmd +api_report=/api/report/cmd [worker] appid= [setting] diff --git a/daemon/src/ttd-build-json.c b/daemon/src/ttd-build-json.c index 6776e6a..86ebd83 100644 --- a/daemon/src/ttd-build-json.c +++ b/daemon/src/ttd-build-json.c @@ -68,7 +68,7 @@ char *ttd_build_json_create_report( main_object = json_object_new_object(); tmp_object = json_object_new_string(id); - json_object_object_add(main_object, "commandID", tmp_object); + json_object_object_add(main_object, "commandId", tmp_object); tmp_object = json_object_new_int(type); json_object_object_add(main_object, "type", tmp_object); diff --git a/daemon/src/ttd-url.c b/daemon/src/ttd-url.c new file mode 100644 index 0000000..3d5dc8a --- /dev/null +++ b/daemon/src/ttd-url.c @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * + * Licensed under the Flora License, Version 1.1 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://floralicense.org/license/ + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include "ttd-log.h" +#include "ttd-config.h" +#include "ttd-url.h" + +#define CONF_URL_GROUP_NAME "url" +#define CONF_URL_KEY_ADDRESS "server" +#define CONF_URL_KEY_CMD "api_cmd" +#define CONF_URL_KEY_REPORT "api_report" +#define QUERY_KEY_DEVICE_ID "deviceId=" +#define QUERY_KEY_STATE "state=" +#define QUERY_PARAM_STATE "created" + +/* for test */ +#define TEST_DEVICE_ID "test-page-device" + +static char *__ttd_url_get_address(void) +{ + char *url_address = NULL; + + ttd_config_read_string(CONF_URL_GROUP_NAME, + CONF_URL_KEY_ADDRESS, &url_address); + return url_address; +} + +static char *__ttd_url_get_device_id(void) +{ + char *device_id = NULL; + + /* TODO : get device id */ + g_strdup(TEST_DEVICE_ID); + return device_id; +} + +static char *_ttd_url_get_cmd(void) +{ + char *cmd_api = NULL; + char *device_id = NULL; + char *cmd_url = NULL; + + device_id = __ttd_url_get_device_id(); + retv_if(!device_id, NULL); + + ttd_config_read_string(CONF_URL_GROUP_NAME, CONF_URL_KEY_CMD, &cmd_api); + goto_if(!cmd_api, DONE_N_FREE); + + cmd_url = g_strdup_printf("%s?&%s%s&%s%s", cmd_api, + QUERY_KEY_DEVICE_ID, device_id, + QUERY_KEY_STATE, QUERY_PARAM_STATE); + + if (cmd_url) + _D("cmd url - %s", cmd_url); + else + _E("failed to create cmd_url"); + +DONE_N_FREE: + g_free(device_id); + g_free(cmd_api); + + return cmd_url; +} + +static char *_ttd_url_get_report(void) +{ + char *report_url = NULL; + + ttd_config_read_string(CONF_URL_GROUP_NAME, + CONF_URL_KEY_REPORT, &report_url); + retv_if(!report_url, NULL); + + _D("report url - %s", report_url); + + return report_url; +} + +char *ttd_url_get_by_type(ttd_url_type_e type) +{ + char *url_addr = NULL; + char *url_postfix = NULL; + char *url = NULL; + + url_addr = __ttd_url_get_address(); + retv_if(!url_addr, NULL); + + switch (type) { + case TTD_URL_CMD: + url_postfix = _ttd_url_get_cmd(); + break; + case TTD_URL_REPORT: + url_postfix = _ttd_url_get_report(); + break; + } + + if (url_postfix) { + url = g_strdup_printf("%s%s", url_addr, url_postfix); + _D("url[%d] - %s", type, url); + } + + g_free(url_postfix); + g_free(url_addr); + return url; +} -- 2.7.4