merge the formfield patch from ooo-build
[ooovba.git] / autodoc / inc / ary / idl / ip_ce.hxx
blob3b0c06e27f8ed009d3850059b5e2992f019db954
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ip_ce.hxx,v $
10 * $Revision: 1.7 $
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_IP_CE_HXX
32 #define ARY_IDL_IP_CE_HXX
34 // USED SERVICES
35 #include <ary/idl/i_types4idl.hxx>
36 #include <ary/idl/i_property.hxx>
41 namespace ary
43 namespace idl
45 class Module;
47 class ConstantsGroup;
48 class Enum;
49 class Exception;
50 class Interface;
51 class Service;
52 class SglIfcService;
53 class Singleton;
54 class SglIfcSingleton;
55 class Struct;
56 class Typedef;
58 class Attribute;
59 class Constant;
60 class EnumValue;
61 class Function;
62 class Property;
63 class StructElement;
64 class Variable;
66 class NameLookup;
69 /** Provides the access logic for all code entities.
71 class CePilot
73 public:
74 // LIFECYCLE
75 virtual ~CePilot() {}
77 // OPERATIONS
78 virtual Module & CheckIn_Module(
79 Ce_id i_nParentId,
80 const String & i_sName ) = 0;
81 virtual Service & Store_Service(
82 Ce_id i_nOwner,
83 const String & i_sName ) = 0;
84 virtual SglIfcService &
85 Store_SglIfcService(
86 Ce_id i_nOwner,
87 const String & i_sName,
88 Type_id i_nBaseInterface ) = 0;
89 virtual Interface & Store_Interface(
90 Ce_id i_nOwner,
91 const String & i_sName,
92 Type_id i_nBase ) = 0;
93 virtual Struct & Store_Struct(
94 Ce_id i_nOwner,
95 const String & i_sName,
96 Type_id i_nBase,
97 const String & i_sTemplateParam = String::Null_() ) = 0;
98 virtual Exception & Store_Exception(
99 Ce_id i_nOwner,
100 const String & i_sName,
101 Type_id i_nBase ) = 0;
102 virtual Enum & Store_Enum(
103 Ce_id i_nOwner,
104 const String & i_sName ) = 0;
105 virtual Typedef & Store_Typedef(
106 Ce_id i_nOwner,
107 const String & i_sName,
108 Type_id i_nDefiningType ) = 0;
109 virtual ConstantsGroup &
110 Store_ConstantsGroup(
111 Ce_id i_nOwner,
112 const String & i_sName ) = 0;
113 virtual Singleton & Store_Singleton(
114 Ce_id i_nOwner,
115 const String & i_sName ) = 0;
116 virtual SglIfcSingleton &
117 Store_SglIfcSingleton(
118 Ce_id i_nOwner,
119 const String & i_sName,
120 Type_id i_nBaseInterface ) = 0;
122 virtual Constant & Store_Constant(
123 Ce_id i_nOwner,
124 const String & i_sName,
125 Type_id i_nType,
126 const String & i_sValue ) = 0;
127 virtual Property & Store_Property(
128 Ce_id i_nOwner,
129 const String & i_sName,
130 Type_id i_nType,
131 Property::Stereotypes
132 i_stereotypes ) = 0;
133 virtual Function & Store_Function(
134 Ce_id i_nOwner,
135 const String & i_sName,
136 Type_id i_nReturnType,
137 bool i_bOneWay ) = 0;
138 virtual Function & Store_ServiceConstructor(
139 Ce_id i_nOwner,
140 const String & i_sName ) = 0;
141 virtual StructElement &
142 Store_StructMember(
143 Ce_id i_nOwner,
144 const String & i_sName,
145 Type_id i_nType ) = 0;
146 virtual StructElement &
147 Store_ExceptionMember(
148 Ce_id i_nOwner,
149 const String & i_sName,
150 Type_id i_nType ) = 0;
151 virtual EnumValue & Store_EnumValue(
152 Ce_id i_nOwner,
153 const String & i_sName,
154 const String & i_sValue ) = 0;
155 virtual Attribute & Store_Attribute(
156 Ce_id i_nOwner,
157 const String & i_sName,
158 Type_id i_nType,
159 bool i_bReadOnly,
160 bool i_bBound ) = 0;
161 // INQUIRY
162 virtual const Module &
163 GlobalNamespace() const = 0;
164 virtual const CodeEntity &
165 Find_Ce(
166 Ce_id i_nId ) const = 0;
168 virtual const Module &
169 Find_Module(
170 Ce_id i_nId ) const = 0;
171 virtual const Module *
172 Search_Module(
173 Ce_id i_nId ) const = 0;
174 virtual const Function &
175 Find_Function(
176 Ce_id i_nId ) const = 0;
177 virtual const Property &
178 Find_Property(
179 Ce_id i_nId ) const = 0;
180 virtual const EnumValue &
181 Find_EnumValue(
182 Ce_id i_nId ) const = 0;
183 virtual const Constant &
184 Find_Constant(
185 Ce_id i_nId ) const = 0;
186 virtual const StructElement &
187 Find_StructElement(
188 Ce_id i_nId ) const = 0;
189 virtual void Get_Text(
190 StringVector & o_module,
191 String & o_ce,
192 String & o_member,
193 const CodeEntity & i_ce ) const = 0;
194 virtual const NameLookup &
195 NameDictionary() const = 0;
196 virtual void Get_AlphabeticalIndex(
197 std::vector<Ce_id> &
198 o_rResult,
199 alphabetical_index::E_Letter
200 i_cLetter) const = 0;
201 // ACCESS
202 virtual Module & GlobalNamespace() = 0;
203 virtual CodeEntity &
204 Find_Ce(
205 Ce_id i_nId ) = 0;
211 } // namespace idl
212 } // namespace ary
213 #endif