Bump for 3.6-28
[LibreOffice.git] / autodoc / inc / ary / idl / ip_ce.hxx
bloba1d4990c4cb588585cd5405cab61267c062566de
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
32 // USED SERVICES
33 #include <ary/idl/i_types4idl.hxx>
34 #include <ary/idl/i_property.hxx>
39 namespace ary
41 namespace idl
43 class Module;
45 class ConstantsGroup;
46 class Enum;
47 class Exception;
48 class Interface;
49 class Service;
50 class SglIfcService;
51 class Singleton;
52 class SglIfcSingleton;
53 class Struct;
54 class Typedef;
56 class Attribute;
57 class Constant;
58 class EnumValue;
59 class Function;
60 class Property;
61 class StructElement;
62 class Variable;
64 class NameLookup;
67 /** Provides the access logic for all code entities.
69 class CePilot
71 public:
72 // LIFECYCLE
73 virtual ~CePilot() {}
75 // OPERATIONS
76 virtual Module & CheckIn_Module(
77 Ce_id i_nParentId,
78 const String & i_sName ) = 0;
79 virtual Service & Store_Service(
80 Ce_id i_nOwner,
81 const String & i_sName ) = 0;
82 virtual SglIfcService &
83 Store_SglIfcService(
84 Ce_id i_nOwner,
85 const String & i_sName,
86 Type_id i_nBaseInterface ) = 0;
87 virtual Interface & Store_Interface(
88 Ce_id i_nOwner,
89 const String & i_sName,
90 Type_id i_nBase ) = 0;
91 virtual Struct & Store_Struct(
92 Ce_id i_nOwner,
93 const String & i_sName,
94 Type_id i_nBase,
95 const String & i_sTemplateParam = String::Null_() ) = 0;
96 virtual Exception & Store_Exception(
97 Ce_id i_nOwner,
98 const String & i_sName,
99 Type_id i_nBase ) = 0;
100 virtual Enum & Store_Enum(
101 Ce_id i_nOwner,
102 const String & i_sName ) = 0;
103 virtual Typedef & Store_Typedef(
104 Ce_id i_nOwner,
105 const String & i_sName,
106 Type_id i_nDefiningType ) = 0;
107 virtual ConstantsGroup &
108 Store_ConstantsGroup(
109 Ce_id i_nOwner,
110 const String & i_sName ) = 0;
111 virtual Singleton & Store_Singleton(
112 Ce_id i_nOwner,
113 const String & i_sName ) = 0;
114 virtual SglIfcSingleton &
115 Store_SglIfcSingleton(
116 Ce_id i_nOwner,
117 const String & i_sName,
118 Type_id i_nBaseInterface ) = 0;
120 virtual Constant & Store_Constant(
121 Ce_id i_nOwner,
122 const String & i_sName,
123 Type_id i_nType,
124 const String & i_sValue ) = 0;
125 virtual Property & Store_Property(
126 Ce_id i_nOwner,
127 const String & i_sName,
128 Type_id i_nType,
129 Property::Stereotypes
130 i_stereotypes ) = 0;
131 virtual Function & Store_Function(
132 Ce_id i_nOwner,
133 const String & i_sName,
134 Type_id i_nReturnType,
135 bool i_bOneWay ) = 0;
136 virtual Function & Store_ServiceConstructor(
137 Ce_id i_nOwner,
138 const String & i_sName ) = 0;
139 virtual StructElement &
140 Store_StructMember(
141 Ce_id i_nOwner,
142 const String & i_sName,
143 Type_id i_nType ) = 0;
144 virtual StructElement &
145 Store_ExceptionMember(
146 Ce_id i_nOwner,
147 const String & i_sName,
148 Type_id i_nType ) = 0;
149 virtual EnumValue & Store_EnumValue(
150 Ce_id i_nOwner,
151 const String & i_sName,
152 const String & i_sValue ) = 0;
153 virtual Attribute & Store_Attribute(
154 Ce_id i_nOwner,
155 const String & i_sName,
156 Type_id i_nType,
157 bool i_bReadOnly,
158 bool i_bBound ) = 0;
159 // INQUIRY
160 virtual const Module &
161 GlobalNamespace() const = 0;
162 virtual const CodeEntity &
163 Find_Ce(
164 Ce_id i_nId ) const = 0;
166 virtual const Module &
167 Find_Module(
168 Ce_id i_nId ) const = 0;
169 virtual const Module *
170 Search_Module(
171 Ce_id i_nId ) const = 0;
172 virtual const Function &
173 Find_Function(
174 Ce_id i_nId ) const = 0;
175 virtual const Property &
176 Find_Property(
177 Ce_id i_nId ) const = 0;
178 virtual const EnumValue &
179 Find_EnumValue(
180 Ce_id i_nId ) const = 0;
181 virtual const Constant &
182 Find_Constant(
183 Ce_id i_nId ) const = 0;
184 virtual const StructElement &
185 Find_StructElement(
186 Ce_id i_nId ) const = 0;
187 virtual void Get_Text(
188 StringVector & o_module,
189 String & o_ce,
190 String & o_member,
191 const CodeEntity & i_ce ) const = 0;
192 virtual const NameLookup &
193 NameDictionary() const = 0;
194 virtual void Get_AlphabeticalIndex(
195 std::vector<Ce_id> &
196 o_rResult,
197 alphabetical_index::E_Letter
198 i_cLetter) const = 0;
199 // ACCESS
200 virtual Module & GlobalNamespace() = 0;
201 virtual CodeEntity &
202 Find_Ce(
203 Ce_id i_nId ) = 0;
209 } // namespace idl
210 } // namespace ary
211 #endif
213 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */