| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
PyObjects with a function.
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
|
| |
|
|
|
|
|
|
|
| |
Renamed ObjectType to BaseType.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Hugo Parente Lima <hugo.pl@gmail.com>
|
|
|
|
|
|
|
|
| |
Updated generator to new API.
Fix bug #462
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Hugo Parente Lima <hugo.pl@gmail.com>
|
| |
|
|
|
|
| |
outside C++ namespaces.
|
| |
|
| |
|
|
|
|
| |
d-pointer to it.
|
|
|
|
|
|
|
| |
This functions returns all PyObjects under the umbrella of BindingManager.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Renato Araújo <renato.filho@openbossa.org>
|
|
|
|
|
| |
Reviewer: Marcelo Lira <marcelo.lira@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
|
|
|
|
|
|
|
| |
In the new rule if the child object is a Shiboken wrapper class, the object is not invalidade during the parent destructions, the binding manager will wait for object destructor to invalidade the wrapper.
Reviewer: Hugo Parente Lima <hugo.pl@gmail.com>
Luciano Wolf <luciano.wolf@openbossa.org>
|
|
|
|
|
|
|
| |
exception.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Renato Araújo <renato.filho@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new algorithm do the following:
- Try to use type_info on the object the get the object real name.
- Try to find a type resolver with the name returned by type_info.
- If a type resolver was found, get the python type.
- Else, ask binding manager to resolve the type walking on all possible
subclasses found in the inheritance tree.
The binding manager has a graph representing the class inheritance tree.
Note: This commit break the libshiboken ABI, but not the API.
Reviewer: Luciano Wolf <luciano.wolf@openbossa.org>
Renato Araújo <renato.araujo@openbossa.org>
|
| |
|
|
|
|
|
|
|
| |
The C++ object instanciation was made in tp_init function instead of tp_new function. Now tp_new just
create a useless python object which will be filled in the tp_init function.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To avoid confusion of Python stuff with Shiboken generated stuff.
For example: a C++ class called "String" would have the PyString_Type
wrapper generated for it, mixing with the proper Python PyString_Type;
now the generate code will have things like SbkString_Type, SbkString_New,
SbkString_someMethod, and so on.
PyBaseWrapper and its variants were renamed to SbkBaseWrapper.
PyType<T>() is now SbkType<T>()
PyEnumObject was renamed to SbkEnumObject.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simple ownership transference, i.e. without parenting, is now performed
by the new BindingManager::transferOwnershipToCpp method. It remove the
parent of the transfered object and proceeds transfer or invalidation
if needed. The generated code for simple ownership transfer from Python
to C++ now reflects this change.
Fixed the method BlackBox::keepObjectType that steals an ObjectType
ownership to C++ to remove it from its parent also. The BlackBox
class does not take care of the stolen object as a proper parent
would, but its destructor deletes the object, so the "unparenting"
is needed to avoid freeing the same memory twice.
Created an unit test that adds children to a parent ObjectType and then
steal the children to C++ with BlackBox.keepObjectType.
Reviewed by Hugo Lima <hugo.lima@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
| |
BindingManager::invalidateWrapper checks if the object to be invalidated
carries any children objects and recursively invalidates them.
Shiboken::destroyParentInfo function was refactored to call the new
recursive wrapper invalidator and then call a helper function that
only destroy the parent information.
The invalidate parent test was updated.
|
|
|
|
|
|
|
|
| |
This new invalidateWrapper finds the Python wrapper for a C++ pointer
and then invalidates it.
Virtual destructors for C++ wrappers call the invalidateWrapper on
the "this" pointer.
|
|
|
|
|
|
|
|
|
|
|
|
| |
It sets the wrapper as invalid and removes the relation of C++ objects
to the Python wrapper from the mappings.
Moved BindingManager::releaseWrapper(void*) to BindingManagerPrivate,
since it should only be used by releaseWrapper(PyObject*).
Modified includes on conversions.h to use quotes instead of < and >.
Reviewed by Hugo Lima <hugo.lima@openbossa.org>
|
|
|
|
| |
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
|
|
|
|
|
|
| |
shiboken generator.
As shiboken generator needs minor changes to support inter-module dependencies, these changes
about symbol visibility does not support inter-module dependencies, however support it is
simple, because we just need to make some symbols visible to other DSO's.
Reviewed by Marcelo Lira <marcelo.lira@openbossa.org>
|
|
|
|
| |
entry from the wrapper to C++ object relation table
|
|
|
|
| |
a const virtual function and the "this" pointer is const.
|
| |
|
| |
|
|
|