summaryrefslogtreecommitdiff
path: root/rdbmaker/inc
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@gmail.com>2012-10-21 21:03:06 +0200
committerMatúš Kukan <matus.kukan@gmail.com>2012-10-22 22:52:14 +0200
commit8c6276a312a3dd88d7469be3187bf8d9d077f0d8 (patch)
tree20fd98ff3ea3931acd6ce7a1cb8b44dd70ebab39 /rdbmaker/inc
parent0397c4b02d894259cd86280185f52ec84a67b16a (diff)
drop rdbmaker completely
Change-Id: I313afb391562adae4f91c55480a036c228e0b540
Diffstat (limited to 'rdbmaker/inc')
-rw-r--r--rdbmaker/inc/codemaker/dependency.hxx141
-rw-r--r--rdbmaker/inc/codemaker/global.hxx131
-rw-r--r--rdbmaker/inc/codemaker/options.hxx80
-rw-r--r--rdbmaker/inc/codemaker/registry.hxx198
-rw-r--r--rdbmaker/inc/codemaker/typemanager.hxx147
5 files changed, 0 insertions, 697 deletions
diff --git a/rdbmaker/inc/codemaker/dependency.hxx b/rdbmaker/inc/codemaker/dependency.hxx
deleted file mode 100644
index 3ccfb722a230..000000000000
--- a/rdbmaker/inc/codemaker/dependency.hxx
+++ /dev/null
@@ -1,141 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _CODEMAKER_DEPENDENCY_HXX_
-#define _CODEMAKER_DEPENDENCY_HXX_
-
-#include <boost/unordered_map.hpp>
-#include <registry/registry.hxx>
-#include <registry/reflread.hxx>
-#include <codemaker/typemanager.hxx>
-#include <codemaker/global.hxx>
-#include <osl/diagnose.h>
-
-#define TYPEUSE_NORMAL 0x0001
-#define TYPEUSE_SUPER 0x0002
-#define TYPEUSE_MEMBER 0x0004
-#define TYPEUSE_INPARAM 0x0008
-#define TYPEUSE_OUTPARAM 0x0010
-#define TYPEUSE_INOUTPARAM 0x0020
-#define TYPEUSE_RETURN 0x0040
-#define TYPEUSE_EXCEPTION 0x0080
-#define TYPEUSE_SCOPE 0x0100
-
-/**
- * Flag shows the state of the code generation. If the Flag is set
- * the code for this type is generated.
- */
-#define CODEGEN_DEFAULT 0x0001
-
-struct TypeUsing
-{
- TypeUsing(const ::rtl::OString& type, sal_uInt16 use)
- : m_type(type)
- , m_use(use)
- {}
-
- ::rtl::OString m_type;
- sal_uInt16 m_use;
-
- sal_Bool operator == (const TypeUsing & typeUsing) const
- {
- OSL_ASSERT(0);
- return m_type == typeUsing.m_type && m_use == typeUsing.m_use;
- }
-};
-
-struct LessTypeUsing
-{
- sal_Bool operator()(const TypeUsing& tuse1, const TypeUsing& tuse2) const
- {
- return (tuse1.m_type < tuse2.m_type);
- }
-};
-
-typedef ::std::set< TypeUsing, LessTypeUsing > TypeUsingSet;
-
-
-typedef ::boost::unordered_map
-<
- ::rtl::OString,
- TypeUsingSet,
- HashString,
- EqualString
-> DependencyMap;
-
-typedef ::boost::unordered_map
-<
- ::rtl::OString,
- sal_uInt16,
- HashString,
- EqualString
-> GenerationMap;
-
-struct TypeDependencyImpl
-{
- TypeDependencyImpl()
- : m_refCount(0)
- {}
-
- sal_Int32 m_refCount;
- DependencyMap m_dependencies;
- GenerationMap m_generatedTypes;
-};
-
-class TypeDependency
-{
-public:
- TypeDependency();
- ~TypeDependency();
-
- TypeDependency( const TypeDependency& value )
- : m_pImpl( value.m_pImpl )
- {
- acquire();
- }
-
- TypeDependency& operator = ( const TypeDependency& value )
- {
- release();
- m_pImpl = value.m_pImpl;
- acquire();
- return *this;
- }
-
- sal_Bool insert(const ::rtl::OString& type, const ::rtl::OString& depend, sal_uInt16);
- TypeUsingSet getDependencies(const ::rtl::OString& type);
- sal_Bool hasDependencies(const ::rtl::OString& type);
-
- void setGenerated(const ::rtl::OString& type, sal_uInt16 genFlag=CODEGEN_DEFAULT);
- sal_Bool isGenerated(const ::rtl::OString& type, sal_uInt16 genFlag=CODEGEN_DEFAULT);
-
- sal_Int32 getSize() { return m_pImpl->m_generatedTypes.size(); }
-protected:
- void acquire();
- void release();
-
-protected:
- TypeDependencyImpl* m_pImpl;
-};
-
-sal_Bool checkTypeDependencies(TypeManager& typeMgr, TypeDependency& dependencies, const ::rtl::OString& type, sal_Bool bDepend = sal_False);
-
-#endif // _CODEMAKER_DEPENDENCY_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/rdbmaker/inc/codemaker/global.hxx b/rdbmaker/inc/codemaker/global.hxx
deleted file mode 100644
index 7cc8e338bd08..000000000000
--- a/rdbmaker/inc/codemaker/global.hxx
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _CODEMAKER_GLOBAL_HXX_
-#define _CODEMAKER_GLOBAL_HXX_
-
-#include <list>
-#include <vector>
-#include <set>
-
-#include <stdio.h>
-#include <rtl/ustring.hxx>
-#include <rtl/strbuf.hxx>
-
-struct EqualString
-{
- sal_Bool operator()(const ::rtl::OString& str1, const ::rtl::OString& str2) const
- {
- return (str1 == str2);
- }
-};
-
-struct HashString
-{
- size_t operator()(const ::rtl::OString& str) const
- {
- return str.hashCode();
- }
-};
-
-struct LessString
-{
- sal_Bool operator()(const ::rtl::OString& str1, const ::rtl::OString& str2) const
- {
- return (str1 < str2);
- }
-};
-
-#if defined(_MSC_VER) && _MSC_VER < 1200
-typedef ::std::new_alloc NewAlloc;
-#endif
-
-
-typedef ::std::list< ::rtl::OString > StringList;
-typedef ::std::vector< ::rtl::OString > StringVector;
-typedef ::std::set< ::rtl::OString, LessString > StringSet;
-
-::rtl::OString makeTempName();
-
-const ::rtl::OString inGlobalSet(const ::rtl::OUString & r);
-
-::rtl::OUString convertToFileUrl(const ::rtl::OString& fileName);
-
-//*************************************************************************
-// FileStream
-//*************************************************************************
-enum FileAccessMode
-{
- FAM_READ, // "r"
- FAM_WRITE, // "w"
- FAM_APPEND, // "a"
- FAM_READWRITE_EXIST, // "r+"
- FAM_READWRITE, // "w+"
- FAM_READAPPEND // "a+"
-};
-
-class FileStream //: public ofstream
-{
-public:
- FileStream();
- virtual ~FileStream();
-
- sal_Bool isValid();
-
- void open(const ::rtl::OString& name, FileAccessMode nMode = FAM_READWRITE);
- void close();
-
- ::rtl::OString getName() { return m_name; }
-
- // friend functions
- friend FileStream &operator<<(FileStream& o, sal_uInt32 i)
- { fprintf(o.m_pFile, "%lu", sal::static_int_cast< unsigned long >(i));
- return o;
- }
- friend FileStream &operator<<(FileStream& o, char const * s)
- { fprintf(o.m_pFile, "%s", s);
- return o;
- }
- friend FileStream &operator<<(FileStream& o, ::rtl::OString* s)
- { fprintf(o.m_pFile, "%s", s->getStr());
- return o;
- }
- friend FileStream &operator<<(FileStream& o, const ::rtl::OString& s)
- { fprintf(o.m_pFile, "%s", s.getStr());
- return o;
- }
- friend FileStream &operator<<(FileStream& o, ::rtl::OStringBuffer* s)
- { fprintf(o.m_pFile, "%s", s->getStr());
- return o;
- }
- friend FileStream &operator<<(FileStream& o, const ::rtl::OStringBuffer& s)
- { fprintf(o.m_pFile, "%s", s.getStr());
- return o;
- }
-
-protected:
- const sal_Char* checkAccessMode(FileAccessMode mode);
-
- FILE* m_pFile;
- ::rtl::OString m_name;
-};
-
-#endif // _CODEMAKER_GLOBAL_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/rdbmaker/inc/codemaker/options.hxx b/rdbmaker/inc/codemaker/options.hxx
deleted file mode 100644
index f8e6233d1ea6..000000000000
--- a/rdbmaker/inc/codemaker/options.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _CODEMAKER_OPTIONS_HXX_
-#define _CODEMAKER_OPTIONS_HXX_
-
-#include <boost/unordered_map.hpp>
-#include <codemaker/global.hxx>
-
-typedef ::boost::unordered_map
-<
- ::rtl::OString,
- ::rtl::OString,
- HashString,
- EqualString
-> OptionMap;
-
-class CannotDumpException
-{
-public:
- CannotDumpException(const ::rtl::OString& msg)
- : m_message(msg) {}
-
- ::rtl::OString m_message;
-};
-
-
-class IllegalArgument
-{
-public:
- IllegalArgument(const ::rtl::OString& msg)
- : m_message(msg) {}
-
- ::rtl::OString m_message;
-};
-
-
-class Options
-{
-public:
- Options();
- virtual ~Options();
-
- virtual sal_Bool initOptions(int ac, char* av[], sal_Bool bCmdFile=sal_False)
- throw( IllegalArgument ) = 0;
-
- virtual ::rtl::OString prepareHelp() = 0;
-
- const ::rtl::OString& getProgramName() const;
- sal_Bool isValid(const ::rtl::OString& option);
- const ::rtl::OString getOption(const ::rtl::OString& option)
- throw( IllegalArgument );
-
- const StringVector& getInputFiles();
-
-protected:
- ::rtl::OString m_program;
- StringVector m_inputFiles;
- OptionMap m_options;
-};
-
-#endif // _CODEMAKER_OPTIONS_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/rdbmaker/inc/codemaker/registry.hxx b/rdbmaker/inc/codemaker/registry.hxx
deleted file mode 100644
index 67eae3818838..000000000000
--- a/rdbmaker/inc/codemaker/registry.hxx
+++ /dev/null
@@ -1,198 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _CODEMAKER_REGISTRY_HXX_
-#define _CODEMAKER_REGISTRY_HXX_
-
-#include <string.h>
-
-#include <rtl/alloc.h>
-#include <osl/interlck.h>
-#include <registry/registry.hxx>
-#include "registry/reader.hxx"
-#include "registry/version.h"
-#include <codemaker/options.hxx>
-
-struct TypeReader_Impl
-{
- TypeReader_Impl(const sal_uInt8* buffer,
- sal_uInt32 bufferLen,
- bool copyData)
- : m_refCount(0)
- , m_copyData(copyData)
- , m_blopSize(bufferLen)
- , m_pBlop(buffer)
- {
- if (copyData)
- {
- m_pBlop = (sal_uInt8*)rtl_allocateMemory(bufferLen);
- memcpy(const_cast<sal_uInt8*>(m_pBlop), buffer, bufferLen);
- } else
- {
- m_blopSize = bufferLen;
- m_pBlop = buffer;
- }
-
- m_pReader = new typereg::Reader(
- m_pBlop, m_blopSize, false, TYPEREG_VERSION_1);
- }
-
- ~TypeReader_Impl()
- {
- if (m_copyData && m_pReader)
- {
- delete m_pReader;
- }
- }
-
- sal_Int32 m_refCount;
- bool m_copyData;
- sal_Int32 m_blopSize;
- const sal_uInt8* m_pBlop;
- typereg::Reader* m_pReader;
-};
-
-class TypeReader
-{
-public:
- inline TypeReader()
- : m_pImpl(NULL)
- {}
-
- inline TypeReader( const sal_uInt8* buffer,
- sal_uInt32 bufferLen,
- bool copyData)
- {
- m_pImpl = new TypeReader_Impl(buffer, bufferLen, copyData);
- acquire();
- }
-
- inline TypeReader(const TypeReader& toCopy)
- : m_pImpl(toCopy.m_pImpl)
- {
- acquire();
- }
-
- inline ~TypeReader()
- {
- release();
- }
-
- inline void acquire()
- {
- if (m_pImpl)
- osl_atomic_increment(&m_pImpl->m_refCount);
- }
-
- inline void release()
- {
- if (m_pImpl && 0 == osl_atomic_decrement(&m_pImpl->m_refCount))
- {
- delete m_pImpl;
- }
- }
-
- inline TypeReader& operator = ( const TypeReader& value )
- {
- release();
- m_pImpl = value.m_pImpl;
- acquire();
- return *this;
- }
-
- inline sal_Bool isValid() const
- {
- if (m_pImpl)
- return m_pImpl->m_pReader->isValid();
- else
- return sal_False;
- }
-
- inline RTTypeClass getTypeClass() const
- { return m_pImpl->m_pReader->getTypeClass(); }
- inline const ::rtl::OString getTypeName() const
- { return inGlobalSet( m_pImpl->m_pReader->getTypeName() ); }
- inline sal_uInt16 getSuperTypeCount() const
- { return m_pImpl->m_pReader->getSuperTypeCount(); }
- inline const ::rtl::OString getSuperTypeName(sal_uInt16 index) const
- { return inGlobalSet( m_pImpl->m_pReader->getSuperTypeName(index) ); }
- inline const ::rtl::OString getDoku() const
- { return inGlobalSet( m_pImpl->m_pReader->getDocumentation() ); }
- inline const ::rtl::OString getFileName() const
- { return inGlobalSet( m_pImpl->m_pReader->getFileName() ); }
- inline sal_uInt32 getFieldCount() const
- { return m_pImpl->m_pReader->getFieldCount(); }
- inline const ::rtl::OString getFieldName( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getFieldName(index) ); }
- inline const ::rtl::OString getFieldType( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getFieldTypeName(index) ); }
- inline RTFieldAccess getFieldAccess( sal_uInt16 index ) const
- { return m_pImpl->m_pReader->getFieldFlags(index); }
- inline RTConstValue getFieldConstValue( sal_uInt16 index ) const
- { return m_pImpl->m_pReader->getFieldValue(index); }
- inline const ::rtl::OString getFieldDoku( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getFieldDocumentation(index) ); }
- inline const ::rtl::OString getFieldFileName( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getFieldFileName(index) ); }
- inline sal_uInt32 getMethodCount() const
- { return m_pImpl->m_pReader->getMethodCount(); }
- inline const ::rtl::OString getMethodName( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getMethodName(index) ); }
- inline sal_uInt32 getMethodParamCount( sal_uInt16 index ) const
- { return m_pImpl->m_pReader->getMethodParameterCount(index); }
- inline const ::rtl::OString getMethodParamType( sal_uInt16 index, sal_uInt16 paramIndex ) const
- { return inGlobalSet( m_pImpl->m_pReader->getMethodParameterTypeName(index,paramIndex) ); }
- inline const ::rtl::OString getMethodParamName( sal_uInt16 index, sal_uInt16 paramIndex ) const
- { return inGlobalSet( m_pImpl->m_pReader->getMethodParameterName(index,paramIndex) ); }
- inline RTParamMode getMethodParamMode( sal_uInt16 index, sal_uInt16 paramIndex ) const
- { return m_pImpl->m_pReader->getMethodParameterFlags(index,paramIndex); }
- inline sal_uInt32 getMethodExcCount( sal_uInt16 index ) const
- { return m_pImpl->m_pReader->getMethodExceptionCount(index); }
- inline const ::rtl::OString getMethodExcType( sal_uInt16 index, sal_uInt16 excIndex ) const
- { return inGlobalSet( m_pImpl->m_pReader->getMethodExceptionTypeName(index,excIndex) ); }
- inline const ::rtl::OString getMethodReturnType( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getMethodReturnTypeName(index) ); }
- inline RTMethodMode getMethodMode( sal_uInt16 index ) const
- { return m_pImpl->m_pReader->getMethodFlags(index); }
- inline const ::rtl::OString getMethodDoku( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getMethodDocumentation(index) ); }
-
- inline sal_uInt32 getReferenceCount() const
- { return m_pImpl->m_pReader->getReferenceCount(); }
- inline const ::rtl::OString getReferenceName( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getReferenceTypeName(index) ); }
- inline RTReferenceType getReferenceType( sal_uInt16 index ) const
- { return m_pImpl->m_pReader->getReferenceSort(index); }
- inline const ::rtl::OString getReferenceDoku( sal_uInt16 index ) const
- { return inGlobalSet( m_pImpl->m_pReader->getReferenceDocumentation(index) ); }
-
- inline sal_uInt32 getBlopSize() const
- { return m_pImpl->m_blopSize; }
-
- inline const sal_uInt8* getBlop() const
- { return m_pImpl->m_pBlop; }
-
-private:
- TypeReader_Impl* m_pImpl;
-};
-
-
-#endif // _CODEMAKER_REGISTRY_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/rdbmaker/inc/codemaker/typemanager.hxx b/rdbmaker/inc/codemaker/typemanager.hxx
deleted file mode 100644
index a6da27d29db0..000000000000
--- a/rdbmaker/inc/codemaker/typemanager.hxx
+++ /dev/null
@@ -1,147 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#include <boost/unordered_map.hpp>
-
-#ifndef _CODEMAKER_TYPEMANAGER_HXX_
-#define _CODEMAKER_TYPEMANAGER_HXX_
-#include <codemaker/registry.hxx>
-
-typedef ::std::list< Registry* > RegistryList;
-
-typedef ::boost::unordered_map
-<
- ::rtl::OString, // Typename
- RTTypeClass, // TypeClass
- HashString,
- EqualString
-> T2TypeClassMap;
-
-struct TypeManagerImpl
-{
- TypeManagerImpl()
- : m_refCount(0)
- {}
-
- sal_Int32 m_refCount;
-};
-
-class TypeManager
-{
-public:
- TypeManager();
- virtual ~TypeManager();
-
- TypeManager( const TypeManager& value )
- : m_pImpl( value.m_pImpl )
- {
- acquire();
- }
-
- TypeManager& operator = ( const TypeManager& value )
- {
- release();
- m_pImpl = value.m_pImpl;
- acquire();
- return *this;
- }
-
- virtual sal_Bool init(sal_Bool /*bMerge*/, const StringVector& /*regFiles*/)
- { return sal_False; }
- virtual sal_Bool init(const ::rtl::OString& /*registryName*/)
- { return sal_False; }
-
- virtual sal_Bool isValidType(const ::rtl::OString& /*name*/)
- { return sal_False; }
-
- virtual RegistryKey getTypeKey(const ::rtl::OString& /*name*/)
- { return RegistryKey(); }
- virtual TypeReader getTypeReader(const ::rtl::OString& /*name*/)
- { return TypeReader(); }
- virtual RTTypeClass getTypeClass(const ::rtl::OString& /*name*/)
- { return RT_TYPE_INVALID; }
-
- virtual void setBase(const ::rtl::OString& /*base*/) {}
- virtual ::rtl::OString getBase() { return ::rtl::OString(); }
-
- virtual sal_Int32 getSize() { return 0; }
-
-protected:
- sal_Int32 acquire();
- sal_Int32 release();
-
-protected:
- TypeManagerImpl* m_pImpl;
-};
-
-struct RegistryTypeManagerImpl
-{
- RegistryTypeManagerImpl()
- : m_pMergedRegistry(NULL)
- , m_base("/")
- , m_isMerged(false)
- {}
-
- T2TypeClassMap m_t2TypeClass;
- RegistryList m_registries;
- Registry* m_pMergedRegistry;
- ::rtl::OString m_base;
- bool m_isMerged;
-};
-
-class RegistryTypeManager : public TypeManager
-{
-public:
- RegistryTypeManager();
- virtual ~RegistryTypeManager();
-
- RegistryTypeManager( const RegistryTypeManager& value )
- : TypeManager(value)
- , m_pImpl( value.m_pImpl )
- {
- acquire();
- }
-
- using TypeManager::init;
- sal_Bool init(sal_Bool bMerge, const StringVector& regFiles);
-
- sal_Bool isValidType(const ::rtl::OString& name)
- { return searchTypeKey(name).isValid(); }
- RegistryKey getTypeKey(const ::rtl::OString& name)
- { return searchTypeKey(name); }
- TypeReader getTypeReader(const ::rtl::OString& name);
- RTTypeClass getTypeClass(const ::rtl::OString& name);
-
- void setBase(const ::rtl::OString& base);
- ::rtl::OString getBase() { return m_pImpl->m_base; }
-
- sal_Int32 getSize() { return m_pImpl->m_t2TypeClass.size(); }
-protected:
- RegistryKey searchTypeKey(const ::rtl::OString& name);
- void freeRegistries();
-
- void acquire();
- void release();
-
-protected:
- RegistryTypeManagerImpl* m_pImpl;
-};
-
-#endif // _CODEMAKER_TYPEMANAGER_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */