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 .
20 #ifndef ARY_IDL_IP_CE_HXX
21 #define ARY_IDL_IP_CE_HXX
24 #include <ary/idl/i_types4idl.hxx>
25 #include <ary/idl/i_property.hxx>
43 class SglIfcSingleton
;
57 /** Provides the access logic for all code entities.
66 virtual Module
& CheckIn_Module(
68 const String
& i_sName
) = 0;
69 virtual Service
& Store_Service(
71 const String
& i_sName
) = 0;
72 virtual SglIfcService
&
75 const String
& i_sName
,
76 Type_id i_nBaseInterface
) = 0;
77 virtual Interface
& Store_Interface(
79 const String
& i_sName
,
80 Type_id i_nBase
) = 0;
81 virtual Struct
& Store_Struct(
83 const String
& i_sName
,
85 const String
& i_sTemplateParam
= String::Null_() ) = 0;
86 virtual Exception
& Store_Exception(
88 const String
& i_sName
,
89 Type_id i_nBase
) = 0;
90 virtual Enum
& Store_Enum(
92 const String
& i_sName
) = 0;
93 virtual Typedef
& Store_Typedef(
95 const String
& i_sName
,
96 Type_id i_nDefiningType
) = 0;
97 virtual ConstantsGroup
&
100 const String
& i_sName
) = 0;
101 virtual Singleton
& Store_Singleton(
103 const String
& i_sName
) = 0;
104 virtual SglIfcSingleton
&
105 Store_SglIfcSingleton(
107 const String
& i_sName
,
108 Type_id i_nBaseInterface
) = 0;
110 virtual Constant
& Store_Constant(
112 const String
& i_sName
,
114 const String
& i_sValue
) = 0;
115 virtual Property
& Store_Property(
117 const String
& i_sName
,
119 Property::Stereotypes
121 virtual Function
& Store_Function(
123 const String
& i_sName
,
124 Type_id i_nReturnType
,
125 bool i_bOneWay
) = 0;
126 virtual Function
& Store_ServiceConstructor(
128 const String
& i_sName
) = 0;
129 virtual StructElement
&
132 const String
& i_sName
,
133 Type_id i_nType
) = 0;
134 virtual StructElement
&
135 Store_ExceptionMember(
137 const String
& i_sName
,
138 Type_id i_nType
) = 0;
139 virtual EnumValue
& Store_EnumValue(
141 const String
& i_sName
,
142 const String
& i_sValue
) = 0;
143 virtual Attribute
& Store_Attribute(
145 const String
& i_sName
,
150 virtual const Module
&
151 GlobalNamespace() const = 0;
152 virtual const CodeEntity
&
154 Ce_id i_nId
) const = 0;
156 virtual const Module
&
158 Ce_id i_nId
) const = 0;
159 virtual const Module
*
161 Ce_id i_nId
) const = 0;
162 virtual const Function
&
164 Ce_id i_nId
) const = 0;
165 virtual const Property
&
167 Ce_id i_nId
) const = 0;
168 virtual const EnumValue
&
170 Ce_id i_nId
) const = 0;
171 virtual const Constant
&
173 Ce_id i_nId
) const = 0;
174 virtual const StructElement
&
176 Ce_id i_nId
) const = 0;
177 virtual void Get_Text(
178 StringVector
& o_module
,
181 const CodeEntity
& i_ce
) const = 0;
182 virtual const NameLookup
&
183 NameDictionary() const = 0;
184 virtual void Get_AlphabeticalIndex(
187 alphabetical_index::E_Letter
188 i_cLetter
) const = 0;
190 virtual Module
& GlobalNamespace() = 0;
203 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */