IoTivity C++ SDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SceneAction.h
Go to the documentation of this file.
1 //******************************************************************
2 //
3 // Copyright 2016 Samsung Electronics All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 // http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20 
21 #ifndef SM_SCENEACTION_H_
22 #define SM_SCENEACTION_H_
23 
25 #include "RCSResourceAttributes.h"
26 
27 namespace OIC
28 {
29  namespace Service
30  {
31 
32  class SceneMemberResource;
33 
44  {
45  public:
46  typedef std::shared_ptr< SceneAction > Ptr;
47 
48  private:
49  SceneAction(const std::shared_ptr< SceneMemberResource >,
50  const std::string&, const RCSResourceAttributes&);
51  SceneAction(const std::shared_ptr< SceneMemberResource >,
52  const std::string&, const std::string&,
54  friend class Scene;
55 
56  public:
66  void resetExecutionParameter(const std::string& key, RCSResourceAttributes::Value value);
67 
77 
86 
93 
94  private:
95  RCSRemoteResourceObject::Ptr m_pRemoteResourceObject;
96  std::string m_sceneName;
97  std::shared_ptr< SceneMemberResource > m_sceneMemberResource;
98  };
99  } /* namespace Service */
100 } /* namespace OIC */
101 
102 #endif /* SM_SCENEACTION_H_ */
std::shared_ptr< SceneAction > Ptr
Definition: SceneAction.h:46
RCSRemoteResourceObject::Ptr getRemoteResourceObject() const
Gets remote resource object.
Scene class is an interface class to manage scenes provided by SceneCollection resource.
Definition: Scene.h:43
This file contains the declaration of classes and its members related to RCSResourceAttributes.
SceneAction class indicates a unit of actions when a scene is executed.
Definition: SceneAction.h:43
Value holds a value among various types at a time.
Definition: RCSResourceAttributes.h:432
RCSResourceAttributes getExecutionParameter() const
Gets execution parameter of the SceneAction instance.
std::shared_ptr< RCSRemoteResourceObject > Ptr
Definition: RCSRemoteResourceObject.h:175
This represents the attributes for a resource.
Definition: RCSResourceAttributes.h:195
void resetExecutionParameter(const std::string &key, RCSResourceAttributes::Value value)
Sets the SceneAction parameters like a target attribute key and its value It replaces existing execut...
This file contains the declaration of classes and its members related to RCSRemoteResourceObject.