summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@osg.samsung.com>2017-11-02 13:51:02 +0100
committerDaniel Kolesa <d.kolesa@osg.samsung.com>2017-11-02 13:51:02 +0100
commitcf63573e73c098b5f4e10387afc71f6caea7d173 (patch)
tree7de13da42a72780a949ed421533ee9ded775044b /src/lib
parent3989f11f113aac0e9081dc5ed985476425603a20 (diff)
eolian: only allow reference (ownable) types in containers
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ecore_con/efl_net_control.eo2
-rw-r--r--src/lib/ecore_con/efl_net_dialer_http.eo6
-rw-r--r--src/lib/ecore_con/efl_net_dialer_websocket.eo2
-rw-r--r--src/lib/efl/interfaces/efl_gfx_types.eot4
-rw-r--r--src/lib/efl/interfaces/efl_observable.eo2
-rw-r--r--src/lib/elementary/efl_access_action.eo2
-rw-r--r--src/lib/eolian/database_validate.c13
-rw-r--r--src/lib/evas/canvas/efl_canvas_text.eo4
-rw-r--r--src/lib/evas/canvas/evas_canvas3d_node.eo4
9 files changed, 25 insertions, 14 deletions
diff --git a/src/lib/ecore_con/efl_net_control.eo b/src/lib/ecore_con/efl_net_control.eo
index 3e8b70d1a8..d93f459e17 100644
--- a/src/lib/ecore_con/efl_net_control.eo
+++ b/src/lib/ecore_con/efl_net_control.eo
@@ -44,7 +44,7 @@ struct Efl.Net.Control.Agent_Request_Input {
44 access_point: Efl.Net.Control.Access_Point; [[The access point that triggered this request.]] 44 access_point: Efl.Net.Control.Access_Point; [[The access point that triggered this request.]]
45 fields: Efl.Net.Control.Agent_Request_Input.Field; [[Bitwise OR of fields present in this request.]] 45 fields: Efl.Net.Control.Agent_Request_Input.Field; [[Bitwise OR of fields present in this request.]]
46 passphrase_type: string; [[Extra detail on the meaning for the passphrase field, such as wep, psk, response (IEEE802.X GTC/OTP), string...]] 46 passphrase_type: string; [[Extra detail on the meaning for the passphrase field, such as wep, psk, response (IEEE802.X GTC/OTP), string...]]
47 informational: list<Efl.Net.Control.Agent_Request_Input.Information>; [[Such as the previous passphrase, VPN host]] 47 informational: list<ptr(Efl.Net.Control.Agent_Request_Input.Information)>; [[Such as the previous passphrase, VPN host]]
48} 48}
49 49
50struct Efl.Net.Control.Agent_Error { 50struct Efl.Net.Control.Agent_Error {
diff --git a/src/lib/ecore_con/efl_net_dialer_http.eo b/src/lib/ecore_con/efl_net_dialer_http.eo
index af2a3d8f0c..9115cf2a0b 100644
--- a/src/lib/ecore_con/efl_net_dialer_http.eo
+++ b/src/lib/ecore_con/efl_net_dialer_http.eo
@@ -189,7 +189,7 @@ class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) {
189 189
190 request_headers_get { 190 request_headers_get {
191 [[Returns an iterator to the key-value pairs for request headers]] 191 [[Returns an iterator to the key-value pairs for request headers]]
192 return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator for request headers]] 192 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for request headers]]
193 } 193 }
194 194
195 @property request_content_length { 195 @property request_content_length {
@@ -252,7 +252,7 @@ class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) {
252 252
253 This will be usable after "headers,done" event is dispatched. 253 This will be usable after "headers,done" event is dispatched.
254 ]] 254 ]]
255 return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator for response headers]] 255 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for response headers]]
256 } 256 }
257 257
258 response_headers_all_get { 258 response_headers_all_get {
@@ -277,7 +277,7 @@ class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) {
277 277
278 This will be usable after "headers,done" event is dispatched. 278 This will be usable after "headers,done" event is dispatched.
279 ]] 279 ]]
280 return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator for all response headers]] 280 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for all response headers]]
281 } 281 }
282 282
283 response_headers_clear { 283 response_headers_clear {
diff --git a/src/lib/ecore_con/efl_net_dialer_websocket.eo b/src/lib/ecore_con/efl_net_dialer_websocket.eo
index 534f5b7b34..4aef2b4e8e 100644
--- a/src/lib/ecore_con/efl_net_dialer_websocket.eo
+++ b/src/lib/ecore_con/efl_net_dialer_websocket.eo
@@ -268,7 +268,7 @@ class Efl.Net.Dialer.Websocket (Efl.Loop_User, Efl.Net.Dialer) {
268 268
269 request_headers_get { 269 request_headers_get {
270 [[Returns an iterator to the key-value pairs for request headers]] 270 [[Returns an iterator to the key-value pairs for request headers]]
271 return: iterator<Efl.Net.Http.Header> @owned @warn_unused; [[Iterator to key value pairs]] 271 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator to key value pairs]]
272 } 272 }
273 273
274 @property cookie_jar { 274 @property cookie_jar {
diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot b/src/lib/efl/interfaces/efl_gfx_types.eot
index 20ddeea09f..1250d43130 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -158,8 +158,8 @@ enum Efl.Gfx.Change.Flag
158struct Efl.Gfx.Event.Render_Post 158struct Efl.Gfx.Event.Render_Post
159{ 159{
160 [[Data sent along a "render,post" event, after a frame has been rendered.]] 160 [[Data sent along a "render,post" event, after a frame has been rendered.]]
161 updated_area: list <Eina.Rect>; [[A list of rectangles that were 161 updated_area: list<ptr(Eina.Rect)>; [[A list of rectangles that were
162 updated in the canvas.]] 162 updated in the canvas.]]
163} 163}
164 164
165enum Efl.Gfx.Size.Hint.Aspect 165enum Efl.Gfx.Size.Hint.Aspect
diff --git a/src/lib/efl/interfaces/efl_observable.eo b/src/lib/efl/interfaces/efl_observable.eo
index 517113bf27..8aa7bba6c1 100644
--- a/src/lib/efl/interfaces/efl_observable.eo
+++ b/src/lib/efl/interfaces/efl_observable.eo
@@ -56,7 +56,7 @@ class Efl.Observable (Efl.Object) {
56 [[Return a new iterator associated to this observable. 56 [[Return a new iterator associated to this observable.
57 57
58 @since 1.19]] 58 @since 1.19]]
59 return: iterator<Efl.Observable.Tuple> @owned; [[Iterator for observer]] 59 return: iterator<ptr(Efl.Observable.Tuple)> @owned; [[Iterator for observer]]
60 } 60 }
61 } 61 }
62 implements { 62 implements {
diff --git a/src/lib/elementary/efl_access_action.eo b/src/lib/elementary/efl_access_action.eo
index ca5d3457d8..12e313a038 100644
--- a/src/lib/elementary/efl_access_action.eo
+++ b/src/lib/elementary/efl_access_action.eo
@@ -47,7 +47,7 @@ mixin Efl.Access.Action ()
47 get @pure_virtual { 47 get @pure_virtual {
48 } 48 }
49 values { 49 values {
50 actions: list<Elm_Atspi_Action>; [[Contains statically allocated strings]] 50 actions: list<ptr(Elm_Atspi_Action)>; [[Contains statically allocated strings]]
51 } 51 }
52 } 52 }
53 action_do @protected @pure_virtual @beta { 53 action_do @protected @pure_virtual @beta {
diff --git a/src/lib/eolian/database_validate.c b/src/lib/eolian/database_validate.c
index 22df42d8ff..ecfb806b0b 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -181,10 +181,11 @@ _validate_type(Eolian_Type *tp)
181 { 181 {
182 if (tp->base_type) 182 if (tp->base_type)
183 { 183 {
184 int kwid = eo_lexer_keyword_str_to_id(tp->full_name);
184 if (!tp->freefunc) 185 if (!tp->freefunc)
185 { 186 {
186 tp->freefunc = eina_stringshare_add(eo_complex_frees[ 187 tp->freefunc = eina_stringshare_add(eo_complex_frees[
187 eo_lexer_keyword_str_to_id(tp->full_name) - KW_accessor]); 188 kwid - KW_accessor]);
188 } 189 }
189 Eolian_Type *itp = tp->base_type; 190 Eolian_Type *itp = tp->base_type;
190 /* validate types in brackets so freefuncs get written... */ 191 /* validate types in brackets so freefuncs get written... */
@@ -192,6 +193,16 @@ _validate_type(Eolian_Type *tp)
192 { 193 {
193 if (!_validate_type(itp)) 194 if (!_validate_type(itp))
194 return EINA_FALSE; 195 return EINA_FALSE;
196 if ((kwid >= KW_accessor) && (kwid <= KW_list))
197 {
198 if (!database_type_is_ownable(itp))
199 {
200 snprintf(buf, sizeof(buf),
201 "%s cannot contain value types (%s)",
202 tp->full_name, itp->full_name);
203 return _obj_error(&itp->base, buf);
204 }
205 }
195 itp = itp->next_type; 206 itp = itp->next_type;
196 } 207 }
197 return _validate(&tp->base); 208 return _validate(&tp->base);
diff --git a/src/lib/evas/canvas/efl_canvas_text.eo b/src/lib/evas/canvas/efl_canvas_text.eo
index 00a05653df..891dc97e94 100644
--- a/src/lib/evas/canvas/efl_canvas_text.eo
+++ b/src/lib/evas/canvas/efl_canvas_text.eo
@@ -179,7 +179,7 @@ Efl.Text.Cursor, Efl.Text.Annotate, Efl.Text.Markup)
179 @in cur1: const(ptr(Efl.Text.Cursor.Cursor)); [[Start of range]] 179 @in cur1: const(ptr(Efl.Text.Cursor.Cursor)); [[Start of range]]
180 @in cur2: const(ptr(Efl.Text.Cursor.Cursor)); [[End of range]] 180 @in cur2: const(ptr(Efl.Text.Cursor.Cursor)); [[End of range]]
181 } 181 }
182 return: iterator<Eina.Rect> @owned; [[ 182 return: iterator<ptr(Eina.Rect)> @owned; [[
183 Iterator on all geoemtries of the given range 183 Iterator on all geoemtries of the given range
184 ]] 184 ]]
185 } 185 }
@@ -197,7 +197,7 @@ Efl.Text.Cursor, Efl.Text.Annotate, Efl.Text.Markup)
197 @in cur1: ptr(const(Efl.Text.Cursor.Cursor)); [[Start of range]] 197 @in cur1: ptr(const(Efl.Text.Cursor.Cursor)); [[Start of range]]
198 @in cur2: ptr(const(Efl.Text.Cursor.Cursor)); [[End of range]] 198 @in cur2: ptr(const(Efl.Text.Cursor.Cursor)); [[End of range]]
199 } 199 }
200 return: iterator<Eina.Rect> @owned; [[ 200 return: iterator<ptr(Eina.Rect)> @owned; [[
201 Iterator on all simple geometries of the given range 201 Iterator on all simple geometries of the given range
202 ]] 202 ]]
203 } 203 }
diff --git a/src/lib/evas/canvas/evas_canvas3d_node.eo b/src/lib/evas/canvas/evas_canvas3d_node.eo
index 0c19fe9107..f9b18258fc 100644
--- a/src/lib/evas/canvas/evas_canvas3d_node.eo
+++ b/src/lib/evas/canvas/evas_canvas3d_node.eo
@@ -54,8 +54,8 @@ class Evas.Canvas3D.Node (Evas.Canvas3D.Object)
54 } 54 }
55 scene_root_get { 55 scene_root_get {
56 [[Get hash table of scenes using this node as root.]] 56 [[Get hash table of scenes using this node as root.]]
57 57 /* FIXME: void_ptr is actually uintptr and that is also wrong */
58 return: hash<Evas.Canvas3D.Object, uintptr>; [[ scenes using this node as root. FIXME: Actually a scene, not object.]] 58 return: hash<Evas.Canvas3D.Object, void_ptr>; [[ scenes using this node as root. FIXME: Actually a scene, not object.]]
59 } 59 }
60 position_set { 60 position_set {
61 [[Set the position of the given node. 61 [[Set the position of the given node.