Add the plug-in about upgrading of account provider
[platform/framework/native/social.git] / inc / FSclOrganization.h
1 //
2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 //
4 // Licensed under the Apache License, Version 2.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 //     http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 /**
17  * @file        FSclOrganization.h
18  * @brief       This is the header file for the %Organization class.
19  *
20  * This header file contains the declarations of the %Organization class.
21  */
22 #ifndef _FSCL_ORGANIZATION_H_
23 #define _FSCL_ORGANIZATION_H_
24
25 #include <FBaseResult.h>
26 #include <FBaseObject.h>
27 #include <FSclTypes.h>
28
29 namespace Tizen { namespace Base
30 {
31 class String;
32 }}
33
34 namespace Tizen { namespace Social
35 {
36
37 /**
38  * @class       Organization
39  * @brief       This class represents the organization information.
40  *
41  * @since       2.0
42  *
43  * @final       This class is not intended for extension.
44  *
45  * The %Organization class represents the organization information of a person. @n
46  * The organization information consists of name, job title, role, agent, and department.
47  */
48 class _OSP_EXPORT_ Organization
49         : public Tizen::Base::Object
50 {
51 public:
52         /**
53          * This is the default constructor for this class.
54          *
55          * @since       2.0
56          */
57         Organization(void);
58
59         /**
60          * Copying of objects using this copy constructor is allowed.
61          *
62          * @since       2.0
63          *
64          * @param[in]   rhs             An instance of %Organization
65          */
66         Organization(const Organization& rhs);
67
68         /**
69          * This destructor overrides Tizen::Base::Object::~Object().
70          *
71          * @since       2.0
72          */
73         virtual ~Organization(void);
74
75         /**
76          * Checks whether the value of the specified instance is equal to the value of the current instance of Tizen::Base::Object.
77          *
78          * @since       2.0
79          *
80          * @return      @c true if the value of the specified instance of Tizen::Base::Object is equal to the value of the current instance of %Tizen::Base::Object, @n
81          *                      else @c false
82          * @param[in]   rhs             An instance of Tizen::Base::Object to compare
83          */
84         virtual bool Equals(const Tizen::Base::Object& rhs) const;
85
86         /**
87          * Gets the hash value of the current instance of Tizen::Base::Object.
88          *
89          * @since       2.0
90          *
91          * @return      An integer value indicating the hash value of the current instance of Tizen::Base::Object
92          */
93         virtual int GetHashCode(void) const;
94
95         /**
96          * Gets the organization name.
97          *
98          * @since       2.0
99          *
100          * @return      The organization name
101          */
102         Tizen::Base::String GetName(void) const;
103
104         /**
105          * Gets the job title.
106          *
107          * @since       2.0
108          *
109          * @return      The job title
110          */
111         Tizen::Base::String GetJobTitle(void) const;
112
113         /**
114          * Gets the department. 
115          *
116          * @since       2.0
117          *
118          * @return      The department
119          */
120         Tizen::Base::String GetDepartment(void) const;
121
122         /**
123          * Gets the role.
124          *
125          * @since       2.0
126          *
127          * @return      The role
128          */
129         Tizen::Base::String GetRole(void) const;
130
131         /**
132          * Gets the agent.
133          *
134          * @since       2.0
135          *
136          * @return      The agent
137          */
138         Tizen::Base::String GetAgent(void) const;
139
140         /**
141          * Gets the organization type.
142          *
143          * @since       2.1
144          *
145          * @return      The organization type
146          */
147         OrganizationType GetType(void) const;
148
149         /**
150          * Gets the label of the organization.
151          *
152          * @since       2.1
153          *
154          * @return      The organization label
155          */
156         Tizen::Base::String GetLabel(void) const;
157
158         /**
159          * Gets the location.
160          *
161          * @since       2.1
162          *
163          * @return      The location
164          */
165         Tizen::Base::String GetLocation(void) const;
166
167         /**
168          * Gets the description.
169          *
170          * @since       2.1
171          *
172          * @return      The description
173          */
174         Tizen::Base::String GetDescription(void) const;
175
176         /**
177          * Gets the phonetic name.
178          *
179          * @since       2.1
180          *
181          * @return      The phonetic name
182          */
183         Tizen::Base::String GetPhoneticName(void) const;
184
185         /**
186          * Gets the logo image path.
187          *
188          * @since       2.1
189          *
190          * @return      The logo image file path
191          */
192         Tizen::Base::String GetLogoPath(void) const;
193
194         /**
195         * Sets the name of the organization.
196         *
197         * @since        2.0
198         *
199         * @param[in]    name    The organization name
200         */
201         void SetName(const Tizen::Base::String& name);
202
203         /**
204          * Sets the job title.
205          *
206          * @since       2.0
207          *
208          * @param[in]   jobTitle        The job title
209          */
210         void SetJobTitle(const Tizen::Base::String& jobTitle);
211
212         /**
213          * Sets the department.
214          *
215          * @since       2.0
216          *
217          * @param[in]   department      The department
218          */
219         void SetDepartment(const Tizen::Base::String& department);
220
221         /**
222          * Sets the role.
223          *
224          * @since       2.0
225          *
226          * @param[in]   role    The role
227          */
228         void SetRole(const Tizen::Base::String& role);
229
230         /**
231          * Sets the agent.
232          *
233          * @since       2.0
234          *
235          * @param[in]   agent           The agent
236          */
237         void SetAgent(const Tizen::Base::String& agent);
238
239         /**
240          * Sets the organization type.
241          *
242          * @since       2.1
243          *
244          * @param[in]   type    The organization type
245          */
246         void SetType(OrganizationType type);
247
248         /**
249          * Sets the label of the organization.
250          *
251          * @since       2.1
252          *
253          * @param[in]   label   The organization label
254          */
255         void SetLabel(const Tizen::Base::String& label);
256
257         /**
258          * Sets the location.
259          *
260          * @since       2.1
261          *
262          * @param[in]   location    The location
263          */
264         void SetLocation(const Tizen::Base::String& location);
265
266         /**
267          * Sets the description.
268          *
269          * @since       2.1
270          *
271          * @param[in]   description           The description
272          */
273         void SetDescription(const Tizen::Base::String& description);
274
275         /**
276          * Sets the phonetic name.
277          *
278          * @since       2.1
279          *
280          * @param[in]   phoneticName    The phonetic name
281          */
282         void SetPhoneticName(const Tizen::Base::String& phoneticName);
283
284         /**
285          * Sets the logo image. @n
286          * If the specified @c filePath is an empty string, the current logo image is removed.
287          *
288          * @since       2.1
289          *
290          * @param[in]   filePath           The file path of the logo image
291          * @exception   E_SUCCESS               The method is successful.
292          * @exception   E_INVALID_ARG           The length of the specified @c filePath exceeds system limitations.
293          * @exception   E_FILE_NOT_FOUND        The specified file cannot be found or accessed.
294          * @exception   E_SYSTEM                The method cannot proceed due to a severe system error.
295          * @remarks     The logo image is copied to the specific directory for logo images by the system when the contact is added or updated.
296          *              Therefore, GetLogoPath() returns the file path to which the logo image is copied.
297          */
298         result SetLogo(const Tizen::Base::String& filePath);
299
300         /**
301          * Copying of objects using this copy assignment operator is allowed.
302          *
303          * @since       2.0
304          *
305          * @param[in]   rhs             An instance of %Organization
306          */
307         Organization& operator =(const Organization& rhs);
308
309         /**
310          * Checks whether the data in the specified instance of %Organization is equal to the data in the current instance.
311          *
312          * @since       2.0
313          *
314          * @return              @c true if the data in the specified instance equals the data in the current instance, @n
315          *                              else @c false
316          * @param[in]   rhs             An instance of %Organization
317          */
318         bool operator ==(const Organization& rhs) const;
319
320         /**
321          * Checks whether the data in the specified instance of %Organization is not equal to the data in the current instance.
322          *
323          * @since       2.0
324          *
325          * @return              @c true if the data in the specified instance is not equal to the data in the current instance, @n
326          *                              else @c false
327          * @param[in]   rhs             An instance of %Organization
328          */
329         bool operator !=(const Organization& rhs) const;
330
331 private:
332         friend class _OrganizationImpl;
333         class _OrganizationImpl* __pOrganizationImpl;
334 }; // Organization
335
336 }} // Tizen::Social
337
338 #endif //_FSCL_ORGANIZATION_H_