summaryrefslogtreecommitdiff
path: root/src/lib/eldbus/eldbus_service.h
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertisesolutions.com.br>2014-07-08 11:57:08 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2014-07-08 11:57:08 +0900
commit1baf9e48253bb903969ba770f0f565ba6de0c099 (patch)
tree9a868ac6032c8f595128dd6b281b0cd243470d05 /src/lib/eldbus/eldbus_service.h
parent8e496570a77da8ec99595d66daabba85eaff4e7e (diff)
eldbus: Fixes ABI break in Eldbus_Method with appended void* data
Summary: Removed the void* data variable from Eldbus_Method and created another struct that has the void* data and added an array of Eldbus_Method2 in the descriptor for the Eldbus_Service_Interface_Desc and making the appropriate modifications in the implementation to use both descriptions. Reviewers: cedric, stefan_schmidt, raster CC: cedric Maniphest Tasks: T1408 Differential Revision: https://phab.enlightenment.org/D1139
Diffstat (limited to 'src/lib/eldbus/eldbus_service.h')
-rw-r--r--src/lib/eldbus/eldbus_service.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/eldbus/eldbus_service.h b/src/lib/eldbus/eldbus_service.h
index fdf272e..11eff8b 100644
--- a/src/lib/eldbus/eldbus_service.h
+++ b/src/lib/eldbus/eldbus_service.h
@@ -72,9 +72,15 @@ typedef struct _Eldbus_Method
72 const Eldbus_Arg_Info *out; 72 const Eldbus_Arg_Info *out;
73 Eldbus_Method_Cb cb; 73 Eldbus_Method_Cb cb;
74 unsigned int flags; 74 unsigned int flags;
75 void* data; // @since 1.11
76} Eldbus_Method; 75} Eldbus_Method;
77 76
77// @since 1.11
78typedef struct _Eldbus_Method2
79{
80 Eldbus_Method method;
81 void* data;
82} Eldbus_Method2;
83
78typedef struct _Eldbus_Signal 84typedef struct _Eldbus_Signal
79{ 85{
80 const char *name; 86 const char *name;
@@ -99,6 +105,7 @@ typedef struct _Eldbus_Service_Interface_Desc
99 const Eldbus_Property *properties; /**< array of property that this interface have, the last item of array should be filled with NULL */ 105 const Eldbus_Property *properties; /**< array of property that this interface have, the last item of array should be filled with NULL */
100 const Eldbus_Property_Get_Cb default_get; /**< default get function, if a property don't have a get function this will be used */ 106 const Eldbus_Property_Get_Cb default_get; /**< default get function, if a property don't have a get function this will be used */
101 const Eldbus_Property_Set_Cb default_set; /**< default set function, if a property don't have a set function this will be used */ 107 const Eldbus_Property_Set_Cb default_set; /**< default set function, if a property don't have a set function this will be used */
108 const Eldbus_Method2 *methods2; /**< array of the methods that should be registered in this interface, the last item of array should be filled with NULL @since 1.11 */
102} Eldbus_Service_Interface_Desc; 109} Eldbus_Service_Interface_Desc;
103 110
104/** 111/**