- MCD does not support MULTIPLE_OWNER in iotivity project.
Therefore, mdg-manager can discern whether iotivity support
MULTIPLE_OWNER or not.
- Added missing 'CMAKE_CXXFLAGS'.
- Fixed intent issues.
Change-Id: If73ec3a1254a12b76fe44803fceae40c5c23249b
Signed-off-by: saerome kim <saerome.kim@samsung.com>
ENDIF(BUILD_GCOV)
SET(RELO_FLAGS "-D_FORTIFY_SOURCE=2 -Wl,-z,relro")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${RELO_FLAGS} ${GCOV_CFLAGS} ${GTEST_CFLAGS} -Wall -fPIE -fpic -std=gnu99")
-SET(CMAKE_CXX_FLAGS "${EXTRA_CXXFLAGS} ${RELO_FLAGS} ${GCOV_CFLAGS} ${GTEST_CFLAGS} -std=gnu++11 -fPIC -Wall -Werror-implicit-function-declaration -fvisibility=hidden")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXXFLAGS} ${EXTRA_CXXFLAGS} ${RELO_FLAGS} ${GCOV_CFLAGS} ${GTEST_CFLAGS} -std=gnu++11 -fPIC -Wall -Werror-implicit-function-declaration -fvisibility=hidden")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie -Wl,--disable-new-dtags")
MESSAGE(" - Define...iotivity macro")
ADD_DEFINITIONS("-D__TIZEN__")
+IF("${ISSUBOWNER}" STREQUAL "IsSubOwner")
ADD_DEFINITIONS("-DMULTIPLE_OWNER=1")
+ELSE()
+ADD_DEFINITIONS("-DMULTIPLE_OWNER=0")
+ENDIF()
ADD_DEFINITIONS("-D__WITH_TLS__")
ADD_DEFINITIONS("-DWITH_TCP")
ADD_DEFINITIONS("-D__WITH_DTLS__")
cp %{SOURCE2} .
cp %{SOURCE3} .
-
%build
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+# Check whether iotivity support MULTIPLE_OWNER feature
+mot_support=`/usr/bin/nm -D -C %{_libdir}/liboctbstack.so | awk '/IsSubOwner/{print $3}'`
%define NETWORK_FW_DATADIR %{TZ_SYS_GLOBALUSER_DATA}/network
%define DBDIR %{TZ_SYS_GLOBALUSER_DATA}/
-DBIN_DIR=%{_bindir} \
-DSBIN_DIR=%{_sbindir} \
-DNETWORK_FW_DATADIR=%{NETWORK_FW_DATADIR} \
+ -DISSUBOWNER=${mot_support} \
-DDBDIR=%{DBDIR} \
%install
if (is_invited == false) {
g_motdev_list.clear();
+#if MULTIPLE_OWNER == 1
OCSecure::discoverMultipleOwnerEnabledDevices(timeout, g_motdev_list);
+#endif
devList = g_motdev_list;
} else {
g_mowned_list.clear();
+#if MULTIPLE_OWNER == 1
OCSecure::discoverMultipleOwnedDevices(timeout, g_mowned_list);
+#endif
devList = g_mowned_list;
}
if (is_invited == false) {
bool check_invited = false;
UuidList_t subOwnerList;
+#if MULTIPLE_OWNER == 1
devList[i]->getSubOwnerList(subOwnerList);
+#endif
for (unsigned int j = 0; j < subOwnerList.size(); j++) {
char *readable_uuid = mdgd_get_readable_uuid(&subOwnerList[j]);
return uuid;
}
-
+#if MULTIPLE_ONWER == 1
static void _mot_cb(PMResultList_t *result, int has_error)
{
char *readable_uuid = NULL;
g_doneCB = true;
}
+#endif
int mdgd_iot_pair(char *group_name, char *pin, char *target1, char *subject1, char *uri1,
char *rt1, char *interface1, int permission1, char *target2,
int idx2 = -1;
int result = MDGD_ERROR_NONE;
+#if MULTIPLE_ONWER == 1
OCStackResult ret = OC_STACK_OK;
+#endif
mdgd_command_t *cmd = NULL;
OicUuid_t *uuid_1 = NULL;
next_dev = src_dev->next;
src_dev->next = NULL;
+#if MULTIPLE_ONWER == 1
g_doneCB = false;
LOG_DEBUG("MOT Start...");
LOG_DEBUG("MOT Done");
g_doneCB = false;
-
+#endif
cmd = (mdgd_command_t *)g_try_malloc0(sizeof(mdgd_command_t));
cmd->resource_type = MDGD_RESOURCE_TYPE_DEVICE;
cmd->uuid = g_strdup(subject1);
LOG_ERR("OCInitPM() error = [%d][%s]", ret, get_error_message(ret));
OCProvisionDev_t *motdev_list = NULL;
+#if MULTIPLE_ONWER == 1
OCDiscoverMultipleOwnerEnabledDevices(1, &motdev_list);
+#endif
OCProvisionDev_t *iter = NULL;
iter = motdev_list;
/* connect */
if (retval < 0) {
char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("connect() error : %s", buf);
+ char const *str = strerror_r(errno, buf, 128);
+ LOG_ERR("connect() error : %s", str);
ret = MDGD_ERROR_OPERATION_FAILED;
goto SEND_THREAD_EXIT;
}
fd = fopen(cmd->arg1, "rb");
if (fd == NULL) {
char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("fopen() error : %s", buf);
+ char const *str = strerror_r(errno, buf, 128);
+ LOG_ERR("fopen() error : %s", str);
ret = MDGD_ERROR_OPERATION_FAILED;
goto SEND_THREAD_EXIT;
}
prev_percent = cur_percent;
retval = write(sock, buf, num_read);
if (retval == -1) {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("write() error : %s", buf);
+ char buf[128];
+ char const *str = strerror_r(errno, buf, 128);
+ LOG_ERR("write() error : %s", str);
ret = MDGD_ERROR_OPERATION_FAILED;
goto SEND_THREAD_EXIT;
LOG_DEBUG("file trans complete : %ld bytes\n", num_total);
break;
} else {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("file I/O error : %s", buf);
+ char buf[128];
+ char const *str = strerror_r(errno, buf, 128);
+ LOG_ERR("file I/O error : %s", str);
ret = MDGD_ERROR_OPERATION_FAILED;
goto SEND_THREAD_EXIT;
fd = open(receive_file->file_path, O_WRONLY | O_CREAT | O_EXCL, 0700);
if (!fd || errno == EEXIST) {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("file open error : %s", buf);
+ char buf[128];
+ const char *str = strerror_r(errno, buf, 128);
+ LOG_ERR("file open error : %s", str);
goto RECEIVE_THREAD_EXIT;
}
server_sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (server_sockfd == -1) {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("socket error : %s", buf);
+ char buf[128];
+ const char *str = strerror_r(errno, buf, 128);
+ LOG_ERR("socket error : %s", str);
goto RECEIVE_THREAD_EXIT;
}
serveraddr_v6.sin6_scope_id = if_nametoindex("wlan0");
if (bind(server_sockfd, (struct sockaddr *)&serveraddr_v6, sizeof(serveraddr_v6)) < 0) {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("bind error : %s", buf);
+ char buf[128];
+ const char *str = strerror_r(errno, buf, 128);
+ LOG_ERR("bind error : %s", str);
goto RECEIVE_THREAD_EXIT;
}
serveraddr.sin_port = htons(PORT);
if (bind(server_sockfd, (struct sockaddr *)&serveraddr, sizeof(serveraddr)) < 0) {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("bind error : %s", buf);
+ char buf[128];
+ const char *str = strerror_r(errno, buf, 128);
+ LOG_ERR("bind error : %s", str);
goto RECEIVE_THREAD_EXIT;
}
}
if (listen(server_sockfd, 5) != 0) {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("listen error : %s", buf);
+ char buf[128];
+ const char *str = strerror_r(errno, buf, 128);
+ LOG_ERR("listen error : %s", str);
goto RECEIVE_THREAD_EXIT;
}
}
if (client_sockfd == -1) {
- char buf[128];
- strerror_r(errno, buf, 128);
- LOG_ERR("socket error : %s", buf);
+ char buf[128];
+ const char *str = strerror_r(errno, buf, 128);
+ LOG_ERR("socket error : %s", str);
goto RECEIVE_THREAD_EXIT;
}
while (1) {
+ ssize_t len = 0;
char buf[MAXBUF] = {
0,
};
file_read_len = read(client_sockfd, buf, MAXBUF);
if (file_read_len > 0)
- write(fd, buf, file_read_len);
+ len = write(fd, buf, file_read_len);
+
+ if (0 < len) {
+ LOG_ERR("write error");
+ }
if (file_read_len == EOF || file_read_len == 0) {
LOG_DEBUG("Receive file successful");