Initialize Tizen 2.3
[framework/osp/social.git] / src / inc / FScl_CalTodoChangeInfoImpl.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_CalTodoChangeInfoImpl.h
18  * @brief       This is the header file for the _CalTodoChangeInfoImpl class.
19  *
20  * This header file contains the declarations of the _CalTodoChangeInfoImpl class.
21  */
22
23 #ifndef _FSCL_INTERNAL_CAL_TODO_CHANGE_INFO_IMPL_H_
24 #define _FSCL_INTERNAL_CAL_TODO_CHANGE_INFO_IMPL_H_
25
26 #include <FBaseObject.h>
27 #include <FSclTypes.h>
28
29 namespace Tizen { namespace Social
30 {
31
32 class CalTodoChangeInfo;
33
34 /**
35  *      @class  _CalTodoChangeInfoImpl
36  */
37 class _CalTodoChangeInfoImpl
38         : public Tizen::Base::Object
39 {
40 public:
41         /**
42          * This is the default constructor for this class.
43          *
44          */
45         _CalTodoChangeInfoImpl(void);
46
47         /**
48          * Copying of objects using this copy constructor is allowed.
49          *
50          * @param[in]   rhs             An instance of _CalTodoChangeInfoImpl
51          */
52         _CalTodoChangeInfoImpl(const _CalTodoChangeInfoImpl& rhs);
53
54         /**
55          * This destructor overrides Tizen::Base::Object::~Object().
56          */
57         virtual ~_CalTodoChangeInfoImpl(void);
58
59         /**
60          * Compares the input Object with the calling %_CalTodoChangeInfoImpl instance.
61          *
62          * @return              @c true if the input object equals the calling %_CalTodoChangeInfoImpl instance, @n
63                                         else @c false
64          * @param[in]   rhs     The object instance to compare with the calling object
65          */
66         virtual bool Equals(const Tizen::Base::Object& rhs) const;
67
68         /**
69          * Gets the hash value of the current instance.
70          *
71          * @return              The hash value of the current instance
72          */
73         virtual int GetHashCode(void) const;
74
75         /**
76          * Gets the change type.
77          *
78          * @return              The change type
79          */
80         RecordChangeType GetChangeType(void) const;
81
82         /**
83          * Gets the changed event Id.
84          *
85          * @return              The changed event Id
86          */
87         RecordId GetTodoId(void) const;
88
89         /**
90          * Gets the calendar ID that the changed event belongs to.
91          *
92          * @return              The calendar ID that the changed event belongs to
93          */
94         RecordId GetCalendarId(void) const;
95
96         /**
97          * Gets the version of the change.
98          *
99          * @return              The version of the change
100          */
101         int GetVersion(void) const;
102
103         /**
104          * Sets the change type.
105          *
106          * @param[in]   changeType                      The change type
107          */
108         void SetChangeType(RecordChangeType changeType);
109
110         /**
111          * Sets the event ID.
112          *
113          * @param[in]   todoId                  The event ID
114          */
115         void SetTodoId(RecordId todoId);
116
117         /**
118          * Sets the calendar ID.
119          *
120          * @param[in]   accountId                       The calendar ID
121          */
122         void SetCalendarId(RecordId calendarId);
123
124         /**
125          * Sets the version.
126          *
127          * @param[in]   version                 The version
128          */
129         void SetVersion(int version);
130
131         /**
132          * Gets the Impl instance.
133          *
134          * @return                      The pointer to _CalTodoChangeInfoImpl
135          * @param[in]   calTodoChangeInfo               An instance of %CalTodoChangeInfo class
136          */
137         static _CalTodoChangeInfoImpl* GetInstance(CalTodoChangeInfo& calTodoChangeInfo);
138
139         /**
140          * Gets the Impl instance.
141          *
142          * @return                      The pointer to const _CalTodoChangeInfoImpl
143          * @param[in]   calTodoChangeInfo               A const instance of %CalTodoChangeInfo class
144          */
145         static const _CalTodoChangeInfoImpl* GetInstance(const CalTodoChangeInfo& calTodoChangeInfo);
146
147         /**
148          * Copying of objects using this copy assignment operator is allowed.
149          *
150          * @param[in]   rhs             An instance of _CalTodoChangeInfoImpl
151          */
152         _CalTodoChangeInfoImpl& operator =(const _CalTodoChangeInfoImpl& rhs);
153
154 private:
155         RecordChangeType __changeType;
156         RecordId __todoId;
157         RecordId __calendarId;
158         int __version;
159
160 };      // _CalTodoChangeInfoImpl
161
162 }}      // Tizen::Social
163
164 #endif //_FSCL_INTERNAL_CAL_TODO_CHANGE_INFO_IMPL_H_