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