0a59799e0247c6fb38e654f126f1381e94e99b14
[framework/osp/social.git] / src / FSclCalendarbookFilter.cpp
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         FSclCalendarbookFilter.cpp
19 * @brief        This is the implementation for CalendarbookFilter class.
20 *
21 * This file contains definitions of @e CalendarbookFilter class.
22 */
23
24 #include <FSclCalendarbookFilter.h>
25 #include <FBaseSysLog.h>
26 #include "FScl_CalendarbookFilterImpl.h"
27
28 using namespace Tizen::App;
29 using namespace Tizen::Base;
30
31 namespace Tizen { namespace Social
32 {
33 CalendarbookFilter::CalendarbookFilter(CalendarbookFilterType type)
34 {
35         _CalendarbookFilterImpl* pCalendarbookFilterImpl = new (std::nothrow) _CalendarbookFilterImpl(type);
36         SysTryReturnVoidResult(NID_SCL, pCalendarbookFilterImpl, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
37
38         __pCalendarbookFilterImpl = pCalendarbookFilterImpl;
39 }
40
41 CalendarbookFilter::~CalendarbookFilter(void)
42 {
43         delete __pCalendarbookFilterImpl;
44 }
45
46 bool
47 CalendarbookFilter::Equals(const Tizen::Base::Object& rhs) const
48 {
49         const CalendarbookFilter* pCalendarbookFilter = dynamic_cast<const CalendarbookFilter*>(&rhs);
50         if (pCalendarbookFilter == null)
51         {
52                 return false;
53         }
54
55         return __pCalendarbookFilterImpl->Equals(*pCalendarbookFilter->__pCalendarbookFilterImpl);
56 }
57
58 int
59 CalendarbookFilter::GetHashCode(void) const
60 {
61         return __pCalendarbookFilterImpl->GetHashCode();
62 }
63
64 result
65 CalendarbookFilter::AppendInt(FilterConjunctiveOperator conjunctiveOperator, unsigned long filterProperty, FilterComparisonOperator comparisonOperator, int value)
66 {
67         return __pCalendarbookFilterImpl->AppendInt(conjunctiveOperator, filterProperty, comparisonOperator, value);
68 }
69
70 result
71 CalendarbookFilter::AppendDouble(FilterConjunctiveOperator conjunctiveOperator, unsigned long filterProperty, FilterComparisonOperator comparisonOperator, double value)
72 {
73         return __pCalendarbookFilterImpl->AppendDouble(conjunctiveOperator, filterProperty, comparisonOperator, value);
74 }
75
76 result
77 CalendarbookFilter::AppendBool(FilterConjunctiveOperator conjunctiveOperator, unsigned long filterProperty, FilterComparisonOperator comparisonOperator, bool value)
78 {
79         return __pCalendarbookFilterImpl->AppendBool(conjunctiveOperator, filterProperty, comparisonOperator, value);
80 }
81
82 result
83 CalendarbookFilter::AppendDateTime(FilterConjunctiveOperator conjunctiveOperator, unsigned long filterProperty, FilterComparisonOperator comparisonOperator, const Tizen::Base::DateTime& value)
84 {
85         return __pCalendarbookFilterImpl->AppendDateTime(conjunctiveOperator, filterProperty, comparisonOperator, value);
86 }
87
88 result
89 CalendarbookFilter::AppendString(FilterConjunctiveOperator conjunctiveOperator, unsigned long filterProperty, FilterStringOperator comparisonOperator, const Tizen::Base::String& value)
90 {
91         return __pCalendarbookFilterImpl->AppendString(conjunctiveOperator, filterProperty, comparisonOperator, value);
92 }
93
94 result
95 CalendarbookFilter::AppendFilter(FilterConjunctiveOperator conjunctiveOperator, const CalendarbookFilter& filter)
96 {
97         return __pCalendarbookFilterImpl->AppendFilter(conjunctiveOperator, *filter.__pCalendarbookFilterImpl);;
98 }
99
100 }} // Tizen::Social