Merge "Update deprecated libprivilege-control API functions." into tizen
[platform/framework/native/appfw.git] / inc / FBaseColTypes.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 /**
18  * @file                FBaseColTypes.h
19  * @brief               This is the header file for the element deleter.
20  *
21  * This header file contains the declarations of the element deleter.
22  * Depending on the element deleter, the collection decides whether to remove the object or not.
23  */
24 #ifndef _FBASE_COL_TYPES_H_
25 #define _FBASE_COL_TYPES_H_
26
27 #include <FBaseObject.h>
28
29 namespace Tizen { namespace Base { namespace Collection
30 {
31
32 typedef void (*DeleterFunctionType)(Object* pObj);
33
34 /**
35  * Does not remove the object.
36  *
37  * @since 2.0
38  *
39  * @param[in]   pObj            A pointer to the object to remove
40  */
41 _OSP_EXPORT_ void NoOpDeleter(Object* pObj);
42
43 /**
44  * Removes the single object.
45  *
46  * @since 2.0
47  *
48  * @param[in]   pObj            A pointer to the object to remove
49  */
50 _OSP_EXPORT_ void SingleObjectDeleter(Object* pObj);
51
52 /**
53  * Removes the array object.
54  *
55  * @since 2.0
56  *
57  * @param[in]   pObj            A pointer to the object to remove
58  */
59 _OSP_EXPORT_ void ArrayDeleter(Object* pObj);
60
61 }}} // Tizen::Base::Collection
62
63 #endif  // _FBASE_COL_TYPES_H_