edbus: unexport edbus_message_signal_new()
[platform/upstream/eldbus.git] / src / lib / edbus_private.h
1 #ifndef EDBUS_PRIVATE_H
2 #define EDBUS_PRIVATE_H
3
4 #include <Eina.h>
5 #include "eina_safety_checks.h"
6 #include "EDBus.h"
7 #include "edbus_private_types.h"
8
9 extern int _edbus_log_dom;
10 #define DBG(...)      EINA_LOG_DOM_DBG(_edbus_log_dom, __VA_ARGS__)
11 #define INF(...)      EINA_LOG_DOM_INFO(_edbus_log_dom, __VA_ARGS__)
12 #define WRN(...)      EINA_LOG_DOM_WARN(_edbus_log_dom, __VA_ARGS__)
13 #define ERR(...)      EINA_LOG_DOM_ERR(_edbus_log_dom, __VA_ARGS__)
14 #define CRITICAL(...) EINA_LOG_DOM_CRIT(_edbus_log_dom, __VA_ARGS__)
15
16 #define EDBUS_CONNECTION_MAGIC        (0xdb050001)
17 #define EDBUS_MESSAGE_MAGIC           (0xdb050002)
18 #define EDBUS_SIGNAL_HANDLER_MAGIC    (0xdb050003)
19 #define EDBUS_PENDING_MAGIC           (0xdb050004)
20 #define EDBUS_OBJECT_MAGIC            (0xdb050005)
21 #define EDBUS_PROXY_MAGIC             (0xdb050006)
22 #define EDBUS_MESSAGE_ITERATOR_MAGIC  (0xdb050007)
23 #define EDBUS_SERVICE_INTERFACE_MAGIC (0xdb050008)
24
25 void                   edbus_cbs_free_dispatch(Eina_Inlist **p_lst, const void *dead_pointer);
26 Eina_Inlist           *edbus_cbs_free_add(Eina_Inlist *lst, EDBus_Free_Cb cb, const void *data);
27 Eina_Inlist           *edbus_cbs_free_del(Eina_Inlist *lst, EDBus_Free_Cb cb, const void *data);
28
29 void                   edbus_data_set(Eina_Inlist **p_lst, const char *key, const void *data) EINA_ARG_NONNULL(1, 2, 3);
30 void                  *edbus_data_get(Eina_Inlist **p_lst, const char *key) EINA_ARG_NONNULL(1, 2);
31 void                  *edbus_data_del(Eina_Inlist **p_lst, const char *key) EINA_ARG_NONNULL(1, 2);
32 void                   edbus_data_del_all(Eina_Inlist **p_list) EINA_ARG_NONNULL(1);
33
34 Eina_Bool              edbus_message_init(void);
35 void                   edbus_message_shutdown(void);
36 EDBus_Message         *edbus_message_new(Eina_Bool writable);
37
38 Eina_Bool              edbus_signal_handler_init(void);
39 void                   edbus_signal_handler_shutdown(void);
40
41 Eina_Bool              edbus_pending_init(void);
42 void                   edbus_pending_shutdown(void);
43
44 Eina_Bool              edbus_object_init(void);
45 void                   edbus_object_shutdown(void);
46
47 Eina_Bool              edbus_proxy_init(void);
48 void                   edbus_proxy_shutdown(void);
49
50 Eina_Bool              edbus_service_init(void);
51 void                   edbus_service_shutdown(void);
52
53 void                   edbus_connection_event_callback_call(EDBus_Connection *conn, EDBus_Connection_Event_Type type, const void *event_info) EINA_ARG_NONNULL(1);
54
55 Eina_Bool              edbus_object_proxy_del(EDBus_Object *obj, EDBus_Proxy *proxy, const char *interface) EINA_ARG_NONNULL(1, 2);
56
57 void                   edbus_connection_signal_handler_add(EDBus_Connection *conn, EDBus_Signal_Handler *handler) EINA_ARG_NONNULL(1, 2);
58 void                   edbus_connection_pending_add(EDBus_Connection *conn, EDBus_Pending *pending) EINA_ARG_NONNULL(1, 2);
59 void                   edbus_connection_signal_handler_del(EDBus_Connection *conn, EDBus_Signal_Handler *handler) EINA_ARG_NONNULL(1, 2);
60 void                   edbus_connection_signal_handler_del(EDBus_Connection *conn, EDBus_Signal_Handler *handler) EINA_ARG_NONNULL(1, 2);
61 void                   edbus_connection_pending_del(EDBus_Connection *conn, EDBus_Pending *pending) EINA_ARG_NONNULL(1, 2);
62
63 EDBus_Object          *edbus_connection_name_object_get(EDBus_Connection *conn, const char *name, const char *path);
64 void                   edbus_connection_name_object_set(EDBus_Connection *conn, EDBus_Object *obj);
65
66 Eina_Bool              edbus_object_proxy_add(EDBus_Object *obj, EDBus_Proxy *proxy) EINA_ARG_NONNULL(1, 2);
67 EDBus_Proxy           *edbus_object_proxy_get(EDBus_Object *obj, const char *interface);
68
69 void                   edbus_connection_name_object_del(EDBus_Connection *conn, const EDBus_Object *obj);
70 EDBus_Connection_Name *edbus_connection_name_get(EDBus_Connection *conn, const char *name);
71 void                   edbus_connection_name_owner_monitor(EDBus_Connection *conn, EDBus_Connection_Name *cn, Eina_Bool enable);
72
73 EDBus_Pending         *_edbus_connection_send(EDBus_Connection *conn, EDBus_Message *msg, EDBus_Message_Cb cb, const void *cb_data, double timeout);
74
75 EDBus_Message_Iter    *edbus_message_iter_sub_iter_get(EDBus_Message_Iter *iter);
76 Eina_Value            *_message_iter_struct_to_eina_value(EDBus_Message_Iter *iter);
77
78 void                   edbus_connection_name_ref(EDBus_Connection_Name *cn);
79 void                   edbus_connection_name_unref(EDBus_Connection *conn, EDBus_Connection_Name *cn);
80 EDBus_Signal_Handler  *_edbus_signal_handler_add(EDBus_Connection *conn, const char *sender, const char *path, const char *interface, const char *member, EDBus_Signal_Cb cb, const void *cb_data);
81
82 EDBus_Message         *edbus_message_signal_new(const char *path, const char *interface, const char *name) EINA_ARG_NONNULL(1, 2, 3) EINA_WARN_UNUSED_RESULT;
83
84 #ifdef HAVE_VA_LIST_AS_ARRAY
85 #define MAKE_PTR_FROM_VA_LIST(arg) ((va_list *)(arg))
86 #else
87 #define MAKE_PTR_FROM_VA_LIST(arg) (&(arg))
88 #endif
89
90 #endif