1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #ifndef ARY_IDL_IP_CE_HXX
30 #define ARY_IDL_IP_CE_HXX
33 #include <ary/idl/i_types4idl.hxx>
34 #include <ary/idl/i_property.hxx>
52 class SglIfcSingleton
;
67 /** Provides the access logic for all code entities.
76 virtual Module
& CheckIn_Module(
78 const String
& i_sName
) = 0;
79 virtual Service
& Store_Service(
81 const String
& i_sName
) = 0;
82 virtual SglIfcService
&
85 const String
& i_sName
,
86 Type_id i_nBaseInterface
) = 0;
87 virtual Interface
& Store_Interface(
89 const String
& i_sName
,
90 Type_id i_nBase
) = 0;
91 virtual Struct
& Store_Struct(
93 const String
& i_sName
,
95 const String
& i_sTemplateParam
= String::Null_() ) = 0;
96 virtual Exception
& Store_Exception(
98 const String
& i_sName
,
99 Type_id i_nBase
) = 0;
100 virtual Enum
& Store_Enum(
102 const String
& i_sName
) = 0;
103 virtual Typedef
& Store_Typedef(
105 const String
& i_sName
,
106 Type_id i_nDefiningType
) = 0;
107 virtual ConstantsGroup
&
108 Store_ConstantsGroup(
110 const String
& i_sName
) = 0;
111 virtual Singleton
& Store_Singleton(
113 const String
& i_sName
) = 0;
114 virtual SglIfcSingleton
&
115 Store_SglIfcSingleton(
117 const String
& i_sName
,
118 Type_id i_nBaseInterface
) = 0;
120 virtual Constant
& Store_Constant(
122 const String
& i_sName
,
124 const String
& i_sValue
) = 0;
125 virtual Property
& Store_Property(
127 const String
& i_sName
,
129 Property::Stereotypes
131 virtual Function
& Store_Function(
133 const String
& i_sName
,
134 Type_id i_nReturnType
,
135 bool i_bOneWay
) = 0;
136 virtual Function
& Store_ServiceConstructor(
138 const String
& i_sName
) = 0;
139 virtual StructElement
&
142 const String
& i_sName
,
143 Type_id i_nType
) = 0;
144 virtual StructElement
&
145 Store_ExceptionMember(
147 const String
& i_sName
,
148 Type_id i_nType
) = 0;
149 virtual EnumValue
& Store_EnumValue(
151 const String
& i_sName
,
152 const String
& i_sValue
) = 0;
153 virtual Attribute
& Store_Attribute(
155 const String
& i_sName
,
160 virtual const Module
&
161 GlobalNamespace() const = 0;
162 virtual const CodeEntity
&
164 Ce_id i_nId
) const = 0;
166 virtual const Module
&
168 Ce_id i_nId
) const = 0;
169 virtual const Module
*
171 Ce_id i_nId
) const = 0;
172 virtual const Function
&
174 Ce_id i_nId
) const = 0;
175 virtual const Property
&
177 Ce_id i_nId
) const = 0;
178 virtual const EnumValue
&
180 Ce_id i_nId
) const = 0;
181 virtual const Constant
&
183 Ce_id i_nId
) const = 0;
184 virtual const StructElement
&
186 Ce_id i_nId
) const = 0;
187 virtual void Get_Text(
188 StringVector
& o_module
,
191 const CodeEntity
& i_ce
) const = 0;
192 virtual const NameLookup
&
193 NameDictionary() const = 0;
194 virtual void Get_AlphabeticalIndex(
197 alphabetical_index::E_Letter
198 i_cLetter
) const = 0;
200 virtual Module
& GlobalNamespace() = 0;
213 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */