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 #ifndef SM_SCENELIST_H_
22 #define SM_SCENELIST_H_
24 #include "SceneCollection.h"
36 * @brief SceneList class is an interface class to manage SceneList resource. This class
37 * provides APIs for creating a new SceneCollection instance and retrieving the existing
38 * instances as well as for setting/getting a name attribute of SceneList resource.
44 SceneList() = default;
45 ~SceneList() = default;
49 * Gets static instance of SceneList
51 * @return SceneList instance
54 static SceneList* getInstance();
57 * Adds new SceneCollection instance
59 * @return A shared pointer of SceneCollection instance
61 * @note SceneCollection instance is only produced by SceneList class
63 SceneCollection::Ptr addNewSceneCollection();
66 * Gets all SceneCollection instances stored in SceneList resource
68 * @return A vector of shared pointers of SceneCollection instances
70 * @note SceneCollection instance that addNewSceneCollection returns is not same
71 * instance that getSceneCollections returns
73 std::vector<SceneCollection::Ptr> getSceneCollections() const;
76 * Sets a name attribute of SceneList resource
78 * @param sceneListName A SceneList resource's name
80 void setName(const std::string& sceneListName);
83 * Gets a name attribute of SceneList resource
85 * @return A SceneList resource's name
87 std::string getName() const;
89 } /* namespace Service */
92 #endif /* SM_SCENELIST_H_ */