Add set preconfigured pin 74/187874/1
authorJihoon Jung <jh8801.jung@samsung.com>
Wed, 29 Aug 2018 06:33:49 +0000 (15:33 +0900)
committerJihoon Jung <jh8801.jung@samsung.com>
Wed, 29 Aug 2018 06:33:49 +0000 (15:33 +0900)
Change-Id: I2b3679912a99a5be10903aa61e9151b87300ddec
Signed-off-by: Jihoon Jung <jh8801.jung@samsung.com>
CMakeLists.txt
packaging/mdg-manager.spec
src/mdg-manager/CMakeLists.txt [changed mode: 0644->0755]
src/mdg-manager/include/mdgd_group.h
src/mdg-manager/include/mdgd_iot.h
src/mdg-manager/src/mdg_gdbus.xml
src/mdg-manager/src/mdgd_gdbus.c
src/mdg-manager/src/mdgd_group.c
src/mdg-manager/src/mdgd_iot.cpp
src/mdg-manager/src/mdgd_manager.c

index c439ce0082c5274344ef03314a6f953f6034d360..0e9d0b6014eb561bcf8092a28a6bf0e95ba33c99 100644 (file)
@@ -11,7 +11,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/include)
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/capi/include)
 
 MESSAGE(" - Checking...packages dependency")
-SET(COMMON_DEPS glib-2.0 gio-2.0 gio-unix-2.0 dlog dbus-1 iotivity uuid capi-base-common capi-system-info vconf boost gmock sqlite3 capi-system-system-settings liblazymount)
+SET(COMMON_DEPS glib-2.0 gio-2.0 gio-unix-2.0 dlog dbus-1 iotivity uuid capi-base-common capi-system-info vconf boost gmock sqlite3 capi-system-system-settings)
 IF (LINUX)
     PKG_CHECK_MODULES(daemon_pkgs REQUIRED ${COMMON_DEPS})
     ADD_DEFINITIONS("-DLINUX")
index edeff4b0123007a149fb35a92a5c9139c26e383e..eef825e77d4bf7f8a0d9a55bab228601ab643583 100644 (file)
@@ -30,7 +30,6 @@ BuildRequires: pkgconfig(aul)
 BuildRequires: pkgconfig(gmock)
 BuildRequires: pkgconfig(sqlite3)
 BuildRequires: pkgconfig(capi-system-system-settings)
-BuildRequires: pkgconfig(liblazymount)
 %description
 Multi Device Group Manager
 
old mode 100644 (file)
new mode 100755 (executable)
index a641216..ced7c29
@@ -3,7 +3,7 @@ MESSAGE("Building...mdgd")
 MESSAGE("===================================================================")
 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src)
 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-
+INCLUDE_DIRECTORIES(${daemon_pkgs_INCLUDE_DIRS})
 FIND_PROGRAM(GDBUS_CODEGEN NAMES gdbus-codegen)
 EXEC_PROGRAM(${GDBUS_CODEGEN} ARGS
                 " \\
index cd1cb797af10b92339b57652bfc6d2811b9ab9b8..8623ff6da40b65c94a7cf1ab2edbf31d001c3009 100755 (executable)
@@ -41,6 +41,7 @@ int mdgd_group_send_data(char *sender, char *uuid, char *channel_id,
                                                 unsigned char *data, int len, int *msg_id);
 int mdgd_group_send_response(char *sender, char *uuid, char *channel_id,
                                                 int msg_id, unsigned char *data, int len);
+int mdgd_group_set_preconfigured_pin(char *pin);
 
 /* Group Request to remote */
 int mdgd_group_request(mdgd_request_type_e type, char *sender, char *uuid,
index 8f7bee7aa5b20f0537d015465570685db7929689..4a1abb6264287ba61a647b741999456dd440e8fe 100755 (executable)
@@ -41,6 +41,7 @@ int mdgd_iot_discovery_resource(mdgd_resource_type_e resource_type, void *user_d
 int mdgd_iot_get_device_description(mdgd_command_t *cmd, char *host_addr, int conn_type);
 int mdgd_iot_send_response(char *sender, char *uuid, char *channel_id,
                                                 int msg_id, unsigned char *data, int len, bool timeout);
+int mdgd_iot_set_preconfigured_pin(char *pin);
 int mdgd_iot_deinitialize();
 
 #ifdef __cplusplus
index 696329deb0a19d9dd12bbf9b73d2b6b3889ce177..ddf44e9fdca303b9789081663e8c1b2d7b9d1257 100755 (executable)
                        <arg type="s" name="uuid" direction="in" />
                        <arg type="i" name="result" direction="out" />
                </method>
+               <method name="SetPreconfiguredPin">
+                       <arg type="s" name="preconfigured_pin" direction="in" />
+                       <arg type="i" name="result" direction="out" />
+               </method>
                <!-- Signal (D-Bus) definitions -->
                <signal name="Event">
                        <arg type="i" name="type" direction="out" />
index 33853a373dcbc5e7510e2395d83abca12fd72c0e..d13eb7f743d42a9b7da91517c1fe79ae58136ad7 100755 (executable)
@@ -370,6 +370,23 @@ gboolean group_request_channel_list(Group *group, GDBusMethodInvocation *invocat
        return TRUE;
 }
 
+gboolean group_set_preconfigured_pin(Group *group, GDBusMethodInvocation *invocation,
+       gchar *preconfigured_pin, gpointer user_data)
+{
+       int ret = MDGD_ERROR_NONE;
+       const gchar *sender = g_dbus_method_invocation_get_sender(invocation);
+
+       LOG_BEGIN();
+
+       ret = mdgd_group_set_preconfigured_pin(preconfigured_pin);
+
+       group_complete_set_preconfigured_pin(group, invocation, ret);
+
+       LOG_END();
+
+       return TRUE;
+}
+
 void mdgd_gdbus_emit_event(char *sender, mdgd_event_type_e type, int ret, GVariant *data)
 {
        mdgd_context_t *mdgd_ctx = mdgd_context_get_context();
@@ -499,6 +516,11 @@ static bool __group_init(GDBusConnection *connection)
                G_CALLBACK(group_request_channel_list),
                NULL);
 
+       g_signal_connect(group_skeleton,
+               "handle-set-preconfigured-pin",
+               G_CALLBACK(group_set_preconfigured_pin),
+               NULL);
+
        group = g_dbus_object_manager_server_new(MDGD_DBUS_GROUP_PATH);
 
        // Set connection to 'manager'
index bef4872e5d66bd99b7a729ac6e4fb140479d0643..821f29d57be12a0c6b882f1344c42190fd021da4 100755 (executable)
@@ -323,6 +323,15 @@ int mdgd_group_send_response(char *sender, char *uuid, char *channel_id,
        return ret;
 }
 
+int mdgd_group_set_preconfigured_pin(char *pin)
+{
+       int ret;
+
+       ret = mdgd_iot_set_preconfigured_pin(pin);
+
+       return ret;
+}
+
 int mdgd_group_request(mdgd_request_type_e type, char *sender, char *uuid,
        char *arg1, char *arg2, char *arg3, void *user_data)
 {
index 63b5402ad4a31fa566043891e4c176c99f511bdb..5c15e53b595cdb681b832985888d08e4cd6fb607 100755 (executable)
@@ -42,6 +42,7 @@
 #include "OCProvisioningManager.hpp"
 #include "OCPlatform.h"
 #include "OCApi.h"
+#include "credresource.h"
 
 using namespace OC;
 using namespace std;
@@ -173,6 +174,19 @@ static void __clean_platform_info(OCPlatformInfo *platform_info)
 
 OCPersistentStorage ps;
 
+int mdgd_iot_set_preconfigured_pin(char *pin)
+{
+       int ret = MDGD_ERROR_NONE;
+
+       ret = AddPreconfPinCredential(pin);
+       if (ret != OC_STACK_OK) {
+               LOG_ERR("set preconfigure pin failed : %d", ret);
+               return MDGD_ERROR_OPERATION_FAILED;
+       }
+
+       return ret;
+}
+
 int mdgd_iot_initialize()
 {
        char *device_id = NULL;
index 42d1621968eba954bef0cc809e077a8dd3dcb8be..a1ada95e688c047c02c2acb0996734d6569f73e7 100755 (executable)
 #include <mdgd_gdbus.h>
 #include <mdgd_db.h>
 #include <mdgd_mot_agent.h>
-#include <lazy_mount.h>
 
 int main(int argc, char *argv[])
 {
        int ret;
 
        LOG_DEBUG("COMP Manager start");
-/*
-       if (wait_mount_user() != 0) {
-               LOG_ERR("The user data space is not mounted");
-               goto EXIT;
-       }
-*/
+
        //1. create & get context
        ret = mdgd_context_create();
        if (ret != MDGD_ERROR_NONE) {