1 //******************************************************************
3 // Copyright 2016 Samsung Electronics All Rights Reserved.
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
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
11 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21 #include "SceneAction.h"
23 #include "SceneMemberResource.h"
29 SceneAction::SceneAction(const SceneMemberResource::Ptr SceneMemberResource,
30 const std::string& sceneName, const RCSResourceAttributes& attr) :
31 m_pRemoteResourceObject(SceneMemberResource->getRemoteResourceObject()),
32 m_sceneName(sceneName),
33 m_sceneMemberResource(SceneMemberResource)
35 for (const auto& it : attr)
37 m_sceneMemberResource->addMappingInfo(
38 SceneMemberResource::MappingInfo(m_sceneName, it.key(), it.value()));
42 SceneAction::SceneAction(const SceneMemberResource::Ptr SceneMemberResource,
43 const std::string& sceneName, const std::string& key,
44 const RCSResourceAttributes::Value& value) :
45 m_pRemoteResourceObject(SceneMemberResource->getRemoteResourceObject()),
46 m_sceneName(sceneName), m_sceneMemberResource(SceneMemberResource)
48 m_sceneMemberResource->addMappingInfo(
49 SceneMemberResource::MappingInfo(m_sceneName, key, value));
52 void SceneAction::resetExecutionParameter(const std::string& key,
53 RCSResourceAttributes::Value value)
55 RCSResourceAttributes attr;
57 resetExecutionParameter(attr);
60 void SceneAction::resetExecutionParameter(const RCSResourceAttributes& attr)
62 for(const auto& it : attr)
64 m_sceneMemberResource->addMappingInfo(
65 SceneMemberResource::MappingInfo(m_sceneName, it.key(), it.value()));
69 RCSResourceAttributes SceneAction::getExecutionParameter() const
71 RCSResourceAttributes attr;
72 for(const auto& it : m_sceneMemberResource->getMappingInfos())
74 if(it.sceneName == m_sceneName)
76 attr[it.key] = RCSResourceAttributes::Value(it.value);
82 RCSRemoteResourceObject::Ptr SceneAction::getRemoteResourceObject() const
84 return m_pRemoteResourceObject;
87 } /* namespace Service */