[IOT-1420] Solve that if, rt properties ommited
[platform/upstream/iotivity.git] / service / scene-manager / src / SceneCollectionResource.h
old mode 100644 (file)
new mode 100755 (executable)
index acc2ec5..f625df6
@@ -40,7 +40,8 @@ namespace OIC
 
             ~SceneCollectionResource() = default;
 
-            static SceneCollectionResource::Ptr createSceneCollectionObject();
+            static SceneCollectionResource::Ptr create();
+            static SceneCollectionResource::Ptr create(const RCSResourceAttributes &);
 
             void addScene(std::string &&);
             void addScene(const std::string &);
@@ -55,13 +56,18 @@ namespace OIC
             void setName(std::string &&);
             void setName(const std::string &);
 
+            std::vector<std::string> getSceneValues() const;
+
             std::string getName() const;
 
             std::string getId() const;
             std::string getUri() const;
             std::string getAddress() const;
 
-            const std::vector<SceneMemberResource::Ptr> getSceneMembers();
+            std::vector<SceneMemberResource::Ptr> getSceneMembers() const;
+
+            std::vector<SceneMemberResource::Ptr> findSceneMembers(
+                    const std::string & sceneName) const;
 
             RCSResourceObject::Ptr getRCSResourceObject() const;
 
@@ -71,14 +77,15 @@ namespace OIC
             public:
                 typedef std::shared_ptr<SceneExecuteResponseHandler> Ptr;
 
-                SceneExecuteResponseHandler() = default;
+                SceneExecuteResponseHandler()
+                : m_numOfMembers(0), m_responseMembers(0), m_errorCode(0) { }
                 ~SceneExecuteResponseHandler() = default;
 
                 int m_numOfMembers;
                 int m_responseMembers;
                 int m_errorCode;
-                std::weak_ptr<SceneCollectionResource> m_Owner;
-                SceneExecuteCallback m_Cb;
+                std::weak_ptr<SceneCollectionResource> m_owner;
+                SceneExecuteCallback m_cb;
 
                 static SceneExecuteResponseHandler::Ptr createExecuteHandler(
                         const SceneCollectionResource::Ptr, SceneExecuteCallback);
@@ -91,11 +98,10 @@ namespace OIC
                 SceneCollectionRequestHandler() = default;
                 ~SceneCollectionRequestHandler() = default;
 
-                std::weak_ptr<SceneCollectionResource> m_Owner;
+                std::weak_ptr<SceneCollectionResource> m_owner;
 
                 RCSSetResponse onSetRequest(
                         const RCSRequest &, RCSResourceAttributes &);
-                void onExecute(int, /*const RCSRequest &,*/ RCSResourceAttributes &);
 
             private:
                 RCSSetResponse addSceneRequest(
@@ -104,33 +110,38 @@ namespace OIC
                         const RCSRequest &, RCSResourceAttributes &);
                 RCSSetResponse createSceneMemberRequest(
                         const RCSRequest &, RCSResourceAttributes &);
+                RCSSetResponse setSceneCollectionName(
+                        const RCSRequest &, RCSResourceAttributes &);
+
+                void addMemberInfoFromRemote(SceneMemberResource::Ptr,
+                        std::vector<RCSResourceAttributes>);
             };
 
-            std::string m_Uri;
-            std::string m_Address;
+            std::string m_uri;
+            std::string m_address;
 
-            RCSResourceObject::Ptr m_SceneCollectionResourceObj;
-            std::mutex m_SceneMemberLock;
-            std::vector<SceneMemberResource::Ptr> m_SceneMembers;
+            RCSResourceObject::Ptr m_sceneCollectionResourceObject;
+            mutable std::mutex m_sceneMemberLock;
+            std::vector<SceneMemberResource::Ptr> m_sceneMembers;
 
-            SceneCollectionRequestHandler m_RequestHandler;
-            std::mutex m_ExecuteHandlerLock;
-            std::list<SceneExecuteResponseHandler::Ptr> m_ExecuteHandlers;
+            SceneCollectionRequestHandler m_requestHandler;
 
-            SceneCollectionResource() = default;
+            SceneCollectionResource();
 
             SceneCollectionResource(const SceneCollectionResource &) = delete;
             SceneCollectionResource & operator = (
                     const SceneCollectionResource &) = delete;
 
             SceneCollectionResource(SceneCollectionResource &&) = delete;
-            SceneCollectionResource && operator = (
+            SceneCollectionResource & operator = (
                     SceneCollectionResource &&) = delete;
 
-            void onExecute(int, SceneExecuteCallback, SceneExecuteResponseHandler::Ptr);
+            RCSResourceObject::Ptr createResourceObject();
+            void setDefaultAttributes();
+            void initSetRequestHandler();
         };
     }
 }
 
-
 #endif // SCENE_COLLECTION_RESOURCE_OBJECT_H
+