Merge "custom eail widget implementation" into tizen
[platform/core/uifw/eail.git] / eail / eail_dynamic_content.h
1 /*
2  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library; see the file COPYING.LIB.  If not, write to
16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19
20 /**
21  * @file eail_dynamic_content.h
22  *
23  * @brief Header for EailDynamicContent implementation
24  */
25
26 #ifndef EAIL_DYNAMIC_CONTENT_H
27 #define EAIL_DYNAMIC_CONTENT_H
28
29 #include <glib-object.h>
30
31 /**
32  * @brief Returns a value corresponding to the type of EailDynamicContent interface
33  */
34 #define EAIL_TYPE_DYNAMIC_CONTENT           (eail_dynamic_content_get_type())
35 /**
36  * @brief Macro upcasts an instance (obj) of a subclass to the EailDynamicContent
37  * interface
38  *
39  * @param obj an AtkObject
40  */
41 #define EAIL_DYNAMIC_CONTENT(obj)  (G_TYPE_CHECK_INSTANCE_CAST((obj), \
42                                  EAIL_TYPE_DYNAMIC_CONTENT, EailDynamicContent))
43 /**
44  * @brief Tests whether object (obj) implements EailDynamicContent interface
45  *
46  * @param obj an AtkObject
47  */
48 #define EAIL_IS_DYNAMIC_CONTENT(obj)        (G_TYPE_CHECK_INSTANCE_TYPE((obj), \
49                                          EAIL_TYPE_DYNAMIC_CONTENT))
50 /**
51  * @brief Gets EailDynamicContent interface structure from an obj (class instance)
52  *
53  * @param obj object instance to get EailDynamicContent interface from
54  */
55 #define EAIL_DYNAMIC_CONTENT_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE((obj),\
56                               EAIL_TYPE_DYNAMIC_CONTENT, EailDynamicContentIface))
57
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61
62 /** @brief Definition of object structure for Atk EailDynamicContent*/
63 typedef struct _EailDynamicContent      EailDynamicContent;
64 /** @brief Definition of interface structure for Atk EailDynamicContent*/
65 typedef struct _EailDynamicContentIface EailDynamicContentIface;
66
67 /** @brief Definition of interface structure for Atk EailDynamicContent*/
68 struct _EailDynamicContentIface
69 {
70    GTypeInterface parent;/**< @brief parent interface that is being extended*/
71
72    /**@brief callback definition for eail_dynamic_content_update_hierarchy func*/
73    void (*update_hierarchy)            (EailDynamicContent   *parent);
74 };
75
76 GType eail_dynamic_content_get_type(void);
77 void eail_dynamic_content_update_hierarchy(EailDynamicContent *parent);
78
79 #ifdef __cplusplus
80 }
81 #endif
82
83 #endif