diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-03-26 14:59:34 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-03-27 09:36:54 +0100 |
commit | bb1f0c667f8b38bf27818fe1608beb4295d9c429 (patch) | |
tree | 36e98fecb1fb3fed8e28155763d858620c70fce1 /codemaker/source/cppumaker | |
parent | aaaeec55c6ca86a4871a59e058f80498e898b29b (diff) |
Clean up codemaker/typemanager.hxx
Change-Id: I650efd6780070410eaf34993dd41ed1b8ada7c9a
Diffstat (limited to 'codemaker/source/cppumaker')
-rw-r--r-- | codemaker/source/cppumaker/cppumaker.cxx | 25 | ||||
-rw-r--r-- | codemaker/source/cppumaker/cpputype.cxx | 76 | ||||
-rw-r--r-- | codemaker/source/cppumaker/cpputype.hxx | 29 | ||||
-rw-r--r-- | codemaker/source/cppumaker/includes.cxx | 7 | ||||
-rw-r--r-- | codemaker/source/cppumaker/includes.hxx | 5 |
5 files changed, 76 insertions, 66 deletions
diff --git a/codemaker/source/cppumaker/cppumaker.cxx b/codemaker/source/cppumaker/cppumaker.cxx index 38b8cce2f00d..d18a952502e1 100644 --- a/codemaker/source/cppumaker/cppumaker.cxx +++ b/codemaker/source/cppumaker/cppumaker.cxx @@ -20,6 +20,7 @@ #include <stdio.h> +#include "rtl/ref.hxx" #include "sal/main.h" #include "codemaker/typemanager.hxx" @@ -40,17 +41,19 @@ void failed(rtl::OString const & typeName, CppuOptions * options) { } void produce( - RegistryKey& rTypeKey, bool bIsExtraType, TypeManager const & typeMgr, + RegistryKey& rTypeKey, bool bIsExtraType, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions * options) { if (!produceType(rTypeKey, bIsExtraType, typeMgr, generated, options)) { - OString typeName = typeMgr.getTypeName(rTypeKey); + OString typeName = typeMgr->getTypeName(rTypeKey); failed(typeName, options); } } void produce( - rtl::OString const & typeName, TypeManager const & typeMgr, + rtl::OString const & typeName, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions * options) { if (!produceType(typeName, typeMgr, generated, options)) { @@ -59,17 +62,17 @@ void produce( } void produceAllTypes(RegistryKey& rTypeKey, bool bIsExtraType, - TypeManager const & typeMgr, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions* pOptions, sal_Bool bFullScope) throw( CannotDumpException ) { - OString typeName = typeMgr.getTypeName(rTypeKey); + OString typeName = typeMgr->getTypeName(rTypeKey); produce(rTypeKey, bIsExtraType, typeMgr, generated, pOptions); - RegistryKeyList typeKeys = typeMgr.getTypeKeys(typeName); + RegistryKeyList typeKeys = typeMgr->getTypeKeys(typeName); RegistryKeyList::const_iterator iter = typeKeys.begin(); RegistryKey key, subKey; RegistryKeyArray subKeys; @@ -100,7 +103,7 @@ void produceAllTypes(RegistryKey& rTypeKey, bool bIsExtraType, } void produceAllTypes(const OString& typeName, - TypeManager const & typeMgr, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions* pOptions, sal_Bool bFullScope) @@ -108,7 +111,7 @@ void produceAllTypes(const OString& typeName, { produce(typeName, typeMgr, generated, pOptions); - RegistryKeyList typeKeys = typeMgr.getTypeKeys(typeName); + RegistryKeyList typeKeys = typeMgr->getTypeKeys(typeName); RegistryKeyList::const_iterator iter = typeKeys.begin(); RegistryKey key, subKey; RegistryKeyArray subKeys; @@ -156,9 +159,9 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) exit(99); } - RegistryTypeManager typeMgr; + rtl::Reference< TypeManager > typeMgr(new TypeManager); - if (!typeMgr.init(options.getInputFiles(), options.getExtraInputFiles())) + if (!typeMgr->init(options.getInputFiles(), options.getExtraInputFiles())) { fprintf(stderr, "%s : init registries failed, check your registry files.\n", options.getProgramName().getStr()); exit(99); @@ -166,7 +169,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) if (options.isValid("-B")) { - typeMgr.setBase(options.getOption("-B")); + typeMgr->setBase(options.getOption("-B")); } codemaker::GeneratedTypeSet generated; diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx index 5513d24715be..b5e52681a598 100644 --- a/codemaker/source/cppumaker/cpputype.cxx +++ b/codemaker/source/cppumaker/cpputype.cxx @@ -27,6 +27,7 @@ #include "registry/reader.hxx" #include "rtl/alloc.h" +#include "rtl/ref.hxx" #include "rtl/ustring.hxx" #include "rtl/strbuf.hxx" @@ -151,7 +152,7 @@ bool isBootstrapType(rtl::OString const & name) { //************************************************************************* CppuType::CppuType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : m_inheritedMemberCount(0) , m_cppuTypeLeak(false) , m_cppuTypeDynamic(true) @@ -422,7 +423,7 @@ void CppuType::addDefaultHIncludes(codemaker::cppumaker::Includes & includes) { //TODO: Only include what is really needed includes.addCppuMacrosHxx(); - if (m_typeMgr.getTypeClass(m_typeName) == RT_TYPE_INTERFACE) { + if (m_typeMgr->getTypeClass(m_typeName) == RT_TYPE_INTERFACE) { includes.addReference(); } } @@ -434,7 +435,7 @@ void CppuType::addDefaultHxxIncludes(codemaker::cppumaker::Includes & includes) includes.addRtlInstanceHxx(); includes.addOslMutexHxx(); includes.addType(); - if (m_typeMgr.getTypeClass(m_typeName) == RT_TYPE_INTERFACE) { + if (m_typeMgr->getTypeClass(m_typeName) == RT_TYPE_INTERFACE) { includes.addReference(); } } @@ -470,10 +471,10 @@ void CppuType::dumpInitializer( break; case codemaker::UnoType::SORT_COMPLEX: - switch (m_typeMgr.getTypeClass(t)) { + switch (m_typeMgr->getTypeClass(t)) { case RT_TYPE_ENUM: { - typereg::Reader reader(m_typeMgr.getTypeReader(t)); + typereg::Reader reader(m_typeMgr->getTypeReader(t)); OSL_ASSERT(reader.isValid()); out << scopedCppName(t) << "_" << rtl::OUStringToOString( @@ -879,7 +880,7 @@ sal_uInt32 CppuType::checkInheritedMemberCount(const typereg::Reader* pReader) } if (!superType.isEmpty()) { - typereg::Reader aSuperReader(m_typeMgr.getTypeReader(superType)); + typereg::Reader aSuperReader(m_typeMgr->getTypeReader(superType)); if ( aSuperReader.isValid() ) { count = checkInheritedMemberCount(&aSuperReader); @@ -923,7 +924,7 @@ OString CppuType::getTypeClass(const OString& type, sal_Bool bCStyle) if (!type.isEmpty()) { typeName = type; - rtTypeClass = m_typeMgr.getTypeClass(typeName); + rtTypeClass = m_typeMgr->getTypeClass(typeName); } else { typeName = m_typeName; @@ -1004,7 +1005,7 @@ void CppuType::dumpType(FileStream& o, const OString& type, codemaker::UnoType::decompose( checkRealBaseType(type, true), &seqNum, &args)); - RTTypeClass typeClass = m_typeMgr.getTypeClass(relType); + RTTypeClass typeClass = m_typeMgr->getTypeClass(relType); if (bConst) o << "const "; @@ -1074,7 +1075,7 @@ void CppuType::dumpCppuGetType(FileStream& o, const OString& type, sal_Bool bDec if (eDeclFlag == CPPUTYPEDECL_ONLYINTERFACES) { - if (m_typeMgr.getTypeClass(relType) == RT_TYPE_INTERFACE) + if (m_typeMgr->getTypeClass(relType) == RT_TYPE_INTERFACE) { o << indent() << "::cppu::UnoType< "; dumpType(o, type, false, false, false, true); @@ -1092,7 +1093,7 @@ void CppuType::dumpCppuGetType(FileStream& o, const OString& type, sal_Bool bDec } else { if (eDeclFlag == CPPUTYPEDECL_NOINTERFACES && - m_typeMgr.getTypeClass(relType) == RT_TYPE_INTERFACE) + m_typeMgr->getTypeClass(relType) == RT_TYPE_INTERFACE) return; o << indent() << "::cppu::UnoType< "; @@ -1146,7 +1147,7 @@ bool CppuType::passByReference(rtl::OString const & unoType) { return true; case codemaker::UnoType::SORT_COMPLEX: - return m_typeMgr.getTypeClass(type) != RT_TYPE_ENUM; + return m_typeMgr->getTypeClass(type) != RT_TYPE_ENUM; } } @@ -1156,12 +1157,12 @@ OString CppuType::resolveTypedefs(const OString& type) const RegistryKey key; RTTypeClass typeClass; - sal_Bool isTypeDef = (m_typeMgr.getTypeClass(baseType) == RT_TYPE_TYPEDEF); + sal_Bool isTypeDef = (m_typeMgr->getTypeClass(baseType) == RT_TYPE_TYPEDEF); typereg::Reader reader; while (isTypeDef) { - reader = m_typeMgr.getTypeReader(baseType); + reader = m_typeMgr->getTypeReader(baseType); if (reader.isValid()) { @@ -1188,12 +1189,12 @@ OString CppuType::checkRealBaseType(const OString& type, sal_Bool bResolveTypeOn RegistryKey key; RTTypeClass typeClass; - sal_Bool mustBeChecked = (m_typeMgr.getTypeClass(baseType) == RT_TYPE_TYPEDEF); + sal_Bool mustBeChecked = (m_typeMgr->getTypeClass(baseType) == RT_TYPE_TYPEDEF); typereg::Reader reader; while (mustBeChecked) { - reader = m_typeMgr.getTypeReader(baseType); + reader = m_typeMgr->getTypeReader(baseType); if (reader.isValid()) { @@ -1359,7 +1360,7 @@ void dumpDeprecation(FileStream & o, bool deprecated) { InterfaceType::InterfaceType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : CppuType(typeReader, typeName, typeMgr) { m_inheritedMemberCount = 0; @@ -1865,7 +1866,9 @@ namespace { class BaseOffset { public: - BaseOffset(TypeManager const & theManager, typereg::Reader const & reader); + BaseOffset( + rtl::Reference< TypeManager > const & theManager, + typereg::Reader const & reader); sal_Int32 get() const { return offset; } @@ -1874,13 +1877,14 @@ private: void calculate(typereg::Reader const & reader); - TypeManager const & manager; + rtl::Reference< TypeManager > manager; std::set< rtl::OString > set; sal_Int32 offset; }; BaseOffset::BaseOffset( - TypeManager const & theManager, typereg::Reader const & reader): + rtl::Reference< TypeManager > const & theManager, + typereg::Reader const & reader): manager(theManager) { offset = 0; @@ -1890,7 +1894,7 @@ BaseOffset::BaseOffset( void BaseOffset::calculateBases(typereg::Reader const & reader) { for (sal_Int16 i = 0; i < reader.getSuperTypeCount(); ++i) { typereg::Reader super( - manager.getTypeReader( + manager->getTypeReader( rtl::OUStringToOString( reader.getSuperTypeName(i), RTL_TEXTENCODING_UTF8))); if (super.isValid()) { @@ -2323,7 +2327,7 @@ sal_Int32 InterfaceType::dumpAttributeExceptionTypeNames( //************************************************************************* ConstantsType::ConstantsType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : CppuType(typeReader, typeName, typeMgr) { } @@ -2441,7 +2445,7 @@ sal_Bool ConstantsType::dumpHxxFile( //************************************************************************* ModuleType::ModuleType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : ConstantsType(typeReader, typeName, typeMgr) { } @@ -2481,7 +2485,7 @@ void dumpTypeParameterName(FileStream & out, rtl::OString const & name) { StructureType::StructureType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : CppuType(typeReader, typeName, typeMgr) { } @@ -3086,7 +3090,7 @@ sal_Bool StructureType::dumpSuperMember(FileStream& o, const OString& superType, if (!superType.isEmpty()) { - typereg::Reader aSuperReader(m_typeMgr.getTypeReader(superType)); + typereg::Reader aSuperReader(m_typeMgr->getTypeReader(superType)); if (aSuperReader.isValid()) { @@ -3230,7 +3234,7 @@ void StructureType::dumpTemplateParameters(FileStream & out) const { //************************************************************************* ExceptionType::ExceptionType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : CppuType(typeReader, typeName, typeMgr) { } @@ -3527,7 +3531,7 @@ sal_Bool ExceptionType::dumpSuperMember(FileStream& o, const OString& superType, if (!superType.isEmpty()) { - typereg::Reader aSuperReader(m_typeMgr.getTypeReader(superType)); + typereg::Reader aSuperReader(m_typeMgr->getTypeReader(superType)); if (aSuperReader.isValid()) { @@ -3580,7 +3584,7 @@ sal_Bool ExceptionType::dumpSuperMember(FileStream& o, const OString& superType, //************************************************************************* EnumType::EnumType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : CppuType(typeReader, typeName, typeMgr) { } @@ -3767,7 +3771,7 @@ void EnumType::dumpComprehensiveGetCppuType(FileStream& o) //************************************************************************* TypeDefType::TypeDefType(typereg::Reader& typeReader, const OString& typeName, - const TypeManager& typeMgr) + rtl::Reference< TypeManager > const & typeMgr) : CppuType(typeReader, typeName, typeMgr) { } @@ -4208,7 +4212,7 @@ void ServiceType::dumpCatchClauses( //************************************************************************* bool SingletonType::isInterfaceBased() { - return (m_typeMgr.getTypeClass( + return (m_typeMgr->getTypeClass( rtl::OUStringToOString( m_reader.getSuperTypeName(0), RTL_TEXTENCODING_UTF8))) == RT_TYPE_INTERFACE; @@ -4285,19 +4289,19 @@ sal_Bool SingletonType::dumpHxxFile( // produceType //************************************************************************* bool produceType(const OString& typeName, - TypeManager const & typeMgr, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions* pOptions) throw( CannotDumpException ) { - if (typeName == "/" || typeName == typeMgr.getBase() || + if (typeName == "/" || typeName == typeMgr->getBase() || TypeManager::isBaseType(typeName) || generated.contains(typeName)) { return true; } sal_Bool bIsExtraType = sal_False; - typereg::Reader reader(typeMgr.getTypeReader(typeName, &bIsExtraType)); + typereg::Reader reader(typeMgr->getTypeReader(typeName, &bIsExtraType)); if (bIsExtraType) { generated.add(typeName); return true; @@ -4419,14 +4423,14 @@ bool produceType(const OString& typeName, } bool produceType(RegistryKey& rTypeKey, bool bIsExtraType, - TypeManager const & typeMgr, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions* pOptions) throw( CannotDumpException ) { - OString typeName = typeMgr.getTypeName(rTypeKey); + OString typeName = typeMgr->getTypeName(rTypeKey); - if (typeName == "/" ||typeName == typeMgr.getBase() || + if (typeName == "/" ||typeName == typeMgr->getBase() || TypeManager::isBaseType(typeName) || generated.contains(typeName)) { return true; @@ -4437,7 +4441,7 @@ bool produceType(RegistryKey& rTypeKey, bool bIsExtraType, return true; } - typereg::Reader reader(typeMgr.getTypeReader(rTypeKey)); + typereg::Reader reader(typeMgr->getTypeReader(rTypeKey)); if (!reader.isValid()) { return false; } diff --git a/codemaker/source/cppumaker/cpputype.hxx b/codemaker/source/cppumaker/cpputype.hxx index b80b3d822e60..09d0e5130ffa 100644 --- a/codemaker/source/cppumaker/cpputype.hxx +++ b/codemaker/source/cppumaker/cpputype.hxx @@ -26,6 +26,7 @@ #include "codemaker/commoncpp.hxx" #include "registry/reader.hxx" #include "registry/types.h" +#include "rtl/ref.hxx" #include "rtl/string.hxx" namespace rtl { class OUString; } @@ -50,7 +51,7 @@ class CppuType public: CppuType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~CppuType(); @@ -144,7 +145,7 @@ protected: ::rtl::OString m_typeName; ::rtl::OString m_name; typereg::Reader m_reader; - TypeManager const & m_typeMgr; + rtl::Reference< TypeManager > m_typeMgr; codemaker::Dependencies m_dependencies; private: @@ -157,7 +158,7 @@ class InterfaceType : public CppuType public: InterfaceType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~InterfaceType(); @@ -218,7 +219,7 @@ class ConstantsType : public CppuType public: ConstantsType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~ConstantsType(); @@ -235,7 +236,7 @@ class ModuleType : public ConstantsType public: ModuleType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~ModuleType(); @@ -248,7 +249,7 @@ class StructureType : public CppuType public: StructureType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~StructureType(); @@ -286,7 +287,7 @@ class ExceptionType : public CppuType public: ExceptionType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~ExceptionType(); @@ -302,7 +303,7 @@ class EnumType : public CppuType public: EnumType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~EnumType(); @@ -319,7 +320,7 @@ class TypeDefType : public CppuType public: TypeDefType(typereg::Reader& typeReader, const ::rtl::OString& typeName, - const TypeManager& typeMgr); + rtl::Reference< TypeManager > const & typeMgr); virtual ~TypeDefType(); @@ -332,7 +333,7 @@ class ConstructiveType: public CppuType { public: ConstructiveType( typereg::Reader & reader, rtl::OString const & name, - TypeManager const & manager): + rtl::Reference< TypeManager > const & manager): CppuType(reader, name, manager) {} virtual sal_Bool dumpHFile( @@ -347,7 +348,7 @@ class ServiceType: public ConstructiveType { public: ServiceType( typereg::Reader & reader, rtl::OString const & name, - TypeManager const & manager): + rtl::Reference< TypeManager > const & manager): ConstructiveType(reader, name, manager) {} bool isSingleInterfaceBased(); @@ -371,7 +372,7 @@ class SingletonType: public ConstructiveType { public: SingletonType( typereg::Reader & reader, rtl::OString const & name, - TypeManager const & manager): + rtl::Reference< TypeManager > const & manager): ConstructiveType(reader, name, manager) {} bool isInterfaceBased(); @@ -382,13 +383,13 @@ public: }; bool produceType(const ::rtl::OString& typeName, - TypeManager const & typeMgr, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions* pOptions) throw( CannotDumpException ); bool produceType(RegistryKey& typeName, bool bIsExtraType, - TypeManager const & typeMgr, + rtl::Reference< TypeManager > const & typeMgr, codemaker::GeneratedTypeSet & generated, CppuOptions* pOptions) throw( CannotDumpException ); diff --git a/codemaker/source/cppumaker/includes.cxx b/codemaker/source/cppumaker/includes.cxx index 9ee0eb54fd3b..0b0f83b869b7 100644 --- a/codemaker/source/cppumaker/includes.cxx +++ b/codemaker/source/cppumaker/includes.cxx @@ -28,6 +28,7 @@ #include "codemaker/unotype.hxx" #include "osl/diagnose.h" +#include "rtl/ref.hxx" #include "rtl/string.hxx" #include "rtl/ustring.hxx" #include "sal/types.h" @@ -37,8 +38,8 @@ using codemaker::cppumaker::Includes; Includes::Includes( - TypeManager const & manager, codemaker::Dependencies const & dependencies, - bool hpp): + rtl::Reference< TypeManager > const & manager, + codemaker::Dependencies const & dependencies, bool hpp): m_manager(manager), m_map(dependencies.getMap()), m_hpp(hpp), m_includeCassert(false), m_includeAny(dependencies.hasAnyDependency()), m_includeReference(false), @@ -275,7 +276,7 @@ void Includes::dumpInclude( } bool Includes::isInterfaceType(rtl::OString const & registryType) const { - return m_manager.getTypeClass(registryType) == RT_TYPE_INTERFACE; + return m_manager->getTypeClass(registryType) == RT_TYPE_INTERFACE; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/codemaker/source/cppumaker/includes.hxx b/codemaker/source/cppumaker/includes.hxx index dafc659211a4..8fdf44589844 100644 --- a/codemaker/source/cppumaker/includes.hxx +++ b/codemaker/source/cppumaker/includes.hxx @@ -21,6 +21,7 @@ #define INCLUDED_CODEMAKER_SOURCE_CPPUMAKER_INCLUDES_HXX #include "codemaker/dependencies.hxx" +#include "rtl/ref.hxx" #include "rtl/ustring.hxx" class FileStream; @@ -31,7 +32,7 @@ namespace codemaker { namespace cppumaker { class Includes { public: Includes( - TypeManager const & manager, + rtl::Reference< TypeManager > const & manager, codemaker::Dependencies const & dependencies, bool hpp); ~Includes(); @@ -70,7 +71,7 @@ private: bool isInterfaceType(rtl::OString const & registryType) const; - TypeManager const & m_manager; + rtl::Reference< TypeManager > m_manager; codemaker::Dependencies::Map m_map; bool m_hpp; bool m_includeCassert; |