diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-10-18 09:48:49 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:18:30 -0300 |
commit | b35f28ca167a5b8280ef37566966701f540b8933 (patch) | |
tree | 8a866248be9a3448bc5648e2e36c153e89673c00 /libshiboken | |
parent | 01acb23113d4a22eae474bcb9be30e4d661b505e (diff) |
New converters for C++ enum and qflags types.
Also removed a lot of unused and commented code.
Diffstat (limited to 'libshiboken')
-rw-r--r-- | libshiboken/sbkenum.cpp | 12 | ||||
-rw-r--r-- | libshiboken/sbkenum.h | 6 |
2 files changed, 18 insertions, 0 deletions
diff --git a/libshiboken/sbkenum.cpp b/libshiboken/sbkenum.cpp index 39ffb34..c2f6ce0 100644 --- a/libshiboken/sbkenum.cpp +++ b/libshiboken/sbkenum.cpp @@ -550,6 +550,18 @@ long int getValue(PyObject* enumItem) return reinterpret_cast<SbkEnumObject*>(enumItem)->ob_value; } +void setTypeConverter(PyTypeObject* enumType, SbkConverter* converter) +{ + //reinterpret_cast<SbkEnumType*>(enumType)->converter = converter; + SBK_CONVERTER(enumType) = converter; +} + +SbkConverter* getTypeConverter(PyTypeObject* enumType) +{ + //return reinterpret_cast<SbkEnumType*>(enumType)->converter; + return SBK_CONVERTER(enumType); +} + } // namespace Enum DeclaredEnumTypes& DeclaredEnumTypes::instance() diff --git a/libshiboken/sbkenum.h b/libshiboken/sbkenum.h index afe9141..b0ff269 100644 --- a/libshiboken/sbkenum.h +++ b/libshiboken/sbkenum.h @@ -31,6 +31,7 @@ extern "C" extern LIBSHIBOKEN_API PyTypeObject SbkEnumType_Type; struct SbkObjectType; +struct SbkConverter; } // extern "C" @@ -88,6 +89,11 @@ namespace Enum LIBSHIBOKEN_API long getValue(PyObject* enumItem); LIBSHIBOKEN_API PyObject* getEnumItemFromValue(PyTypeObject* enumType, long itemValue); + + /// Sets the enum's type converter. + LIBSHIBOKEN_API void setTypeConverter(PyTypeObject* enumType, SbkConverter* converter); + /// Returns the converter assigned to the enum \p type. + LIBSHIBOKEN_API SbkConverter* getTypeConverter(PyTypeObject* enumType); } } // namespace Shiboken |