Bump for 3.6-28
[LibreOffice.git] / autodoc / source / display / idl / hi_ary.hxx
blob21dc60454fd590ba5a1d42dc515938f9d00236d3
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 ADC_DISPLAY_HI_ARY_HXX
30 #define ADC_DISPLAY_HI_ARY_HXX
33 // USED SERVICES
34 // BASE CLASSES
35 // COMPONENTS
36 #include <ary/idl/i_types4idl.hxx>
37 // PARAMETERS
38 #include <ary/idl/i_gate.hxx>
39 #include <ary/doc/d_docu.hxx>
40 #include <ary/doc/d_oldidldocu.hxx>
43 namespace ary
45 namespace idl
47 class Module;
48 class Gate;
49 class CePilot;
50 class TypePilot;
53 namespace output
55 class Position;
61 inline const ary::doc::OldIdlDocu *
62 Get_IdlDocu(const ary::doc::Documentation & i_doc)
64 return dynamic_cast< const ary::doc::OldIdlDocu* >(i_doc.Data());
71 /** A helper class to wrap the access to data in the Autodoc Repository.
73 class AryAccess
75 public:
76 // LIFECYCLE
77 AryAccess(
78 const ary::idl::Gate &
79 i_rGate );
80 // INQUIRY
81 const ary::idl::Module &
82 GlobalNamespace() const;
83 const ary::idl::Module &
84 Find_Module(
85 ary::idl::Ce_id i_ce ) const;
86 const ary::idl::CodeEntity &
87 Find_Ce(
88 ary::idl::Ce_id i_ce ) const;
89 const ary::idl::Type &
90 Find_Type(
91 ary::idl::Type_id i_type ) const;
92 ary::idl::Ce_id CeFromType(
93 ary::idl::Type_id i_type ) const;
94 bool IsBuiltInOrRelated(
95 const ary::idl::Type &
96 i_type ) const;
97 bool Search_Ce(
98 StringVector & o_module,
99 String & o_mainEntity,
100 String & o_memberEntity,
101 const char * i_sText,
102 const ary::idl::Module &
103 i_referingScope ) const;
104 bool Search_CesModule(
105 StringVector & o_module,
106 const String & i_scope,
107 const String & i_ce,
108 const ary::idl::Module &
109 i_referingScope ) const;
110 const ary::idl::Module *
111 Search_Module(
112 const StringVector &
113 i_nameChain ) const;
115 void Get_CeText(
116 StringVector & o_module,
117 String & o_ce,
118 String & o_member,
119 const ary::idl::CodeEntity &
120 i_ce ) const;
121 void Get_TypeText(
122 StringVector & o_module,
123 String & o_sCe,
124 ary::idl::Ce_id & o_nCe,
125 int & o_sequenceCount,
126 const ary::idl::Type &
127 i_type ) const;
128 void Get_IndexData(
129 std::vector<ary::idl::Ce_id> &
130 o_data,
131 ary::idl::alphabetical_index::E_Letter
132 i_letter ) const;
134 const ary::idl::CePilot &
135 Ces() const;
136 private:
137 const ary::idl::Module *
138 find_SubModule(
139 const ary::idl::Module &
140 i_parent,
141 const String & i_name ) const;
143 /// Gets "::"-separated names out of a string.
144 bool nextName(
145 const char * & io_TextPtr,
146 String & o_name ) const;
149 const ary::idl::Gate &
150 gate() const;
151 const ary::idl::CePilot &
152 ces() const;
153 const ary::idl::TypePilot &
154 types() const;
155 // DATA
156 const ary::idl::Gate &
157 rGate;
161 #endif
164 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */