* Special kludge price go to PHP:
methods name are insensitive so nothing to do here, BUT, if you use
getters/setters then your objects fields can be case insensitive too
;-) (DNS, dns, DnS, dNs all maps to get_dns ).
* bindings/bindings.py:
parse idwsf_strings.h to get ID-WSF constants.
* bindings/utils.py:
add an is_rc check function, to check for 'error code' return type.
* bindings/perl/lang.py:
only raise errors for 'int' or 'gint' return type
* bindings/python/lang.py:
- always create a normal function binding.
- for functions starting with 'get' try to create a corresponding
property, but if a corresponding member already exists, fails, and
print a warning about getter function/member field clash.
- make type dispatching on return_type more explicite.
Bindings: in bindings.py, improve regular expression for declarations
Bindings: parse gobject-introspection annotation in return value
documentation, add cast to C calls when parameter type is const in java
binding, problem arise with const char ** arrays
* bindings/bindings.py
* bindings/utils.py:
add convenience function to treat arguments tuple:
(type,name,{annotations}).
introduce new argument options, fix that arguments are 3-tuple of the
form (type,name,annotations), where annotations is a dictionary.
Key of this dictionnary can be:
- optional, wheter the argument is necessary, it means it has a
default value.
- out, means that the pointer is a pointer of pointer, for bindings
that can return exceptions, it will be returned instead of the
integer error code, the only way to access error codes will be
exceptions.
- element-type, contained type of a list or an array,
- key-type, value-type, type of respectively the key and value of a
GHashTable.
- transfer, wheter a the callee(for arguments)/caller(for return
values) owns the values passed, it can be none,container(if the
callee/caller only owns the container not the contained value) or
full.
doc.parameters is now a 3-tuple of (attribute-name,
attribute-description, attribute-annotations) where
attribute-annotations is a string of the form '(option1)(option2
option-arguments) etc.'.
- add predicates for xml, list and time_t values. improve predicates
for cstring and const modifier.
* bindings/overrides.xml:
'out' arguments are not well supported for java, so skip functions
using them.
* bindings/java/lang.py bindings/php5/php_code.py
bindings/php5/wrapper_source.py bindings/python/lang.py:
- update language specifig binding generators for handling new
annotations.
- improve python method declaration, handle optional arguments with
default values, factorize this chode in two methods,
get_python_arg_decl and defval_to_python_value.
* bindings/python/tests/Makefile.am
bindings/python/tests/idwsf1_tests.py
bindings/python/tests/idwsf2_tests.py:
make test work with out of source build dir.
moved identifier name formatting functions to their own module, so they are not
duplicated everywhere.
Original author: Frederic Peters <fpeters@0d.be>
Date: 2007-10-31 12:45:22.367000+01:00