Fix for doxygen of deprecated API
[platform/framework/native/social.git] / inc / FSclIAddressbookEventListener.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                FSclIAddressbookEventListener.h
18  * @brief               This is the header file for the %IAddressbookEventListener interface.
19  *
20  * This header file contains the declarations of the %IAddressbookEventListener interface.
21  */
22 #ifndef _FSCL_IADDRESSBOOK_EVENT_LISTENER_H_
23 #define _FSCL_IADDRESSBOOK_EVENT_LISTENER_H_
24
25 #include <FBaseRtIEventListener.h>
26
27 namespace Tizen { namespace Base { namespace Collection {
28 class IList;
29 } } }
30
31 namespace Tizen { namespace Social
32 {
33
34 /**
35  * @interface   IAddressbookEventListener
36  * @brief       <i> [Deprecated] </i> This interface provides a listener that receives the events associated with contact and category changes.
37  *
38  * @deprecated This interface is deprecated. Instead of using this listener, use IAddressbookChangeEventListener.
39  * @since       2.0
40  *
41  * The %IAddressbookEventListener interface provides a listener that receives the events associated with contact and category changes.
42  *
43  */
44 class _OSP_EXPORT_ IAddressbookEventListener
45         : virtual public Tizen::Base::Runtime::IEventListener
46 {
47 public:
48
49         /**
50          * This polymorphic destructor should be overridden if required. This way, the destructors of the derived classes @n
51          * are called when the destructor of this interface is called.
52          *
53          * @since       2.0
54          */
55         virtual ~IAddressbookEventListener(void) {}
56
57         /**
58          * Called to notify when contacts are changed. @n
59          * A list of ContactChangeInfo instances is passed.
60      *
61          * @brief               <i> [Deprecated] </i>
62          * @deprecated          This method is deprecated because the %IAddressbookEventListener interface is deprecated.
63          *
64          * @since       2.0
65          *
66          * @param[in]   contactChangeInfoList   The list of contact change information (@ref ContactChangeInfo list)
67          * @remarks This listener method is called when the following changes have occurred: @n
68          *      - Contacts are added, updated, or removed
69          *      - Contacts are added/removed to/from categories
70          *
71          * The following example demonstrates how to use the %OnContactsChanged() method.
72          * @code
73          * void
74          * MyApplication::OnContactsChangedN(const IList& contactChangeInfoList)
75          * {
76          *    IEnumerator* pEnum = contactChangeInfoList.GetEnumeratorN();
77          *    while (pEnum->MoveNext() == E_SUCCESS)
78          *    {
79          *      ContactChangeInfo* pInfo = (ContactChangeInfo*) pEnum->GetCurrent();
80          *
81          *      AppLog("Contact changed: type(%d), id(%d), version(%d)", pInfo->GetChangeType(), pInfo->GetContctId(), pInfo->GetVersion());
82          *    }
83          *    delete pEnum;
84          * }
85          * @endcode
86          *
87          */
88         virtual void OnContactsChanged(const Tizen::Base::Collection::IList& contactChangeInfoList) = 0;
89
90         /**
91          * Called to notify when categories are changed. @n
92          * A list of CategoryChangeInfo instances is passed.
93      *
94          * @brief               <i> [Deprecated] </i>
95          * @deprecated          This method is deprecated because the %IAddressbookEventListener interface is deprecated.
96          *
97          * @since       2.0
98          *
99          * @param[in]   categoryChangeInfoList  The list of category change information (@ref CategoryChangeInfo list)
100          * @remarks This listener method is called when the following changes have occurred: @n
101          *      - Categories are added, updated, or removed
102          *      - Contacts are added/removed to/from categories
103          *
104          * The following example demonstrates how to use the %OnCategoriesChanged() method.
105          * @code
106          * void
107          * MyApplication::OnCategoriesChangedN(const IList& categoryChangeInfoList)
108          * {
109          *    IEnumerator* pEnum = categoryChangeInfoList.GetEnumeratorN();
110          *    while (pEnum->MoveNext() == E_SUCCESS)
111          *    {
112          *      CategoryChangeInfo* pInfo = (CategoryChangeInfo*) pEnum->GetCurrent();
113          *
114          *      AppLog("Category changed: type(%d), id(%d), version(%d)", pInfo->GetChangeType(), pInfo->GetCategoryId(), pInfo->GetVersion());
115          *    }
116          *    delete pEnum;
117          * }
118          * @endcode
119          *
120          */
121         virtual void OnCategoriesChanged(const Tizen::Base::Collection::IList& categoryChangeInfoList) = 0;
122
123 protected:
124         //
125         // This method is for internal use only. Using this method can cause behavioral, security-related,
126         // and consistency-related issues in the application.
127         // This method is reserved and may change its name at any time without prior notice.
128         //
129         // @since       2.0
130         //
131         virtual void IAddressbookEventListener_Reserved1(void){ }
132
133         //
134         // This method is for internal use only. Using this method can cause behavioral, security-related,
135         // and consistency-related issues in the application.
136         // This method is reserved and may change its name at any time without prior notice.
137         //
138         // @since       2.0
139         //
140         virtual void IAddressbookEventListener_Reserved2(void){ }
141
142         //
143         // This method is for internal use only. Using this method can cause behavioral, security-related,
144         // and consistency-related issues in the application.
145         // This method is reserved and may change its name at any time without prior notice.
146         //
147         // @since       2.0
148         //
149         virtual void IAddressbookEventListener_Reserved3(void){ }
150
151 };      // IAddressbookEventListener
152
153 }}      // Tizen::Social
154
155 #endif // _FSCL_IADDRESSBOOK_EVENT_LISTENER_H_