1*f3ea6674SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*f3ea6674SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*f3ea6674SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*f3ea6674SAndrew Rist * distributed with this work for additional information 6*f3ea6674SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*f3ea6674SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*f3ea6674SAndrew Rist * "License"); you may not use this file except in compliance 9*f3ea6674SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*f3ea6674SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*f3ea6674SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*f3ea6674SAndrew Rist * software distributed under the License is distributed on an 15*f3ea6674SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*f3ea6674SAndrew Rist * KIND, either express or implied. See the License for the 17*f3ea6674SAndrew Rist * specific language governing permissions and limitations 18*f3ea6674SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*f3ea6674SAndrew Rist *************************************************************/ 21*f3ea6674SAndrew Rist 22*f3ea6674SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _TYPES_HXX 25cdf0e10cSrcweir #define _TYPES_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <tools/ref.hxx> 28cdf0e10cSrcweir #include <basobj.hxx> 29cdf0e10cSrcweir 30cdf0e10cSrcweir class SvSlotElementList; 31cdf0e10cSrcweir struct SvSlotElement; 32cdf0e10cSrcweir 33cdf0e10cSrcweir /******************** class SvMetaAttribute *****************************/ 34cdf0e10cSrcweir SV_DECL_REF(SvMetaType) 35cdf0e10cSrcweir SV_DECL_REF(SvMetaAttribute) 36cdf0e10cSrcweir SV_DECL_PERSIST_LIST(SvMetaAttribute,SvMetaAttribute *) 37cdf0e10cSrcweir class SvMetaAttribute : public SvMetaReference 38cdf0e10cSrcweir { 39cdf0e10cSrcweir SvMetaTypeRef aType; 40cdf0e10cSrcweir SvNumberIdentifier aSlotId; 41cdf0e10cSrcweir SvBOOL aAutomation; 42cdf0e10cSrcweir SvBOOL aExport; 43cdf0e10cSrcweir SvBOOL aReadonly; 44cdf0e10cSrcweir SvBOOL aIsCollection; 45cdf0e10cSrcweir SvBOOL aReadOnlyDoc; 46cdf0e10cSrcweir SvBOOL aHidden; 47cdf0e10cSrcweir sal_Bool bNewAttr; 48cdf0e10cSrcweir 49cdf0e10cSrcweir protected: 50cdf0e10cSrcweir #ifdef IDL_COMPILER 51cdf0e10cSrcweir virtual void WriteCSource( SvIdlDataBase & rBase, 52cdf0e10cSrcweir SvStream & rOutStm, sal_Bool bSet ); 53cdf0e10cSrcweir sal_uLong MakeSlotValue( SvIdlDataBase & rBase, sal_Bool bVariable ) const; 54cdf0e10cSrcweir virtual void WriteAttributes( SvIdlDataBase & rBase, 55cdf0e10cSrcweir SvStream & rOutStm, sal_uInt16 nTab, 56cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 57cdf0e10cSrcweir virtual void ReadAttributesSvIdl( SvIdlDataBase & rBase, 58cdf0e10cSrcweir SvTokenStream & rInStm ); 59cdf0e10cSrcweir virtual void WriteAttributesSvIdl( SvIdlDataBase & rBase, 60cdf0e10cSrcweir SvStream & rOutStm, sal_uInt16 nTab ); 61cdf0e10cSrcweir #endif 62cdf0e10cSrcweir public: 63cdf0e10cSrcweir SV_DECL_META_FACTORY1( SvMetaAttribute, SvMetaReference, 2 ) 64cdf0e10cSrcweir SvMetaAttribute(); 65cdf0e10cSrcweir SvMetaAttribute( SvMetaType * ); 66cdf0e10cSrcweir SetNewAttribute(sal_Bool bNew)67cdf0e10cSrcweir void SetNewAttribute( sal_Bool bNew ) 68cdf0e10cSrcweir { bNewAttr = bNew; } IsNewAttribute() const69cdf0e10cSrcweir sal_Bool IsNewAttribute() const 70cdf0e10cSrcweir { return bNewAttr; } 71cdf0e10cSrcweir sal_Bool GetReadonly() const; 72cdf0e10cSrcweir SetSlotId(const SvNumberIdentifier & rId)73cdf0e10cSrcweir void SetSlotId( const SvNumberIdentifier & rId ) 74cdf0e10cSrcweir { aSlotId = rId; } 75cdf0e10cSrcweir const SvNumberIdentifier & GetSlotId() const; 76cdf0e10cSrcweir SetExport(sal_Bool bSet)77cdf0e10cSrcweir void SetExport( sal_Bool bSet ) 78cdf0e10cSrcweir { aExport = bSet; } 79cdf0e10cSrcweir sal_Bool GetExport() const; 80cdf0e10cSrcweir SetHidden(sal_Bool bSet)81cdf0e10cSrcweir void SetHidden( sal_Bool bSet ) 82cdf0e10cSrcweir { aHidden = bSet; } 83cdf0e10cSrcweir sal_Bool GetHidden() const; 84cdf0e10cSrcweir SetAutomation(sal_Bool bSet)85cdf0e10cSrcweir void SetAutomation( sal_Bool bSet ) 86cdf0e10cSrcweir { aAutomation = bSet; } 87cdf0e10cSrcweir sal_Bool GetAutomation() const; 88cdf0e10cSrcweir SetIsCollection(sal_Bool bSet)89cdf0e10cSrcweir void SetIsCollection( sal_Bool bSet ) 90cdf0e10cSrcweir { aIsCollection = bSet; } 91cdf0e10cSrcweir sal_Bool GetIsCollection() const; SetReadOnlyDoc(sal_Bool bSet)92cdf0e10cSrcweir void SetReadOnlyDoc( sal_Bool bSet ) 93cdf0e10cSrcweir { aReadOnlyDoc = bSet; } 94cdf0e10cSrcweir sal_Bool GetReadOnlyDoc() const; 95cdf0e10cSrcweir SetType(SvMetaType * pT)96cdf0e10cSrcweir void SetType( SvMetaType * pT ) { aType = pT; } 97cdf0e10cSrcweir SvMetaType * GetType() const; 98cdf0e10cSrcweir 99cdf0e10cSrcweir virtual sal_Bool IsMethod() const; 100cdf0e10cSrcweir virtual sal_Bool IsVariable() const; 101cdf0e10cSrcweir virtual ByteString GetMangleName( sal_Bool bVariable ) const; 102cdf0e10cSrcweir 103cdf0e10cSrcweir // void FillSbxObject( SbxInfo * pInfo, sal_uInt16 nSbxFlags = 0 ); 104cdf0e10cSrcweir // virtual void FillSbxObject( SvIdlDataBase & rBase, SbxObject * pObj, sal_Bool bVariable ); 105cdf0e10cSrcweir 106cdf0e10cSrcweir #ifdef IDL_COMPILER 107cdf0e10cSrcweir virtual sal_Bool Test( SvIdlDataBase &, SvTokenStream & rInStm ); 108cdf0e10cSrcweir virtual sal_Bool ReadSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 109cdf0e10cSrcweir virtual void WriteSvIdl( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab ); 110cdf0e10cSrcweir virtual void WriteParam( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, 111cdf0e10cSrcweir WriteType ); 112cdf0e10cSrcweir void WriteRecursiv_Impl( SvIdlDataBase & rBase, 113cdf0e10cSrcweir SvStream & rOutStm, sal_uInt16 nTab, 114cdf0e10cSrcweir WriteType, WriteAttribute ); 115cdf0e10cSrcweir virtual void Write( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, 116cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 117cdf0e10cSrcweir sal_uLong MakeSfx( ByteString * pAtrrArray ); 118cdf0e10cSrcweir virtual void Insert( SvSlotElementList&, const ByteString & rPrefix, 119cdf0e10cSrcweir SvIdlDataBase& ); 120cdf0e10cSrcweir virtual void WriteHelpId( SvIdlDataBase & rBase, SvStream & rOutStm, 121cdf0e10cSrcweir Table * pIdTable ); 122cdf0e10cSrcweir virtual void WriteSrc( SvIdlDataBase & rBase, SvStream & rOutStm, 123cdf0e10cSrcweir Table * pIdTable ); 124cdf0e10cSrcweir virtual void WriteCSV( SvIdlDataBase&, SvStream& ); 125cdf0e10cSrcweir void FillIDTable(Table *pIDTable); 126cdf0e10cSrcweir ByteString Compare( SvMetaAttribute *pAttr ); 127cdf0e10cSrcweir #endif 128cdf0e10cSrcweir }; 129cdf0e10cSrcweir SV_IMPL_REF(SvMetaAttribute) 130cdf0e10cSrcweir SV_IMPL_PERSIST_LIST(SvMetaAttribute,SvMetaAttribute *) 131cdf0e10cSrcweir 132cdf0e10cSrcweir 133cdf0e10cSrcweir /******************** class SvType *********************************/ 134cdf0e10cSrcweir enum { CALL_VALUE, CALL_POINTER, CALL_REFERENCE }; 135cdf0e10cSrcweir enum { TYPE_METHOD, TYPE_STRUCT, TYPE_BASE, TYPE_ENUM, TYPE_UNION, 136cdf0e10cSrcweir TYPE_CLASS, TYPE_POINTER }; 137cdf0e10cSrcweir class SvMetaType : public SvMetaExtern 138cdf0e10cSrcweir { 139cdf0e10cSrcweir SvBOOL aIn; // Eingangsparameter 140cdf0e10cSrcweir SvBOOL aOut; // Returnparameter 141cdf0e10cSrcweir Svint aCall0, aCall1; 142cdf0e10cSrcweir Svint aSbxDataType; 143cdf0e10cSrcweir SvIdentifier aSvName; 144cdf0e10cSrcweir SvIdentifier aSbxName; 145cdf0e10cSrcweir SvIdentifier aOdlName; 146cdf0e10cSrcweir SvIdentifier aCName; 147cdf0e10cSrcweir SvIdentifier aBasicPostfix; 148cdf0e10cSrcweir SvIdentifier aBasicName; 149cdf0e10cSrcweir SvMetaAttributeMemberList * pAttrList; 150cdf0e10cSrcweir int nType; 151cdf0e10cSrcweir sal_Bool bIsItem; 152cdf0e10cSrcweir sal_Bool bIsShell; 153cdf0e10cSrcweir char cParserChar; 154cdf0e10cSrcweir 155cdf0e10cSrcweir #ifdef IDL_COMPILER 156cdf0e10cSrcweir void WriteSfxItem( const ByteString & rItemName, SvIdlDataBase & rBase, 157cdf0e10cSrcweir SvStream & rOutStm ); 158cdf0e10cSrcweir protected: 159cdf0e10cSrcweir sal_Bool ReadNamesSvIdl( SvIdlDataBase & rBase, 160cdf0e10cSrcweir SvTokenStream & rInStm ); 161cdf0e10cSrcweir virtual void ReadAttributesSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 162cdf0e10cSrcweir virtual void WriteAttributesSvIdl( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab ); 163cdf0e10cSrcweir virtual void ReadContextSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 164cdf0e10cSrcweir virtual void WriteContextSvIdl( SvIdlDataBase &, SvStream & rOutStm, 165cdf0e10cSrcweir sal_uInt16 nTab ); 166cdf0e10cSrcweir 167cdf0e10cSrcweir virtual void WriteContext( SvIdlDataBase & rBase, SvStream & rOutStm, 168cdf0e10cSrcweir sal_uInt16 nTab, 169cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 170cdf0e10cSrcweir virtual void WriteAttributes( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, 171cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 172cdf0e10cSrcweir sal_Bool ReadHeaderSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 173cdf0e10cSrcweir void WriteHeaderSvIdl( SvIdlDataBase &, SvStream & rOutStm, 174cdf0e10cSrcweir sal_uInt16 nTab ); 175cdf0e10cSrcweir #endif 176cdf0e10cSrcweir public: 177cdf0e10cSrcweir SV_DECL_META_FACTORY1( SvMetaType, SvMetaExtern, 18 ) 178cdf0e10cSrcweir SvMetaType(); 179cdf0e10cSrcweir SvMetaType( const ByteString & rTypeName, char cParserChar, 180cdf0e10cSrcweir const ByteString & rCName ); 181cdf0e10cSrcweir SvMetaType( const ByteString & rTypeName, const ByteString & rSbxName, 182cdf0e10cSrcweir const ByteString & rOdlName, char cParserChar, 183cdf0e10cSrcweir const ByteString & rCName, const ByteString & rBasicName, 184cdf0e10cSrcweir const ByteString & rBasicPostfix/*, SbxDataType nT = SbxEMPTY */); 185cdf0e10cSrcweir 186cdf0e10cSrcweir SvMetaAttributeMemberList & GetAttrList() const; GetAttrCount() const187cdf0e10cSrcweir sal_uLong GetAttrCount() const 188cdf0e10cSrcweir { 189cdf0e10cSrcweir return pAttrList ? pAttrList->Count() : 0L; 190cdf0e10cSrcweir } AppendAttr(SvMetaAttribute * pAttr)191cdf0e10cSrcweir void AppendAttr( SvMetaAttribute * pAttr ) 192cdf0e10cSrcweir { 193cdf0e10cSrcweir GetAttrList().Append( pAttr ); 194cdf0e10cSrcweir } 195cdf0e10cSrcweir 196cdf0e10cSrcweir void SetType( int nT ); GetType() const197cdf0e10cSrcweir int GetType() const { return nType; } 198cdf0e10cSrcweir SvMetaType * GetBaseType() const; 199cdf0e10cSrcweir SvMetaType * GetReturnType() const; IsItem() const200cdf0e10cSrcweir sal_Bool IsItem() const { return bIsItem; } IsShell() const201cdf0e10cSrcweir sal_Bool IsShell() const { return bIsShell; } 202cdf0e10cSrcweir 203cdf0e10cSrcweir // void SetSbxDataType( SbxDataType nT ) 204cdf0e10cSrcweir // { aSbxDataType = (int)nT; } 205cdf0e10cSrcweir // SbxDataType GetSbxDataType() const; 206cdf0e10cSrcweir SetIn(sal_Bool b)207cdf0e10cSrcweir void SetIn( sal_Bool b ) { aIn = b; } 208cdf0e10cSrcweir sal_Bool GetIn() const; 209cdf0e10cSrcweir SetOut(sal_Bool b)210cdf0e10cSrcweir void SetOut( sal_Bool b ) { aOut = b; } 211cdf0e10cSrcweir sal_Bool GetOut() const; 212cdf0e10cSrcweir 213cdf0e10cSrcweir void SetCall0( int e ); 214cdf0e10cSrcweir int GetCall0() const; 215cdf0e10cSrcweir 216cdf0e10cSrcweir void SetCall1( int e); 217cdf0e10cSrcweir int GetCall1() const; 218cdf0e10cSrcweir SetBasicName(const ByteString & rName)219cdf0e10cSrcweir void SetBasicName(const ByteString& rName) 220cdf0e10cSrcweir { aBasicName = rName; } 221cdf0e10cSrcweir 222cdf0e10cSrcweir const ByteString & GetBasicName() const; 223cdf0e10cSrcweir ByteString GetBasicPostfix() const; 224cdf0e10cSrcweir const ByteString & GetSvName() const; 225cdf0e10cSrcweir const ByteString & GetSbxName() const; 226cdf0e10cSrcweir const ByteString & GetOdlName() const; 227cdf0e10cSrcweir const ByteString & GetCName() const; GetParserChar() const228cdf0e10cSrcweir char GetParserChar() const { return cParserChar; } 229cdf0e10cSrcweir 230cdf0e10cSrcweir virtual sal_Bool SetName( const ByteString & rName, SvIdlDataBase * = NULL ); 231cdf0e10cSrcweir 232cdf0e10cSrcweir // void FillSbxObject( SbxVariable * pObj, sal_Bool bVariable ); 233cdf0e10cSrcweir 234cdf0e10cSrcweir #ifdef IDL_COMPILER 235cdf0e10cSrcweir virtual sal_Bool ReadSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 236cdf0e10cSrcweir virtual void WriteSvIdl( SvIdlDataBase & rBase, 237cdf0e10cSrcweir SvStream & rOutStm, sal_uInt16 nTab ); 238cdf0e10cSrcweir virtual void Write( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, 239cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 240cdf0e10cSrcweir ByteString GetCString() const; 241cdf0e10cSrcweir void WriteSvIdlType( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab ); 242cdf0e10cSrcweir void WriteOdlType( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab ); 243cdf0e10cSrcweir void AppendParserString (ByteString &rString); 244cdf0e10cSrcweir 245cdf0e10cSrcweir sal_uLong MakeSfx( ByteString * pAtrrArray ); 246cdf0e10cSrcweir virtual void WriteSfx( SvIdlDataBase & rBase, SvStream & rOutStm ); 247cdf0e10cSrcweir //sal_Bool ReadTypePrefix( SvIdlDataBase &, SvTokenStream & rInStm ); 248cdf0e10cSrcweir sal_Bool ReadMethodArgs( SvIdlDataBase & rBase, 249cdf0e10cSrcweir SvTokenStream & rInStm ); 250cdf0e10cSrcweir void WriteTypePrefix( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, WriteType ); 251cdf0e10cSrcweir void WriteMethodArgs( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, WriteType ); 252cdf0e10cSrcweir void WriteTheType( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, WriteType ); 253cdf0e10cSrcweir ByteString GetParserString() const; 254cdf0e10cSrcweir void WriteParamNames( SvIdlDataBase & rBase, SvStream & rOutStm, 255cdf0e10cSrcweir const ByteString & rChief ); 256cdf0e10cSrcweir #endif 257cdf0e10cSrcweir }; 258cdf0e10cSrcweir SV_IMPL_REF(SvMetaType) 259cdf0e10cSrcweir DECLARE_LIST(SvMetaTypeList,SvMetaType *) 260cdf0e10cSrcweir SV_DECL_IMPL_PERSIST_LIST(SvMetaType,SvMetaType *) 261cdf0e10cSrcweir 262cdf0e10cSrcweir 263cdf0e10cSrcweir /******************** class SvTypeString *********************************/ 264cdf0e10cSrcweir class SvMetaTypeString : public SvMetaType 265cdf0e10cSrcweir { 266cdf0e10cSrcweir public: 267cdf0e10cSrcweir SV_DECL_META_FACTORY1( SvMetaTypeString, SvMetaType, 19 ) 268cdf0e10cSrcweir SvMetaTypeString(); 269cdf0e10cSrcweir }; 270cdf0e10cSrcweir SV_DECL_IMPL_REF(SvMetaTypeString) 271cdf0e10cSrcweir SV_DECL_IMPL_PERSIST_LIST(SvMetaTypeString,SvMetaTypeString *) 272cdf0e10cSrcweir 273cdf0e10cSrcweir 274cdf0e10cSrcweir /******************** class SvMetaEnumValue **********************************/ 275cdf0e10cSrcweir class SvMetaEnumValue : public SvMetaName 276cdf0e10cSrcweir { 277cdf0e10cSrcweir ByteString aEnumValue; 278cdf0e10cSrcweir public: 279cdf0e10cSrcweir SV_DECL_META_FACTORY1( SvMetaEnumValue, SvMetaName, 20 ) 280cdf0e10cSrcweir SvMetaEnumValue(); 281cdf0e10cSrcweir 282cdf0e10cSrcweir #ifdef IDL_COMPILER 283cdf0e10cSrcweir virtual sal_Bool ReadSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 284cdf0e10cSrcweir virtual void WriteSvIdl( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab ); 285cdf0e10cSrcweir virtual void Write( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, 286cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 287cdf0e10cSrcweir #endif 288cdf0e10cSrcweir }; 289cdf0e10cSrcweir SV_DECL_IMPL_REF(SvMetaEnumValue) 290cdf0e10cSrcweir SV_DECL_IMPL_PERSIST_LIST(SvMetaEnumValue,SvMetaEnumValue *) 291cdf0e10cSrcweir 292cdf0e10cSrcweir 293cdf0e10cSrcweir /******************** class SvTypeEnum *********************************/ 294cdf0e10cSrcweir class SvMetaTypeEnum : public SvMetaType 295cdf0e10cSrcweir { 296cdf0e10cSrcweir SvMetaEnumValueMemberList aEnumValueList; 297cdf0e10cSrcweir ByteString aPrefix; 298cdf0e10cSrcweir protected: 299cdf0e10cSrcweir #ifdef IDL_COMPILER 300cdf0e10cSrcweir virtual void ReadContextSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 301cdf0e10cSrcweir virtual void WriteContextSvIdl( SvIdlDataBase &, SvStream & rOutStm, 302cdf0e10cSrcweir sal_uInt16 nTab ); 303cdf0e10cSrcweir virtual void WriteContext( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab, 304cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 305cdf0e10cSrcweir #endif 306cdf0e10cSrcweir public: 307cdf0e10cSrcweir SV_DECL_META_FACTORY1( SvMetaTypeEnum, SvMetaType, 21 ) 308cdf0e10cSrcweir SvMetaTypeEnum(); 309cdf0e10cSrcweir 310cdf0e10cSrcweir sal_uInt16 GetMaxValue() const; Count() const311cdf0e10cSrcweir sal_uLong Count() const { return aEnumValueList.Count(); } GetPrefix() const312cdf0e10cSrcweir const ByteString & GetPrefix() const { return aPrefix; } GetObject(sal_uLong n) const313cdf0e10cSrcweir SvMetaEnumValue * GetObject( sal_uLong n ) const 314cdf0e10cSrcweir { return aEnumValueList.GetObject( n ); } 315cdf0e10cSrcweir 316cdf0e10cSrcweir #ifdef IDL_COMPILER 317cdf0e10cSrcweir virtual sal_Bool ReadSvIdl( SvIdlDataBase &, SvTokenStream & rInStm ); 318cdf0e10cSrcweir virtual void WriteSvIdl( SvIdlDataBase & rBase, SvStream & rOutStm, sal_uInt16 nTab ); 319cdf0e10cSrcweir 320cdf0e10cSrcweir virtual void Write( SvIdlDataBase & rBase, SvStream & rOutStm, 321cdf0e10cSrcweir sal_uInt16 nTab, 322cdf0e10cSrcweir WriteType, WriteAttribute = 0 ); 323cdf0e10cSrcweir #endif 324cdf0e10cSrcweir }; 325cdf0e10cSrcweir SV_DECL_IMPL_REF(SvMetaTypeEnum) 326cdf0e10cSrcweir SV_DECL_IMPL_PERSIST_LIST(SvMetaTypeEnum,SvMetaTypeEnum *) 327cdf0e10cSrcweir 328cdf0e10cSrcweir 329cdf0e10cSrcweir /******************** class SvTypeVoid ***********************************/ 330cdf0e10cSrcweir class SvMetaTypevoid : public SvMetaType 331cdf0e10cSrcweir { 332cdf0e10cSrcweir public: 333cdf0e10cSrcweir SV_DECL_META_FACTORY1( SvMetaTypevoid, SvMetaName, 22 ) 334cdf0e10cSrcweir SvMetaTypevoid(); 335cdf0e10cSrcweir }; 336cdf0e10cSrcweir SV_DECL_IMPL_REF(SvMetaTypevoid) 337cdf0e10cSrcweir SV_DECL_IMPL_PERSIST_LIST(SvMetaTypevoid,SvMetaTypevoid *) 338cdf0e10cSrcweir 339cdf0e10cSrcweir 340cdf0e10cSrcweir #endif // _TYPES_HXX 341