Initialize Tizen 2.3
[framework/osp/social.git] / src / inc / FScl_ReminderImpl.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_ReminderImpl.h
18  * @brief       This is the header file for the %_ReminderImpl class.
19  *
20  * This header file contains the declarations of the %_ReminderImpl class.
21  */
22 #ifndef _FSCL_INTERNAL_REMINDER_IMPL_H_
23 #define _FSCL_INTERNAL_REMINDER_IMPL_H_
24
25 #include <unique_ptr.h>
26 #include <FBaseObject.h>
27 #include <FSclTypes.h>
28
29 namespace Tizen { namespace Base
30 {
31 class DateTime;
32 }}
33
34 namespace Tizen { namespace Social
35 {
36 class Reminder;
37
38 /**
39  * @class       _ReminderImpl
40  */
41 class _ReminderImpl
42         : public Tizen::Base::Object
43 {
44 public:
45
46         _ReminderImpl(void);
47         _ReminderImpl(const _ReminderImpl& rhs);
48         virtual ~_ReminderImpl(void);
49         virtual bool Equals(const Tizen::Base::Object& rhs) const;
50         virtual int GetHashCode(void) const;
51
52         result SetAbsoluteTime(const Tizen::Base::DateTime& time);
53         Tizen::Base::DateTime GetAbsoluteTime(void) const;
54         bool IsAbsolute(void) const;
55
56         /**
57          * Gets the Impl instance.
58          *
59          * @return                      The pointer to const _ReminderImpl
60          * @param[in]   reminder                A const instance of %Reminder class
61          */
62         static _ReminderImpl* GetInstance(Reminder& reminder);
63
64         /**
65          * Gets the Impl instance.
66          *
67          * @return                      The pointer to const _ReminderImpl
68          * @param[in]   reminder                A const instance of %Reminder class
69          */
70         static const _ReminderImpl* GetInstance(const Reminder& reminder);
71
72         /**
73          * Copying of objects using this copy assignment operator is allowed.
74          *
75          * @since       2.0
76          *
77          * @param[in]   rhs             An instance of %_ReminderImpl
78          */
79         _ReminderImpl& operator =(const _ReminderImpl& rhs);
80
81 private:
82         Tizen::Base::DateTime __absoluteTime;
83         bool __isAbsolute;
84
85         friend class Reminder;
86
87 };      // _ReminderImpl
88
89 }}      // Tizen::Social
90
91 #endif // _FSCL_INTERNAL_REMINDER_IMPL_H_