4878fe550cd775e257821f7caafe30b9bfcd62f8
[platform/upstream/iotivity.git] / service / basis / common / primitiveResource / include / ResponseStatement.h
1 //******************************************************************\r
2 //\r
3 // Copyright 2015 Samsung Electronics All Rights Reserved.\r
4 //\r
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
6 //\r
7 // Licensed under the Apache License, Version 2.0 (the "License");\r
8 // you may not use this file except in compliance with the License.\r
9 // You may obtain a copy of the License at\r
10 //\r
11 //      http://www.apache.org/licenses/LICENSE-2.0\r
12 //\r
13 // Unless required by applicable law or agreed to in writing, software\r
14 // distributed under the License is distributed on an "AS IS" BASIS,\r
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16 // See the License for the specific language governing permissions and\r
17 // limitations under the License.\r
18 //\r
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
20 #ifndef __RESPONSESTATEMENT_H\r
21 #define __RESPONSESTATEMENT_H\r
22 \r
23 /**\r
24  * TODO : design for future flexibility\r
25  */\r
26 class ResponseStatement {\r
27 public:\r
28     static ResponseStatement create(const ResourceAttributes& attrs) {\r
29         return ResponseStatement(attrs);\r
30     }\r
31 \r
32     explicit ResponseStatement(const ResourceAttributes& attrs) {\r
33     }\r
34     explicit ResponseStatement(ResourceAttributes&& attrs) {\r
35     }\r
36 \r
37     ResponseStatement(ResponseStatement&&) = default;\r
38 \r
39     ResponseStatement& operator=(ResponseStatement&&) = default;\r
40 \r
41     std::string getUri() const;\r
42     std::vector<std::string> getResourceTypes() const;\r
43     std::vector<std::string> getResourceInterfaces() const;\r
44 \r
45     ResourceAttributes getAttributes() const;\r
46 \r
47     ~ResponseStatement() {}\r
48 };\r
49 \r
50 #endif // __RESPONSESTATEMENT_H\r