Tizen 2.1 base
[framework/osp/social.git] / inc / FSclEmailContact.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17 /**
18  * @file                FSclEmailContact.h
19  * @brief               This is the header file for the %EmailContact class.
20  *
21  * This header file contains the declarations of the %EmailContact class.
22  */
23 #ifndef _FSCL_EMAIL_CONTACT_H_
24 #define _FSCL_EMAIL_CONTACT_H_
25
26 #include <FBaseResult.h>
27 #include <FBaseObject.h>
28 #include <FBaseString.h>
29 #include <FSclTypes.h>
30 #include <FSclEmail.h>
31
32 namespace Tizen { namespace Social
33 {
34  /**
35  * @class       EmailContact
36  * @brief       This class provides summarized contact information with email.
37  *
38  * @since       2.0
39  *
40  * @final       This class is not intended for extension.
41  *
42  * The %EmailContact class provides summarized contact information. @n
43  * This provides part of contact information - ID, person ID, addressbook ID, display name, ringtone, thumbnail, and email.
44  */
45 class _OSP_EXPORT_ EmailContact
46         : public Tizen::Base::Object
47 {
48
49 public:
50         /**
51          * This is the default constructor for this class.
52          *
53          * @since       2.0
54          */
55         EmailContact(void);
56
57         /**
58          * Copying of objects using this copy constructor is allowed.
59          *
60          * @since       2.0
61          *
62          * @param[in]   rhs             An instance of %EmailContact
63          */
64         EmailContact(const EmailContact& rhs);
65
66         /**
67          * This destructor overrides Tizen::Base::Object::~Object().
68          *
69          * @since       2.0
70          */
71         virtual ~EmailContact(void);
72
73         /**
74          * Checks whether the value of the specified instance is equal to the value of the current instance of Tizen::Base::Object.
75          *
76          * @since       2.0
77          *
78          * @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
79          *                      else @c false
80          * @param[in]   rhs             An instance of Tizen::Base::Object to compare
81          */
82         virtual bool Equals(const Tizen::Base::Object& rhs) const;
83
84         /**
85          * Gets the hash value of the current instance.
86          *
87          * @since       2.0
88          *
89          * @return      The hash value of the current instance
90          */
91         virtual int GetHashCode(void) const;
92
93         /**
94          * Gets the addressbook ID.
95          *
96          * @since       2.0
97          *
98          * @return      The addressbook ID
99          */
100         AddressbookId GetAddressbookId(void) const;
101
102         /**
103          * Gets the person ID.
104          *
105          * @since       2.0
106          *
107          * @return      The person ID
108          */
109         PersonId GetPersonId(void) const;
110
111         /**
112          * Gets the contact ID.
113          *
114          * @since       2.0
115          *
116          * @return      The contact ID
117          */
118         RecordId GetContactId(void) const;
119
120         /**
121          * Gets the display name.
122          *
123          * @since       2.0
124          *
125          * @return      The display name
126          */
127         Tizen::Base::String GetDisplayName(void) const;
128
129         /**
130          * Gets the ringtone path.
131          *
132          * @since       2.0
133          *
134          * @return      The ringtone path, @n 
135          *              else an empty string if the ringtone path has not been set for this contact
136          */
137         Tizen::Base::String GetRingtonePath(void) const;
138
139         /**
140          * Gets the thumbnail path.
141          *
142          * @since       2.0
143          *
144          * @return      The thumbnail path, @n
145          *              else an empty string if the thumbnail path has not been set for this contact
146          */
147         Tizen::Base::String GetThumbnailPath(void) const;
148
149         /**
150          * Gets the email.
151          *
152          * @since       2.0
153          *
154          * @return      An Email instance
155          */
156         Email GetEmail(void) const;
157
158         /**
159          * Copying of objects using this copy assignment operator is allowed.
160          *
161          * @since       2.0
162          *
163          * @param[in]   rhs             An instance of %EmailContact
164          */
165         EmailContact& operator =(const EmailContact& rhs);
166
167 private:
168         friend class _EmailContactImpl;
169         class _EmailContactImpl* __pEmailContactImpl;
170
171 };      // EmailContact
172
173 }}      // Tizen::Social
174
175 #endif // _FSCL_EMAIL_CONTACT_H_