Merge "Export internal APIs needed by samsung-socil" into tizen_2.1
[framework/osp/social.git] / src / FScl_AccountDbChangeEventArg.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_AccountDbChangeEventArg.h
18  * @brief       This is the header file for the _AccountDbChangeEventArg class.
19  *
20  * This file contains the declarations of _AccountDbChangeEventArg.
21  */
22
23 #ifndef _FSCL_INTERNAL_ACCOUNT_DB_CHANGE_EVENT_ARG_H_
24 #define _FSCL_INTERNAL_ACCOUNT_DB_CHANGE_EVENT_ARG_H_
25
26 #include <FBaseObject.h>
27 #include <FBaseRtIEventArg.h>
28 #include <FSclTypes.h>
29
30 namespace Tizen { namespace Social
31 {
32
33 enum _AccountDbChangeType
34 {
35         _ACCOUNT_DB_CHANGE_TYPE_ADD,
36         _ACCOUNT_DB_CHANGE_TYPE_UPDATE,
37         _ACCOUNT_DB_CHANGE_TYPE_REMOVE
38 };
39
40 class _AccountDbChangeEventArg
41         : public Tizen::Base::Object
42         , public Tizen::Base::Runtime::IEventArg
43 {
44 public:
45         /**
46          * Initializes this instance of %_AccountDbChangeEventArg with the specified value.
47          *
48          * @since       2.1
49          *
50          * @param[in]   value   A _AccountDbChangeType type
51          */
52         _AccountDbChangeEventArg(AccountId accountId, _AccountDbChangeType changeType);
53
54         /**
55          * This destructor overrides Tizen::Base::Object::~Object().
56          *
57          * @since       2.1
58          */
59         virtual ~_AccountDbChangeEventArg(void);
60
61         AccountId GetAccountId(void) const;
62
63         _AccountDbChangeType GetChangeType(void) const;
64
65 private:
66         /**
67          * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
68          *
69          * @since       2.1
70          */
71         _AccountDbChangeEventArg(const _AccountDbChangeEventArg& rhs);
72
73         /**
74          * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
75          *
76          * @since       2.1
77          */
78         _AccountDbChangeEventArg& operator =(const _AccountDbChangeEventArg& rhs);
79
80 private:
81         AccountId __accountId;
82         _AccountDbChangeType __changeType;
83 };
84
85 }} // Tizen::Social
86
87 #endif // _FSCL_INTERNAL_ACCOUNT_DB_CHANGE_EVENT_ARG_H_