summaryrefslogtreecommitdiff
path: root/registry/source/reflread.cxx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2004-02-03 10:51:17 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2004-02-03 10:51:17 +0000
commit576f1ebfa07cc17158b979a8a3af1da5f468e2d9 (patch)
treea28b0d2b0659a493cca583a5c3c7637b7911b3ce /registry/source/reflread.cxx
parent72fab68ca51d84747679db162dd1d9687ba4103e (diff)
INTEGRATION: CWS sb10 (1.8.36); FILE MERGED
2003/12/10 09:26:23 sb 1.8.36.1: #114000# Adapted to multiple-inheritance interface types.
Diffstat (limited to 'registry/source/reflread.cxx')
-rw-r--r--registry/source/reflread.cxx33
1 files changed, 31 insertions, 2 deletions
diff --git a/registry/source/reflread.cxx b/registry/source/reflread.cxx
index 1149cab15..3579a3e63 100644
--- a/registry/source/reflread.cxx
+++ b/registry/source/reflread.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: reflread.cxx,v $
*
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
*
- * last change: $Author: hr $ $Date: 2003-03-26 15:37:45 $
+ * last change: $Author: hr $ $Date: 2004-02-03 11:51:17 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -1687,6 +1687,33 @@ static RTFieldAccess TYPEREG_CALLTYPE getReferenceAccess(TypeReaderImpl hEntry,
return pEntry->m_pReferences->getReferenceAccess(index);
}
+static sal_uInt32 TYPEREG_CALLTYPE getMISuperTypeCount(TypeReaderImpl hEntry)
+{
+ TypeRegistryEntry* pEntry = (TypeRegistryEntry*) hEntry;
+
+ if (pEntry == NULL) return 0;
+
+ if (pEntry->m_pCP == NULL) pEntry->init();
+
+ return pEntry->m_nSuperTypes;
+}
+
+static void TYPEREG_CALLTYPE getMISuperTypeName(TypeReaderImpl hEntry, rtl_uString** pSuperTypeName, sal_uInt16 index)
+{
+ TypeRegistryEntry* pEntry = (TypeRegistryEntry*) hEntry;
+
+ if (pEntry == NULL)
+ {
+ rtl_uString_new(pSuperTypeName);
+ return;
+ }
+
+ if (pEntry->m_pCP == NULL) pEntry->init();
+
+ const sal_Char* pTmp = pEntry->m_pCP->readUTF8NameConstant(pEntry->readUINT16(pEntry->m_offset_SUPERTYPES + (index * sizeof(sal_uInt16))));
+ if ( pTmp )
+ rtl_string2UString( pSuperTypeName, pTmp, rtl_str_getLength(pTmp), RTL_TEXTENCODING_UTF8, OUSTRING_TO_OSTRING_CVTFLAGS);
+}
extern "C" RegistryTypeReader_Api* TYPEREG_CALLTYPE initRegistryTypeReader_Api(void)
{
@@ -1727,6 +1754,8 @@ extern "C" RegistryTypeReader_Api* TYPEREG_CALLTYPE initRegistryTypeReader_Api(v
aApi.getReferenceType = &getReferenceType;
aApi.getReferenceDoku = &getReferenceDoku;
aApi.getReferenceAccess = &getReferenceAccess;
+ aApi.getMISuperTypeCount = &getMISuperTypeCount;
+ aApi.getMISuperTypeName = &getMISuperTypeName;
return (&aApi);
}