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