diff options
author | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2017-09-22 17:10:42 +0200 |
---|---|---|
committer | Daniel Kolesa <d.kolesa@osg.samsung.com> | 2017-09-22 17:10:42 +0200 |
commit | f36e5bd543a1fed2bc93bc803e326684269e28d0 (patch) | |
tree | 78095130c96a60af66a74c8fd1859b8176cddaa1 /src/lib | |
parent | fdd27cadf837bf3df7e8174030b3630d2649350b (diff) |
eolian: add mstring
This is a new type representing a mutable string (no const).
Regular strings cannot be made mutable with @owned because
they might be hidden behind typedefs.
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/ecore_con/efl_net_dialer_http.eo | 2 | ||||
-rw-r--r-- | src/lib/elementary/efl_access_action.eo | 2 | ||||
-rw-r--r-- | src/lib/elementary/elm_entry.eo | 2 | ||||
-rw-r--r-- | src/lib/elementary/elm_interface_atspi_text.eo | 6 | ||||
-rw-r--r-- | src/lib/elementary/elm_web.eo | 4 | ||||
-rw-r--r-- | src/lib/eolian/database_type.c | 7 | ||||
-rw-r--r-- | src/lib/eolian/eo_lexer.c | 2 | ||||
-rw-r--r-- | src/lib/eolian/eo_lexer.h | 3 | ||||
-rw-r--r-- | src/lib/evas/canvas/efl_canvas_text.eo | 2 |
9 files changed, 13 insertions, 17 deletions
diff --git a/src/lib/ecore_con/efl_net_dialer_http.eo b/src/lib/ecore_con/efl_net_dialer_http.eo index 0e6244de9f..af2a3d8f0c 100644 --- a/src/lib/ecore_con/efl_net_dialer_http.eo +++ b/src/lib/ecore_con/efl_net_dialer_http.eo | |||
@@ -383,7 +383,7 @@ class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) { | |||
383 | params { | 383 | params { |
384 | epochtime: int64; [[UNIX Epoch time - seconds since 1/1/1970]] | 384 | epochtime: int64; [[UNIX Epoch time - seconds since 1/1/1970]] |
385 | } | 385 | } |
386 | return: string @owned @warn_unused; [[Newly allocated null-terminated string on success or NULL on errors]] | 386 | return: mstring @owned @warn_unused; [[Newly allocated null-terminated string on success or NULL on errors]] |
387 | } | 387 | } |
388 | } | 388 | } |
389 | 389 | ||
diff --git a/src/lib/elementary/efl_access_action.eo b/src/lib/elementary/efl_access_action.eo index 577464cc93..931ecf2fd6 100644 --- a/src/lib/elementary/efl_access_action.eo +++ b/src/lib/elementary/efl_access_action.eo | |||
@@ -59,7 +59,7 @@ mixin Efl.Access.Action () | |||
59 | params { | 59 | params { |
60 | @in id: int; [[ID for widget]] | 60 | @in id: int; [[ID for widget]] |
61 | } | 61 | } |
62 | return: string @owned @warn_unused; [[Should be freed by the user.]] | 62 | return: mstring @owned @warn_unused; [[Should be freed by the user.]] |
63 | } | 63 | } |
64 | } | 64 | } |
65 | } | 65 | } |
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo index 11f2af6be9..a76fda2356 100644 --- a/src/lib/elementary/elm_entry.eo +++ b/src/lib/elementary/elm_entry.eo | |||
@@ -632,7 +632,7 @@ class Elm.Entry (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, | |||
632 | Only the text is returned, any format that may exist will not be part | 632 | Only the text is returned, any format that may exist will not be part |
633 | of the return value. You must free the string when done with \@ref free. | 633 | of the return value. You must free the string when done with \@ref free. |
634 | ]] | 634 | ]] |
635 | return: string @owned @warn_unused; [[Character]] | 635 | return: mstring @owned @warn_unused; [[Character]] |
636 | } | 636 | } |
637 | } | 637 | } |
638 | @property selection { | 638 | @property selection { |
diff --git a/src/lib/elementary/elm_interface_atspi_text.eo b/src/lib/elementary/elm_interface_atspi_text.eo index 8485d0885a..3cd2ddcaaa 100644 --- a/src/lib/elementary/elm_interface_atspi_text.eo +++ b/src/lib/elementary/elm_interface_atspi_text.eo | |||
@@ -70,7 +70,7 @@ interface Elm.Interface.Atspi.Text () | |||
70 | end_offset: ptr(int); [[Offset indicating end of string according to given granularity. -1 in case of error.]] | 70 | end_offset: ptr(int); [[Offset indicating end of string according to given granularity. -1 in case of error.]] |
71 | } | 71 | } |
72 | values { | 72 | values { |
73 | string: string @owned; [[Newly allocated UTF-8 encoded string. Must be free by a user.]] | 73 | string: mstring @owned; [[Newly allocated UTF-8 encoded string. Must be free by a user.]] |
74 | } | 74 | } |
75 | } | 75 | } |
76 | @property text @protected { | 76 | @property text @protected { |
@@ -82,7 +82,7 @@ interface Elm.Interface.Atspi.Text () | |||
82 | end_offset: int; [[End offset of text.]] | 82 | end_offset: int; [[End offset of text.]] |
83 | } | 83 | } |
84 | values { | 84 | values { |
85 | text: string @owned; [[UTF-8 encoded text.]] | 85 | text: mstring @owned; [[UTF-8 encoded text.]] |
86 | } | 86 | } |
87 | } | 87 | } |
88 | @property caret_offset @protected { | 88 | @property caret_offset @protected { |
@@ -108,7 +108,7 @@ interface Elm.Interface.Atspi.Text () | |||
108 | end_offset: ptr(int); [[Position in text to which given attribute is set.]] | 108 | end_offset: ptr(int); [[Position in text to which given attribute is set.]] |
109 | } | 109 | } |
110 | values { | 110 | values { |
111 | value: string @owned; [[Value of text attribute. Should be free()]] | 111 | value: mstring @owned; [[Value of text attribute. Should be free()]] |
112 | } | 112 | } |
113 | } | 113 | } |
114 | @property attributes @protected { | 114 | @property attributes @protected { |
diff --git a/src/lib/elementary/elm_web.eo b/src/lib/elementary/elm_web.eo index f1c8e986ec..db349fd100 100644 --- a/src/lib/elementary/elm_web.eo +++ b/src/lib/elementary/elm_web.eo | |||
@@ -339,8 +339,8 @@ class Elm.Web (Elm.Widget) | |||
339 | The string returned must be freed by the user when it's done | 339 | The string returned must be freed by the user when it's done |
340 | with it. | 340 | with it. |
341 | ]] | 341 | ]] |
342 | /* FIXME: const doesn't belong here */ | 342 | /* FIXME: owned const string? */ |
343 | return: const(string) @owned @warn_unused; [[A newly allocated string, or | 343 | return: string @owned @warn_unused; [[A newly allocated string, or |
344 | $null if nothing is selected | 344 | $null if nothing is selected |
345 | or an error occurred.]] | 345 | or an error occurred.]] |
346 | } | 346 | } |
diff --git a/src/lib/eolian/database_type.c b/src/lib/eolian/database_type.c index d9a8f17661..a05fa25fa5 100644 --- a/src/lib/eolian/database_type.c +++ b/src/lib/eolian/database_type.c | |||
@@ -146,12 +146,7 @@ database_type_to_str(const Eolian_Type *tp, Eina_Strbuf *buf, const char *name, | |||
146 | } | 146 | } |
147 | int kw = eo_lexer_keyword_str_to_id(tp->name); | 147 | int kw = eo_lexer_keyword_str_to_id(tp->name); |
148 | if (kw && eo_lexer_is_type_keyword(kw)) | 148 | if (kw && eo_lexer_is_type_keyword(kw)) |
149 | { | 149 | eina_strbuf_append(buf, eo_lexer_get_c_type(kw)); |
150 | /* FIXME: deal with aliased strings? */ | ||
151 | if ((kw == KW_string) && !tp->owned) | ||
152 | eina_strbuf_append(buf, "const "); | ||
153 | eina_strbuf_append(buf, eo_lexer_get_c_type(kw)); | ||
154 | } | ||
155 | else | 150 | else |
156 | eina_strbuf_append(buf, tp->name); | 151 | eina_strbuf_append(buf, tp->name); |
157 | } | 152 | } |
diff --git a/src/lib/eolian/eo_lexer.c b/src/lib/eolian/eo_lexer.c index caae8dd9bb..dc5d01fe3c 100644 --- a/src/lib/eolian/eo_lexer.c +++ b/src/lib/eolian/eo_lexer.c | |||
@@ -75,7 +75,7 @@ static const char * const ctypes[] = | |||
75 | 75 | ||
76 | "Eina_Accessor", "Eina_Array", "Eina_Iterator", "Eina_Hash", "Eina_List", | 76 | "Eina_Accessor", "Eina_Array", "Eina_Iterator", "Eina_Hash", "Eina_List", |
77 | "Efl_Future", | 77 | "Efl_Future", |
78 | "Eina_Value", "char *", "Eina_Stringshare *", | 78 | "Eina_Value", "char *", "const char *", "Eina_Stringshare *", |
79 | 79 | ||
80 | "void *", | 80 | "void *", |
81 | 81 | ||
diff --git a/src/lib/eolian/eo_lexer.h b/src/lib/eolian/eo_lexer.h index 2e7d0e5f7b..88e68a4690 100644 --- a/src/lib/eolian/eo_lexer.h +++ b/src/lib/eolian/eo_lexer.h | |||
@@ -54,7 +54,8 @@ enum Tokens | |||
54 | \ | 54 | \ |
55 | KW(accessor), KW(array), KW(iterator), KW(hash), KW(list), \ | 55 | KW(accessor), KW(array), KW(iterator), KW(hash), KW(list), \ |
56 | KW(future), \ | 56 | KW(future), \ |
57 | KW(generic_value), KW(string), KW(stringshare), \ | 57 | KW(generic_value), \ |
58 | KW(mstring), KW(string), KW(stringshare), \ | ||
58 | \ | 59 | \ |
59 | KW(void_ptr), \ | 60 | KW(void_ptr), \ |
60 | KW(__builtin_free_cb), \ | 61 | KW(__builtin_free_cb), \ |
diff --git a/src/lib/evas/canvas/efl_canvas_text.eo b/src/lib/evas/canvas/efl_canvas_text.eo index 7d7b0f9b33..b0f075f1bf 100644 --- a/src/lib/evas/canvas/efl_canvas_text.eo +++ b/src/lib/evas/canvas/efl_canvas_text.eo | |||
@@ -159,7 +159,7 @@ Efl.Text.Font, Efl.Text.Style, Efl.Text.Format, Efl.Text.Cursor, Efl.Text.Annota | |||
159 | @since 1.18 | 159 | @since 1.18 |
160 | ]] | 160 | ]] |
161 | legacy: null; | 161 | legacy: null; |
162 | return: string @owned; [[The text in the given range]] | 162 | return: mstring @owned; [[The text in the given range]] |
163 | params { | 163 | params { |
164 | @in cur1: const(ptr(Efl.Text.Cursor.Cursor)); [[Start of range]] | 164 | @in cur1: const(ptr(Efl.Text.Cursor.Cursor)); [[Start of range]] |
165 | @in cur2: const(ptr(Efl.Text.Cursor.Cursor)); [[End of range]] | 165 | @in cur2: const(ptr(Efl.Text.Cursor.Cursor)); [[End of range]] |