c48dca23b8c792b2023aad875e1d950f1f9fc426
[framework/osp/social.git] / inc / FSclCalEventChangeInfo.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               FSclCalEventChangeInfo.h
19   * @brief      This is the header file for the %CalEventChangeInfo class.
20   *
21   * This header file contains the declarations of the %CalEventChangeInfo class.
22   */
23 #ifndef _FSCL_CAL_EVENT_CHANGE_INFO_H_
24 #define _FSCL_CAL_EVENT_CHANGE_INFO_H_
25
26 #include <FBaseObject.h>
27 #include <FSclTypes.h>
28
29 namespace Tizen { namespace Social
30 {
31
32 /**
33  * @class       CalEventChangeInfo
34  * @brief       This class represents the calendar event change information.
35  *
36  * @since       2.0
37  *
38  * @final       This class is not intended for extension.
39  *
40  *      The %CalEventChangeInfo class represents the change information of an event that is managed in calendarbook.
41  */
42 class _OSP_EXPORT_ CalEventChangeInfo
43         : public Tizen::Base::Object
44 {
45 public:
46         /**
47          * This is the default constructor for this class.
48          *
49          * @since       2.0
50          */
51         CalEventChangeInfo(void);
52
53         /**
54          * Copying of objects using this copy constructor is allowed.
55          *
56          * @since       2.0
57          *
58          * @param[in]   rhs             An instance of %CalEventChangeInfo
59          */
60         CalEventChangeInfo(const CalEventChangeInfo& rhs);
61
62         /**
63          * This destructor overrides Tizen::Base::Object::~Object().
64          *
65          * @since       2.0
66          */
67         virtual ~CalEventChangeInfo(void);
68
69         /**
70          * Compares the input Tizen::Base::Object with the calling %CalEventChangeInfo instance.
71          *
72          * @since       2.0
73          *
74          * @return              @c true if the input object equals the calling %CalEventChangeInfo instance, @n
75          *                              else @c false
76          * @param[in]   rhs     The object instance to compare with the calling object
77          * @see                 GetHashCode()
78          */
79         virtual bool Equals(const Tizen::Base::Object& rhs) const;
80
81         /**
82          * Gets the hash value of the current instance.
83          *
84          * @since       2.0
85          *
86          * @return              The hash value of the current instance
87          */
88         virtual int GetHashCode(void) const;
89
90         /**
91          * Gets the change type.
92          *
93          * @since       2.0
94          *
95          * @return              The change type
96          */
97         RecordChangeType GetChangeType(void) const;
98
99         /**
100          * Gets the changed event ID.
101          *
102          * @since       2.0
103          *
104          * @return              The changed event ID
105          */
106         RecordId GetEventId(void) const;
107
108         /**
109          * Gets the calendar ID to which the changed event belongs.
110          *
111          * @since       2.0
112          *
113          * @return              The calendar ID to which the changed event belongs
114          */
115         RecordId GetCalendarId(void) const;
116
117         /**
118          * Gets the version of the change.
119          *
120          * @since       2.0
121          *
122          * @return              The version of the change
123          */
124         int GetVersion(void) const;
125
126         /**
127          * Copying of objects using this copy assignment operator is allowed.
128          *
129          * @since       2.0
130          *
131          * @param[in]   rhs             An instance of %CalEventChangeInfo
132          */
133         CalEventChangeInfo& operator =(const CalEventChangeInfo& rhs);
134
135 private:
136         friend class _CalEventChangeInfoImpl;
137         class _CalEventChangeInfoImpl* __pCalEventChangeInfoImpl;
138
139 };      // CalEventChangeInfo
140
141 }}      // Tizen::Social
142
143 #endif // _FSCL_CAL_EVENT_CHANGE_INFO_H_
144