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