1 //******************************************************************
3 // Copyright 2014 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 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
53 typedef std::string AttributeValue;
57 * @brief This class provides information of each plugin installed.
65 * Constructor for Plugin.
74 virtual ~Plugin(void);
77 * Get unique ID of the plug-in
79 * @return unique id string of the pluin. if ID is not exist, it return ""
81 std::string getID(void);
85 * Get version of the plug-in
87 * @return version information string of the plugin. if Version is not exist, it return ""
90 std::string getVersion(void);
94 * Get name of the plug-in
96 * @return name string of the plugin. if Name is not exist, it return ""
98 std::string getName(void);
102 * Get provider name of the plug-in
104 * @return provider name of the plugin. if ProviderName is not exist, it return ""
107 std::string getProviderName(void);
111 * Get value for the attributes
113 * @param attribute attriubute string to get value
114 * @return value of the attribute. if "attribute" is not exist, it return ""
117 std::string getValueByAttribute(const std::string attribute);
120 * Check whether the plugin same or not.
123 * @return true if same, else return false
126 bool operator==(Plugin &plugin);
129 friend class CpluffAdapter;
130 friend class FelixAdapter;
132 * Set key, value. key is attribute name.
134 * @param key is atrribute name.
135 * @param value for the attribute.
139 void setValue(const std::string key, const std::string value);
141 std::map<std::string, AttributeValue> m_attributeMap;
142 std::vector<std::string> m_supportedType;
148 #endif //__Plugin_H__