1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
30 SvNamePos( const SvGlobalName
& rName
, sal_uInt32 nPos
)
35 class SvMetaModule
: public SvMetaExtern
37 SvMetaClassMemberList aClassList
;
38 SvMetaTypeMemberList aTypeList
;
39 SvMetaAttributeMemberList aAttrList
;
42 SvString aHelpFileName
;
44 SvString aTypeLibFile
;
45 SvString aModulePrefix
;
47 sal_Bool bImported
: 1,
49 SvGlobalName aBeginName
;
50 SvGlobalName aEndName
;
51 SvGlobalName aNextName
;
53 virtual void ReadAttributesSvIdl( SvIdlDataBase
&, SvTokenStream
& rInStm
);
54 virtual void WriteAttributesSvIdl( SvIdlDataBase
& rBase
, SvStream
& rOutStm
, sal_uInt16 nTab
);
55 virtual void ReadContextSvIdl( SvIdlDataBase
&, SvTokenStream
& rInStm
);
56 virtual void WriteContextSvIdl( SvIdlDataBase
& rBase
, SvStream
& rOutStm
, sal_uInt16 nTab
);
58 SV_DECL_META_FACTORY1( SvMetaModule
, SvMetaExtern
, 13 )
61 const String
& GetIdlFileName() const { return aIdlFileName
; }
62 const OString
& GetModulePrefix() const { return aModulePrefix
.getString(); }
64 virtual sal_Bool
SetName( const OString
& rName
, SvIdlDataBase
* = NULL
);
66 const OString
& GetHelpFileName() const { return aHelpFileName
.getString(); }
67 const OString
& GetTypeLibFileName() const { return aTypeLibFile
.getString(); }
69 const SvMetaAttributeMemberList
& GetAttrList() const { return aAttrList
; }
70 const SvMetaTypeMemberList
& GetTypeList() const { return aTypeList
; }
71 const SvMetaClassMemberList
& GetClassList() const { return aClassList
; }
73 SvMetaModule( const String
& rIdlFileName
,
76 sal_Bool
FillNextName( SvGlobalName
* );
77 sal_Bool
IsImported() const { return bImported
; }
78 sal_Bool
IsModified() const { return bIsModified
; }
80 virtual sal_Bool
ReadSvIdl( SvIdlDataBase
&, SvTokenStream
& rInStm
);
81 virtual void WriteSvIdl( SvIdlDataBase
& rBase
, SvStream
& rOutStm
, sal_uInt16 nTab
);
83 virtual void WriteAttributes( SvIdlDataBase
& rBase
,
84 SvStream
& rOutStm
, sal_uInt16 nTab
,
85 WriteType
, WriteAttribute
= 0 );
86 virtual void Write( SvIdlDataBase
& rBase
, SvStream
& rOutStm
, sal_uInt16 nTab
,
87 WriteType
, WriteAttribute
= 0 );
88 virtual void WriteSfx( SvIdlDataBase
& rBase
, SvStream
& rOutStm
);
89 virtual void WriteHelpIds( SvIdlDataBase
& rBase
, SvStream
& rOutStm
,
90 HelpIdTable
& rTable
);
92 SV_DECL_IMPL_REF(SvMetaModule
)
94 class SvMetaModuleMemberList
: public SvDeclPersistList
<SvMetaModule
*> {};
99 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */