225329ba7c0b51a3f445ba8316e869cc81d94293
[platform/framework/web/chromium-efl.git] / tizen_src / ewk / efl_integration / public / ewk_object.h
1 // copyright (C) 2012 Intel Corporation. All rights reserved.
2 // Copyright 2014 Samsung Electronics. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5
6 /**
7  * @file    ewk_object.h
8  * @brief   Describes the Ewk Ref Counted API.
9  */
10
11 #ifndef ewk_object_h
12 #define ewk_object_h
13
14 #include <Eina.h>
15 #include <tizen.h>
16
17 #ifdef __cplusplus
18 extern "C" {
19 #endif
20
21 /** Creates a type name for Ewk_Object */
22 typedef struct EwkObject Ewk_Object;
23
24 /**
25  * Increases the reference count of the given Ewk_Object.
26  *
27  * @param object the Ewk_Object instance to increase the reference count
28  *
29  * @return a pointer to the object on success, @c NULL otherwise.
30  */
31 EXPORT_API Ewk_Object *ewk_object_ref(Ewk_Object *object);
32
33 /**
34  * Decreases the reference count of the given Ewk_Object, possibly freeing it.
35  *
36  * When the reference count reaches 0, the item is freed.
37  *
38  * @param object the Ewk_Object instance to decrease the reference count
39  */
40 EXPORT_API void ewk_object_unref(Ewk_Object *object);
41
42 #ifdef __cplusplus
43 }
44 #endif
45
46 #endif // ewk_object_h