update dev300-m58
[ooovba.git] / autodoc / source / display / idl / hi_ary.hxx
bloba8fa9452289d8afe23594ea43788e389ca169f95
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: hi_ary.hxx,v $
10 * $Revision: 1.5 $
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 ADC_DISPLAY_HI_ARY_HXX
32 #define ADC_DISPLAY_HI_ARY_HXX
35 // USED SERVICES
36 // BASE CLASSES
37 // COMPONENTS
38 #include <ary/idl/i_types4idl.hxx>
39 // PARAMETERS
40 #include <ary/idl/i_gate.hxx>
41 #include <ary/doc/d_docu.hxx>
42 #include <ary/doc/d_oldidldocu.hxx>
45 namespace ary
47 namespace idl
49 class Module;
50 class Gate;
51 class CePilot;
52 class TypePilot;
55 namespace output
57 class Position;
63 inline const ary::doc::OldIdlDocu *
64 Get_IdlDocu(const ary::doc::Documentation & i_doc)
66 return dynamic_cast< const ary::doc::OldIdlDocu* >(i_doc.Data());
73 /** A helper class to wrap the access to data in the Autodoc Repository.
75 class AryAccess
77 public:
78 // LIFECYCLE
79 AryAccess(
80 const ary::idl::Gate &
81 i_rGate );
82 // INQUIRY
83 const ary::idl::Module &
84 GlobalNamespace() const;
85 const ary::idl::Module &
86 Find_Module(
87 ary::idl::Ce_id i_ce ) const;
88 const ary::idl::CodeEntity &
89 Find_Ce(
90 ary::idl::Ce_id i_ce ) const;
91 const ary::idl::Type &
92 Find_Type(
93 ary::idl::Type_id i_type ) const;
94 ary::idl::Ce_id CeFromType(
95 ary::idl::Type_id i_type ) const;
96 bool IsBuiltInOrRelated(
97 const ary::idl::Type &
98 i_type ) const;
99 bool Search_Ce(
100 StringVector & o_module,
101 String & o_mainEntity,
102 String & o_memberEntity,
103 const char * i_sText,
104 const ary::idl::Module &
105 i_referingScope ) const;
106 bool Search_CesModule(
107 StringVector & o_module,
108 const String & i_scope,
109 const String & i_ce,
110 const ary::idl::Module &
111 i_referingScope ) const;
112 const ary::idl::Module *
113 Search_Module(
114 const StringVector &
115 i_nameChain ) const;
117 void Get_CeText(
118 StringVector & o_module,
119 String & o_ce,
120 String & o_member,
121 const ary::idl::CodeEntity &
122 i_ce ) const;
123 void Get_TypeText(
124 StringVector & o_module,
125 String & o_sCe,
126 ary::idl::Ce_id & o_nCe,
127 int & o_sequenceCount,
128 const ary::idl::Type &
129 i_type ) const;
130 void Get_IndexData(
131 std::vector<ary::idl::Ce_id> &
132 o_data,
133 ary::idl::alphabetical_index::E_Letter
134 i_letter ) const;
136 const ary::idl::CePilot &
137 Ces() const;
138 private:
139 const ary::idl::Module *
140 find_SubModule(
141 const ary::idl::Module &
142 i_parent,
143 const String & i_name ) const;
145 /// Gets "::"-separated names out of a string.
146 bool nextName(
147 const char * & io_TextPtr,
148 String & o_name ) const;
151 const ary::idl::Gate &
152 gate() const;
153 const ary::idl::CePilot &
154 ces() const;
155 const ary::idl::TypePilot &
156 types() const;
157 // DATA
158 const ary::idl::Gate &
159 rGate;
163 #endif