Fix code for TDIS-5396
[framework/osp/social.git] / src / FScl_ContactChangeInfoImpl.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                FScl_ContactChangeInfoImpl.h
19  * @brief               This is the header file for the %_ContactChangeInfoImpl class.
20  *
21  * This header file contains the declarations of the %_ContactChangeInfoImpl class.
22  */
23 #ifndef _FSCL_INTERNAL_CONTACT_CHANGE_INFO_IMPL_H_
24 #define _FSCL_INTERNAL_CONTACT_CHANGE_INFO_IMPL_H_
25
26 #include <FBaseObject.h>
27 #include <FSclRecord.h>
28 #include <FSclTypes.h>
29
30 namespace Tizen { namespace Social
31 {
32 class ContactChangeInfo;
33
34 /**
35  * @class       _ContactChangeInfoImpl
36  * @brief       This class provides a contact change information.
37  * @since       2.0
38  *
39  * The %_ContactChangeInfoImpl class provides a contact change information
40  *
41  */
42 class _ContactChangeInfoImpl
43         : public Tizen::Base::Object
44 {
45 public:
46         /**
47          * This is default constructor for this class.
48          *
49          * @since       2.0
50          */
51         _ContactChangeInfoImpl(void);
52
53         /**
54          * Copying of objects using this copy constructor is allowed.
55          *
56          * @since       2.0
57          */
58         _ContactChangeInfoImpl(const _ContactChangeInfoImpl& rhs);
59
60         /**
61          * This destructor overrides Tizen::Base::Object::~Object().
62          *
63          * @since       2.0
64          */
65         virtual ~_ContactChangeInfoImpl(void);
66
67         virtual bool Equals(const Tizen::Base::Object& rhs) const;
68
69         virtual int GetHashCode(void) const;
70
71         void SetAddressbookId(AddressbookId addressbookId);
72
73         AddressbookId GetAddressbookId(void) const;
74
75         void SetContactId(RecordId contactId);
76
77         RecordId GetContactId(void) const;
78
79         void SetVersion(int version);
80
81         int GetVersion(void) const;
82
83         void SetChangeType(RecordChangeType type);
84
85         RecordChangeType GetChangeType(void) const;
86
87         bool IsThumbnailChanged(void) const;
88
89         void SetThumbnailChangeStatus(bool isChanged);
90
91         static _ContactChangeInfoImpl* GetInstance(ContactChangeInfo& contactChangeInfo);
92
93         static const _ContactChangeInfoImpl* GetInstance(const ContactChangeInfo& contactChangeInfo);
94
95         /**
96          * Copying of objects using this copy assignment operator is allowed.
97          *
98          * @since       2.0
99          */
100         _ContactChangeInfoImpl& operator =(const _ContactChangeInfoImpl& rhs);
101
102         bool operator ==(const _ContactChangeInfoImpl& rhs) const;
103
104 private:
105         RecordId __contactId;
106         AddressbookId __addressbookId;
107         int __version;
108         RecordChangeType __changeType;
109         bool __isThumbnailChanged;
110
111 };      // _ContactChangeInfoImpl
112
113 }}      // Tizen::Social
114
115 #endif // _FSCL_INTERNAL_CONTACT_CHANGE_INFO_IMPL_H_