Add support for Glib::ustring
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PyBindGen |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Please accept the following patch adding support for Glib::ustring. It affects the file pybindgen/
*** pybindgen-
--- pybindgen-
***************
*** 223,225 ****
--- 223,374 ----
+
+
+
+ class GlibStringParam
+
+ DIRECTIONS = [Parameter.
+ CTYPES = ['Glib::ustring']
+
+ def convert_
+ assert isinstance(wrapper, ReverseWrapperBase)
+ ptr = wrapper.
+ len_ = wrapper.
+ wrapper.
+ "%s = (%s).c_str();" % (ptr, self.value))
+ wrapper.
+ "%s = (%s).size();" % (len_, self.value))
+ wrapper.
+
+ def convert_
+ assert isinstance(wrapper, ForwardWrapperBase)
+ if self.default_value is None:
+ name = wrapper.
+ name_len = wrapper.
+ wrapper.
+ wrapper.
+ else:
+ name = wrapper.
+ name_len = wrapper.
+ wrapper.
+ wrapper.
+ % (name, name, name_len, self.default_
+
+
+ class GlibStringRefPa
+
+ DIRECTIONS = [Parameter.
+ Parameter.
+ Parameter.
+ CTYPES = ['Glib::ustring&']
+
+ def convert_
+ assert isinstance(wrapper, ReverseWrapperBase)
+
+ ptr = None
+ if self.direction & Parameter.
+ ptr = wrapper.
+ len_ = wrapper.
+ wrapper.
+ "%s = (%s).c_str();" % (ptr, self.value))
+ wrapper.
+ "%s = (%s).size();" % (len_, self.value))
+ wrapper.
+
+ if self.direction & Parameter.
+ if ptr is None:
+ ptr = wrapper.
+ len_ = wrapper.
+ wrapper.
+ wrapper.
+ "%s = Glib::ustring(%s, %s);" % (self.value, ptr, len_))
+
+ def convert_
+ assert isinstance(wrapper, ForwardWrapperBase)
+ name = wrapper.
+ name_len = wrapper.
+ name_std = wrapper.
+ wrapper.
+
+ if self.direction & Parameter.
+ wrapper.
+ wrapper.
+ (name_std, name, name_len))
+
+ if self.direction & Parameter.
+ wrapper.
+
+
+ class GlibStringPtrPa
+
+ DIRECTIONS = [Parameter.
+ Parameter.
+ Parameter.
+ CTYPES = ['Glib::ustring*']
+
+ def convert_
+ assert isinstance(wrapper, ReverseWrapperBase)
+ ptr = None
+ if self.direction & Parameter.
+ ptr = wrapper.
+ len_ = wrapper.
+ wrapper.
+ "%s = %s->c_str();" % (ptr, self.value))
+ wrapper.
+ "%s = %s->size();" % (len_, self.value))
+ wrapper.
+
+ if self.direction & Parameter.
+ if ptr is None:
+ ptr = wrapper.
+ len_ = wrapper.
+ wrapper.
+ wrapper.
+ "*%s = Glib::ustring(%s, %s);" % (self.value, ptr, len_))
+ if self.transfer_
+ wrapper.
+
+
+ def convert_
+ assert isinstance(wrapper, ForwardWrapperBase)
+ assert self.default_value is None, "default_value not implemented yet"
+ name = wrapper.
+ name_len = wrapper.
+ if self.transfer_
+ name_std = wrapper.
+ wrapper.
+ name_std_value = '*' + name_std
+ else:
+ name_std = wrapper.
+ wrapper.
+ name_std_value = name_std
+
+ if self.direction & Parameter.
+ wrapper.
+ wrapper.
+ (name_std_value, name, name_len))
+
+ if self.direction & Parameter.
+ wrapper.
+
+
+ class GlibStringRetur
+
+ CTYPES = ['Glib::ustring']
+
+ def get_c_error_
+ return "return Glib::ustring();"
+
+ def convert_
+ ptr = wrapper.
+ len_ = wrapper.
+ wrapper.
+ wrapper.
+ "%s = Glib::ustring(%s, %s);" % (self.value, ptr, len_))
+
+ def convert_
+ wrapper.
+ '(%s).size()' % self.value],
+ prepend=True)
+
Related branches
Changed in pybindgen: | |
status: | New → Fix Committed |
Changed in pybindgen: | |
status: | Fix Committed → Fix Released |
Now as an attachment.