1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ia_ce.hxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef ARY_IDL_IA_CE_HXX
32 #define ARY_IDL_IA_CE_HXX
37 #include <ary/idl/ip_ce.hxx>
52 Implements ::ary::idl::CePilot. Provides the access logic for all
60 class CeAdmin
: public CePilot
65 NameLookup
& io_rNameDictionary
,
66 TypeAdmin
& io_rTypePilot
);
72 const Ce_Storage
& Storage() const;
75 Ce_Storage
& Storage();
78 // Interface ::ary::idl::CePilot:
79 virtual Module
& CheckIn_Module(
81 const String
& i_sName
);
82 virtual Service
& Store_Service(
84 const String
& i_sName
);
85 virtual SglIfcService
&
88 const String
& i_sName
,
89 Type_id i_nBaseInterface
);
90 virtual Interface
& Store_Interface(
92 const String
& i_sName
,
94 virtual Struct
& Store_Struct(
96 const String
& i_sName
,
98 const String
& i_sTemplateParam
);
99 virtual Exception
& Store_Exception(
101 const String
& i_sName
,
103 virtual Enum
& Store_Enum(
105 const String
& i_sName
);
106 virtual Typedef
& Store_Typedef(
108 const String
& i_sName
,
109 Type_id i_nDefiningType
);
110 virtual ConstantsGroup
&
111 Store_ConstantsGroup(
113 const String
& i_sName
);
114 virtual Singleton
& Store_Singleton(
116 const String
& i_sName
);
117 virtual SglIfcSingleton
&
118 Store_SglIfcSingleton(
120 const String
& i_sName
,
121 Type_id i_nBaseInterface
);
123 virtual Constant
& Store_Constant(
125 const String
& i_sName
,
127 const String
& i_sValue
);
128 virtual Property
& Store_Property(
130 const String
& i_sName
,
132 Property::Stereotypes
134 virtual Function
& Store_Function(
136 const String
& i_sName
,
137 Type_id i_nReturnType
,
139 virtual Function
& Store_ServiceConstructor(
141 const String
& i_sName
);
142 virtual StructElement
&
145 const String
& i_sName
,
147 virtual StructElement
&
148 Store_ExceptionMember(
150 const String
& i_sName
,
152 virtual EnumValue
& Store_EnumValue(
154 const String
& i_sName
,
155 const String
& i_sValue
);
156 virtual Attribute
& Store_Attribute(
158 const String
& i_sName
,
163 virtual const Module
&
164 GlobalNamespace() const;
165 virtual const CodeEntity
&
168 virtual const Module
&
171 virtual const Module
*
174 virtual const Function
&
177 virtual const Property
&
180 virtual const EnumValue
&
183 virtual const Constant
&
186 virtual const StructElement
&
189 virtual void Get_Text(
190 StringVector
& o_module
,
193 const CodeEntity
& i_ce
) const;
194 virtual const NameLookup
&
195 NameDictionary() const;
196 virtual void Get_AlphabeticalIndex(
199 alphabetical_index::E_Letter
202 virtual Module
& GlobalNamespace();
208 Module
& lhf_Access_Module(
210 void lhf_Put2Storage_and_AssignId(
211 CodeEntity
& pass_io_rCe
);
212 void lhf_Store_NewEntity(
213 DYN CodeEntity
& pass_io_rCe
,
215 void lhf_Store_NewEntity(
216 DYN CodeEntity
& pass_io_rCe
,
217 Ce_id i_nOwnerModule
);
219 StringVector
& o_module
,
220 const CodeEntity
& i_ce
) const;
221 Struct
& lhf_Store_TplStruct(
223 const String
& i_sName
,
225 const String
& i_sTemplateParam
);
227 const Ce_Storage
& my_Storage() const;
228 Ce_Storage
& my_Storage();
229 NameLookup
& my_NameDictionary() { return *pNameDictionary
; }
232 Dyn
<Ce_Storage
> pStorage
; /// @inv pStorage != 0;
233 Module
* pGlobalNamespace
;
234 NameLookup
* pNameDictionary
;
235 TypeAdmin
* pTypePilot
;
240 inline const Ce_Storage
&
241 CeAdmin::Storage() const