2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 * @file FSclOrganization.h
19 * @brief This is the header file for the %Organization class.
21 * This header file contains the declarations of the %Organization class.
23 #ifndef _FSCL_ORGANIZATION_H_
24 #define _FSCL_ORGANIZATION_H_
26 #include <FBaseResult.h>
27 #include <FBaseObject.h>
28 #include <FSclTypes.h>
30 namespace Tizen { namespace Base
35 namespace Tizen { namespace Social
40 * @brief This class represents the organization information.
44 * @final This class is not intended for extension.
46 * The %Organization class represents the organization information of a person. @n
47 * The organization information consists of name, job title, role, agent, and department.
49 class _OSP_EXPORT_ Organization
50 : public Tizen::Base::Object
54 * This is the default constructor for this class.
61 * Copying of objects using this copy constructor is allowed.
65 * @param[in] rhs An instance of %Organization
67 Organization(const Organization& rhs);
70 * This destructor overrides Tizen::Base::Object::~Object().
74 virtual ~Organization(void);
77 * Checks whether the value of the specified instance is equal to the value of the current instance of Tizen::Base::Object.
81 * @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
83 * @param[in] rhs An instance of Tizen::Base::Object to compare
85 virtual bool Equals(const Tizen::Base::Object& rhs) const;
88 * Gets the hash value of the current instance of Tizen::Base::Object.
92 * @return An integer value indicating the hash value of the current instance of Tizen::Base::Object
94 virtual int GetHashCode(void) const;
97 * Gets the organization name.
101 * @return The organization name
103 Tizen::Base::String GetName(void) const;
106 * Gets the job title.
110 * @return The job title
112 Tizen::Base::String GetJobTitle(void) const;
115 * Gets the department.
119 * @return The department
121 Tizen::Base::String GetDepartment(void) const;
130 Tizen::Base::String GetRole(void) const;
139 Tizen::Base::String GetAgent(void) const;
142 * Gets the organization type.
146 * @return The organization type
148 OrganizationType GetType(void) const;
151 * Gets the label of the organization.
155 * @return The organization label
157 Tizen::Base::String GetLabel(void) const;
164 * @return The location
166 Tizen::Base::String GetLocation(void) const;
169 * Gets the description.
173 * @return The description
175 Tizen::Base::String GetDescription(void) const;
178 * Gets the phonetic name.
182 * @return The phonetic name
184 Tizen::Base::String GetPhoneticName(void) const;
187 * Gets the logo image path.
191 * @return The logo image file path
193 Tizen::Base::String GetLogoPath(void) const;
196 * Sets the name of the organization.
200 * @param[in] name The organization name
202 void SetName(const Tizen::Base::String& name);
205 * Sets the job title.
209 * @param[in] jobTitle The job title
211 void SetJobTitle(const Tizen::Base::String& jobTitle);
214 * Sets the department.
218 * @param[in] department The department
220 void SetDepartment(const Tizen::Base::String& department);
227 * @param[in] role The role
229 void SetRole(const Tizen::Base::String& role);
236 * @param[in] agent The agent
238 void SetAgent(const Tizen::Base::String& agent);
241 * Sets the organization type.
245 * @param[in] type The organization type
247 void SetType(OrganizationType type);
250 * Sets the label of the organization.
254 * @param[in] label The organization label
256 void SetLabel(const Tizen::Base::String& label);
263 * @param[in] location The location
265 void SetLocation(const Tizen::Base::String& location);
268 * Sets the description.
272 * @param[in] description The description
274 void SetDescription(const Tizen::Base::String& description);
277 * Sets the phonetic name.
281 * @param[in] phoneticName The phonetic name
283 void SetPhoneticName(const Tizen::Base::String& phoneticName);
286 * Sets the logo image. @n
287 * If the specified @c filePath is an empty string, the current logo image is removed.
291 * @param[in] filePath The file path of the logo image
292 * @exception E_SUCCESS The method is successful.
293 * @exception E_INVALID_ARG The length of the specified @c filePath exceeds system limitations.
294 * @exception E_FILE_NOT_FOUND The specified file cannot be found or accessed.
295 * @exception E_SYSTEM The method cannot proceed due to a severe system error.
296 * @remarks The logo image is copied to the specific directory for logo images by the system when the contact is added or updated.
297 * Therefore, GetLogoPath() returns the file path to which the logo image is copied.
299 result SetLogo(const Tizen::Base::String& filePath);
302 * Copying of objects using this copy assignment operator is allowed.
306 * @param[in] rhs An instance of %Organization
308 Organization& operator =(const Organization& rhs);
311 * Checks whether the data in the specified instance of %Organization is equal to the data in the current instance.
315 * @return @c true if the data in the specified instance equals the data in the current instance, @n
317 * @param[in] rhs An instance of %Organization
319 bool operator ==(const Organization& rhs) const;
322 * Checks whether the data in the specified instance of %Organization is not equal to the data in the current instance.
326 * @return @c true if the data in the specified instance is not equal to the data in the current instance, @n
328 * @param[in] rhs An instance of %Organization
330 bool operator !=(const Organization& rhs) const;
333 friend class _OrganizationImpl;
334 class _OrganizationImpl* __pOrganizationImpl;
339 #endif //_FSCL_ORGANIZATION_H_