diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-07-03 11:11:14 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-07-03 15:41:17 +0200 |
commit | a843c457044acc3155b0d3c49534e78569c69d96 (patch) | |
tree | 853c70e205974e9502bc8c50f378efc4731e29ae /registry/source/reflread.hxx | |
parent | cfde943f59b0cf63c46cbe061fd37e53201d2363 (diff) |
Remove RegistryTypeReader_Api indirection
Change-Id: I43710d057043a258ec9ab94bca0703434098e6c9
Diffstat (limited to 'registry/source/reflread.hxx')
-rw-r--r-- | registry/source/reflread.hxx | 167 |
1 files changed, 14 insertions, 153 deletions
diff --git a/registry/source/reflread.hxx b/registry/source/reflread.hxx index 5d6fc0c22c69..a4f3b9feb515 100644 --- a/registry/source/reflread.hxx +++ b/registry/source/reflread.hxx @@ -27,50 +27,10 @@ /// Implememetation handle typedef void* TypeReaderImpl; -/**************************************************************************** - - C-Api - -*****************************************************************************/ - -#ifdef __cplusplus -extern "C" { -#endif - -/** specifies a collection of function pointers which represents the complete registry type reader C-API. - - This funtions pointers are used by the C++ wrapper to call the C-API. -*/ -struct RegistryTypeReader_Api -{ - TypeReaderImpl (TYPEREG_CALLTYPE *createEntry) (const sal_uInt8*, sal_uInt32, bool); - void (TYPEREG_CALLTYPE *acquire) (TypeReaderImpl); - void (TYPEREG_CALLTYPE *release) (TypeReaderImpl); - RTTypeClass (TYPEREG_CALLTYPE *getTypeClass) (TypeReaderImpl); - void (TYPEREG_CALLTYPE *getTypeName) (TypeReaderImpl, rtl_uString**); - void (TYPEREG_CALLTYPE *getSuperTypeName) (TypeReaderImpl, rtl_uString**); - sal_uInt32 (TYPEREG_CALLTYPE *getFieldCount) (TypeReaderImpl); - void (TYPEREG_CALLTYPE *getFieldName) (TypeReaderImpl, rtl_uString**, sal_uInt16); - void (TYPEREG_CALLTYPE *getFieldType) (TypeReaderImpl, rtl_uString**, sal_uInt16); - RTFieldAccess (TYPEREG_CALLTYPE *getFieldAccess) (TypeReaderImpl, sal_uInt16); - RTValueType (TYPEREG_CALLTYPE *getFieldConstValue) (TypeReaderImpl, sal_uInt16, RTConstValueUnion*); - void (TYPEREG_CALLTYPE *getFieldDoku) (TypeReaderImpl, rtl_uString**, sal_uInt16); - void (TYPEREG_CALLTYPE *getFieldFileName) (TypeReaderImpl, rtl_uString**, sal_uInt16); -}; - -/** the API initialization function. -*/ -RegistryTypeReader_Api* TYPEREG_CALLTYPE initRegistryTypeReader_Api(); - -#ifdef __cplusplus -} -#endif - /** RegistryTypeReades reads a binary type blob. This class provides the necessary functions to read type information for all kinds of types of a type blob. - The class is inline and use a C-Api. @deprecated use typereg::Reader instead @@ -87,18 +47,18 @@ public: The block can be copied to ensure that the data is valid for the lifetime of this instance. */ - inline RegistryTypeReader(const sal_uInt8* buffer, + RegistryTypeReader(const sal_uInt8* buffer, sal_uInt32 bufferLen, bool copyData); /// Copy constructcor - inline RegistryTypeReader(const RegistryTypeReader& toCopy); + RegistryTypeReader(const RegistryTypeReader& toCopy); /// Destructor. The Destructor frees the data block if the copyData flag was TRUE. - inline ~RegistryTypeReader(); + ~RegistryTypeReader(); /// Assign operator - inline RegistryTypeReader& operator == (const RegistryTypeReader& toAssign); + RegistryTypeReader& operator == (const RegistryTypeReader& toAssign); /** returns the typeclass of the type represented by this blob. @@ -106,158 +66,59 @@ public: This function will always return the type class without the internal RT_TYPE_PUBLISHED flag set. */ - inline RTTypeClass getTypeClass() const; + RTTypeClass getTypeClass() const; /** returns the full qualified name of the type. */ - inline rtl::OUString getTypeName() const; + rtl::OUString getTypeName() const; /** returns the full qualified name of the supertype. */ - inline rtl::OUString getSuperTypeName() const; + rtl::OUString getSuperTypeName() const; /** returns the number of fields (attributes/properties, enum values or number of constants in a module). */ - inline sal_uInt32 getFieldCount() const; + sal_uInt32 getFieldCount() const; /** returns the name of the field specified by index. */ - inline rtl::OUString getFieldName( sal_uInt16 index ) const; + rtl::OUString getFieldName( sal_uInt16 index ) const; /** returns the full qualified name of the field specified by index. */ - inline rtl::OUString getFieldType( sal_uInt16 index ) const; + rtl::OUString getFieldType( sal_uInt16 index ) const; /** returns the access mode of the field specified by index. */ - inline RTFieldAccess getFieldAccess( sal_uInt16 index ) const; + RTFieldAccess getFieldAccess( sal_uInt16 index ) const; /** returns the value of the field specified by index. This function returns the value of an enum value or of a constant. */ - inline RTConstValue getFieldConstValue( sal_uInt16 index ) const; + RTConstValue getFieldConstValue( sal_uInt16 index ) const; /** returns the documentation string for the field specified by index. Each field of a type can have their own documentation. */ - inline rtl::OUString getFieldDoku( sal_uInt16 index ) const; + rtl::OUString getFieldDoku( sal_uInt16 index ) const; /** returns the IDL filename of the field specified by index. The IDL filename of a field can differ from the filename of the ype itself because modules and also constants can be defined in different IDL files. */ - inline rtl::OUString getFieldFileName( sal_uInt16 index ) const; + rtl::OUString getFieldFileName( sal_uInt16 index ) const; protected: - /// stores the registry type reader Api. - const RegistryTypeReader_Api* m_pApi; /// stores the handle of an implementation class TypeReaderImpl m_hImpl; }; - - -inline RegistryTypeReader::RegistryTypeReader(const sal_uInt8* buffer, - sal_uInt32 bufferLen, - bool copyData) - : m_pApi(initRegistryTypeReader_Api()) - , m_hImpl(NULL) - { - m_hImpl = m_pApi->createEntry(buffer, bufferLen, copyData); - } - - -inline RegistryTypeReader::RegistryTypeReader(const RegistryTypeReader& toCopy) - : m_pApi(toCopy.m_pApi) - , m_hImpl(toCopy.m_hImpl) - { m_pApi->acquire(m_hImpl); } - - -inline RegistryTypeReader::~RegistryTypeReader() - { m_pApi->release(m_hImpl); } - -inline RegistryTypeReader& RegistryTypeReader::operator == (const RegistryTypeReader& toAssign) -{ - if (m_hImpl != toAssign.m_hImpl) - { - m_pApi->release(m_hImpl); - m_hImpl = toAssign.m_hImpl; - m_pApi->acquire(m_hImpl); - } - - return *this; -} - - - - - - - -inline RTTypeClass RegistryTypeReader::getTypeClass() const - { return m_pApi->getTypeClass(m_hImpl); } - -inline rtl::OUString RegistryTypeReader::getTypeName() const - { - rtl::OUString sRet; - m_pApi->getTypeName(m_hImpl, &sRet.pData); - return sRet; - } - -inline rtl::OUString RegistryTypeReader::getSuperTypeName() const - { - rtl::OUString sRet; - m_pApi->getSuperTypeName(m_hImpl, &sRet.pData); - return sRet; - } - -inline sal_uInt32 RegistryTypeReader::getFieldCount() const - { return m_pApi->getFieldCount(m_hImpl); } - -inline rtl::OUString RegistryTypeReader::getFieldName( sal_uInt16 index ) const - { - rtl::OUString sRet; - m_pApi->getFieldName(m_hImpl, &sRet.pData, index); - return sRet; - } - -inline rtl::OUString RegistryTypeReader::getFieldType( sal_uInt16 index ) const - { - rtl::OUString sRet; - m_pApi->getFieldType(m_hImpl, &sRet.pData, index); - return sRet; - } - -inline RTFieldAccess RegistryTypeReader::getFieldAccess( sal_uInt16 index ) const - { return m_pApi->getFieldAccess(m_hImpl, index); } - -inline RTConstValue RegistryTypeReader::getFieldConstValue( sal_uInt16 index ) const - { - RTConstValue ret; - ret.m_type = m_pApi->getFieldConstValue(m_hImpl, index, &ret.m_value); - return ret; - } - -inline rtl::OUString RegistryTypeReader::getFieldDoku( sal_uInt16 index ) const - { - rtl::OUString sRet; - m_pApi->getFieldDoku(m_hImpl, &sRet.pData, index); - return sRet; - } - -inline rtl::OUString RegistryTypeReader::getFieldFileName( sal_uInt16 index ) const - { - rtl::OUString sRet; - m_pApi->getFieldFileName(m_hImpl, &sRet.pData, index); - return sRet; - } - #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |