5238df2c14ee80c7af557cdc78baf15b1d811d62
[platform/upstream/iotivity.git] / service / resource-encapsulation / include / RCSBundleInfo.h
1 //******************************************************************
2 //
3 // Copyright 2015 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 /**
22  * @file
23  *
24  * This file contains RCSBundleInfo class, which provides APIs related to Bundle information.
25  */
26
27 #ifndef RCSBUNDLEINFO_H_
28 #define RCSBUNDLEINFO_H_
29
30 #include <string>
31
32 namespace OIC
33 {
34     namespace Service
35     {
36
37         /**
38         * @class  RCSBundleInfo
39         * @brief   This class provides APIs for creating, getting and setting the Bundle Information
40         *
41         */
42         class RCSBundleInfo
43         {
44             public:
45                 /**
46                 * API for getting the Id of the bundle
47                 *
48                 * @return Id of the bundle
49                 *
50                 */
51                 virtual const std::string &getID() = 0;
52
53                 /**
54                 * API for getting the path of the bundle
55                 *
56                 * @return path of the bundle
57                 *
58                 */
59                 virtual const std::string &getPath() = 0;
60
61                 /**
62                 * API for setting the Activator name for the bundle
63                 *
64                 * @return Name of the activator
65                 *
66                 */
67                 virtual const std::string &getActivatorName() = 0;
68
69                 /**
70                 * API for getting the library path for the bundle
71                 *
72                 * @return Library path  in string form
73                 *
74                 */
75                 virtual const std::string &getLibraryPath() = 0;
76
77                 /**
78                 * API for getting the version of the bundle
79                 *
80                 * @return version of the bundle
81                 *
82                 */
83                 virtual const std::string &getVersion() = 0;
84
85
86             protected:
87                 std::string m_ID, m_path, m_version;
88
89                 RCSBundleInfo();
90                 virtual ~RCSBundleInfo();
91         };
92     }
93 }
94
95 #endif /* RCSBUNDLEINFO_H_ */