replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / service / easy-setup / mediator / richsdk / src / EnrolleeResource.h
old mode 100644 (file)
new mode 100755 (executable)
index f194b45..f345a91
@@ -37,12 +37,15 @@ namespace OIC
         class OCResource;
         class EnrolleeSecurity;
 
+        typedef std::function<void(const HeaderOptions& headerOptions,
+                                   const OCRepresentation& rep,
+                                   const int eCode)> ESEnrolleeResourceCb;
         /**
          * This class contains the resource discovery methods.
          *
          * @see EnrolleeResource
          */
-        class EnrolleeResource
+        class EnrolleeResource : public std::enable_shared_from_this<EnrolleeResource>
         {
             friend class EnrolleeSecurity;
 
@@ -56,11 +59,13 @@ namespace OIC
                 const GetConfigurationStatusCb callback);
             void registerDevicePropProvStatusCallback(
                 const DevicePropProvStatusCb callback);
+            void registerConnectRequestStatusCallback(
+                const ConnectRequestStatusCb callback);
 
             void getConfiguration();
             void getStatus();
-
             void provisionProperties(const DeviceProp& deviceProp);
+            void requestToConnect(const std::vector<ES_CONNECT_TYPE> &connectTypes);
 
         private:
             std::shared_ptr< OC::OCResource > m_ocResource;
@@ -68,8 +73,16 @@ namespace OIC
             GetStatusCb m_getStatusCb;
             GetConfigurationStatusCb m_getConfigurationStatusCb;
             DevicePropProvStatusCb m_devicePropProvStatusCb;
+            ConnectRequestStatusCb m_connectRequestStatusCb;
 
         private:
+            static void onEnrolleeResourceSafetyCB(const HeaderOptions& headerOptions,
+                                    const OCRepresentation& rep,
+                                    const int eCode,
+                                    ESEnrolleeResourceCb cb,
+                                    std::weak_ptr<EnrolleeResource> this_ptr);
+
+
             void onGetStatusResponse(const HeaderOptions& headerOptions,
                                                 const OCRepresentation& rep,
                                                 const int eCode);
@@ -79,6 +92,9 @@ namespace OIC
             void onProvisioningResponse(const HeaderOptions& headerOptions,
                                                     const OCRepresentation& rep,
                                                     const int eCode);
+            void onConnectRequestResponse(const HeaderOptions& headerOptions,
+                                                    const OCRepresentation& rep,
+                                                    const int eCode);
         };
     }
 }