diff options
author | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-09 16:43:24 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.lima@openbossa.org> | 2010-06-10 15:33:42 -0300 |
commit | d1ec4ab5b10d8d2ef125af08bccf467076791815 (patch) | |
tree | 7205e406a614cb4d9c38e93e3a180ae0e4e40c58 /libshiboken/typeresolver.cpp | |
parent | 4e58a45ea523118bef5e746edb7383c799d65a27 (diff) |
Automatically register all primitive types on TypeResover.
Reviewer: Renato Araújo <renato.araujo@openbossa.org>
Luciano Wolf <luciano.wolf@openbossa.org>
Diffstat (limited to 'libshiboken/typeresolver.cpp')
-rw-r--r-- | libshiboken/typeresolver.cpp | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/libshiboken/typeresolver.cpp b/libshiboken/typeresolver.cpp index 72c6c8d4c..a88634a17 100644 --- a/libshiboken/typeresolver.cpp +++ b/libshiboken/typeresolver.cpp @@ -59,20 +59,16 @@ static void deinitTypeResolver() typeResolverMap.clear(); } +void Shiboken::initTypeResolver() +{ + assert(typeResolverMap.empty()); + typeResolverMap.set_empty_key(""); + typeResolverMap.set_deleted_key("?"); + std::atexit(deinitTypeResolver); +} + static void registerTypeResolver(TypeResolver* resolver) { - static bool initied = false; - if (!initied) { - assert(typeResolverMap.empty()); - typeResolverMap.set_empty_key(""); - typeResolverMap.set_deleted_key("?"); - initied = true; - std::atexit(deinitTypeResolver); - TypeResolver::createValueTypeResolver<double>("double"); - TypeResolver::createValueTypeResolver<float>("float"); - TypeResolver::createValueTypeResolver<bool>("bool"); - TypeResolver::createValueTypeResolver<int>("int"); - } assert(typeResolverMap.find(resolver->typeName()) == typeResolverMap.end()); typeResolverMap[resolver->typeName()] = resolver; } |