diff options
author | Noel Grandin <noel@peralex.com> | 2016-02-16 08:55:36 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2016-02-16 11:59:05 +0200 |
commit | 314cb543fe69d2a08fa40084512f40062437bed1 (patch) | |
tree | b0fcdea41e2e6776324afe4b75393210b5557a91 /idl/inc | |
parent | e384e3851de8d5c82c64be579456eccfa4c75959 (diff) |
parse shell/interface entries in SvIdlParser
Change-Id: Ief68b26be0a0890ffdfa02a5904ba9d2cb364c65
Diffstat (limited to 'idl/inc')
-rw-r--r-- | idl/inc/bastype.hxx | 1 | ||||
-rw-r--r-- | idl/inc/object.hxx | 6 | ||||
-rw-r--r-- | idl/inc/parser.hxx | 4 | ||||
-rw-r--r-- | idl/inc/types.hxx | 3 |
4 files changed, 9 insertions, 5 deletions
diff --git a/idl/inc/bastype.hxx b/idl/inc/bastype.hxx index ef7a88c2e144..afe3642d10e0 100644 --- a/idl/inc/bastype.hxx +++ b/idl/inc/bastype.hxx @@ -52,6 +52,7 @@ class SvIdentifier sal_uInt32 nValue; public: SvIdentifier() : nValue( 0 ) {}; + SvIdentifier(sal_uInt32 n) : nValue( n ) {}; void setString(const OString& rStr) { m_aStr = rStr; } const OString& getString() const { return m_aStr; } diff --git a/idl/inc/object.hxx b/idl/inc/object.hxx index 12f5af2b06ac..6d56eebeceac 100644 --- a/idl/inc/object.hxx +++ b/idl/inc/object.hxx @@ -50,12 +50,12 @@ class SvMetaClass : public SvMetaType { public: tools::SvRef<SvMetaClass> aSuperClass; -private: - SvRefMemberList<SvMetaAttribute *> aAttrList; std::vector<SvClassElement> aClassElementList; - + SvRefMemberList<SvMetaAttribute *> aAttrList; bool TestAttribute( SvIdlDataBase & rBase, SvTokenStream & rInStm, SvMetaAttribute & rAttr ) const; +private: + static void WriteSlotStubs( const OString& rShellName, SvSlotElementList & rSlotList, ByteStringList & rList, diff --git a/idl/inc/parser.hxx b/idl/inc/parser.hxx index 225836967c00..78a62af53ca1 100644 --- a/idl/inc/parser.hxx +++ b/idl/inc/parser.hxx @@ -29,6 +29,7 @@ class SvMetaModule; class SvMetaTypeEnum; class SvStringHashEntry; class SvMetaType; +class SvMetaClass; class SvIdlParser { @@ -42,6 +43,9 @@ public: void ReadModuleElement( SvMetaModule& rModule ); void ReadInclude( SvMetaModule& rModule ); void ReadInterfaceOrShell( SvMetaModule& rModule, MetaTypeType aMetaTypeType ); + void ReadInterfaceOrShellEntry( SvMetaClass& rClass ); + bool ReadInterfaceOrShellSlot( SvMetaSlot& rSlot ); + bool ReadInterfaceOrShellAttribute( SvMetaAttribute& rAttr ); void ReadItem(); void ReadStruct(); void ReadEnum(); diff --git a/idl/inc/types.hxx b/idl/inc/types.hxx index 3be88e1b2eb8..ec7a0de281ee 100644 --- a/idl/inc/types.hxx +++ b/idl/inc/types.hxx @@ -30,10 +30,9 @@ typedef SvRefMemberList< SvMetaSlot* > SvSlotElementList; class SvMetaAttribute : public SvMetaReference { -protected: +public: virtual void ReadAttributesSvIdl( SvIdlDataBase & rBase, SvTokenStream & rInStm ) override; -public: tools::SvRef<SvMetaType> aType; SvIdentifier aSlotId; SvMetaAttribute(); |