1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef ADC_DISPLAY_HI_ARY_HXX 29 #define ADC_DISPLAY_HI_ARY_HXX 30 31 32 // USED SERVICES 33 // BASE CLASSES 34 // COMPONENTS 35 #include <ary/idl/i_types4idl.hxx> 36 // PARAMETERS 37 #include <ary/idl/i_gate.hxx> 38 #include <ary/doc/d_docu.hxx> 39 #include <ary/doc/d_oldidldocu.hxx> 40 41 42 namespace ary 43 { 44 namespace idl 45 { 46 class Module; 47 class Gate; 48 class CePilot; 49 class TypePilot; 50 } 51 } 52 namespace output 53 { 54 class Position; 55 } 56 57 58 59 60 inline const ary::doc::OldIdlDocu * 61 Get_IdlDocu(const ary::doc::Documentation & i_doc) 62 { 63 return dynamic_cast< const ary::doc::OldIdlDocu* >(i_doc.Data()); 64 } 65 66 67 68 69 70 /** A helper class to wrap the access to data in the Autodoc Repository. 71 */ 72 class AryAccess 73 { 74 public: 75 // LIFECYCLE 76 AryAccess( 77 const ary::idl::Gate & 78 i_rGate ); 79 // INQUIRY 80 const ary::idl::Module & 81 GlobalNamespace() const; 82 const ary::idl::Module & 83 Find_Module( 84 ary::idl::Ce_id i_ce ) const; 85 const ary::idl::CodeEntity & 86 Find_Ce( 87 ary::idl::Ce_id i_ce ) const; 88 const ary::idl::Type & 89 Find_Type( 90 ary::idl::Type_id i_type ) const; 91 ary::idl::Ce_id CeFromType( 92 ary::idl::Type_id i_type ) const; 93 bool IsBuiltInOrRelated( 94 const ary::idl::Type & 95 i_type ) const; 96 bool Search_Ce( 97 StringVector & o_module, 98 String & o_mainEntity, 99 String & o_memberEntity, 100 const char * i_sText, 101 const ary::idl::Module & 102 i_referingScope ) const; 103 bool Search_CesModule( 104 StringVector & o_module, 105 const String & i_scope, 106 const String & i_ce, 107 const ary::idl::Module & 108 i_referingScope ) const; 109 const ary::idl::Module * 110 Search_Module( 111 const StringVector & 112 i_nameChain ) const; 113 114 void Get_CeText( 115 StringVector & o_module, 116 String & o_ce, 117 String & o_member, 118 const ary::idl::CodeEntity & 119 i_ce ) const; 120 void Get_TypeText( 121 StringVector & o_module, 122 String & o_sCe, 123 ary::idl::Ce_id & o_nCe, 124 int & o_sequenceCount, 125 const ary::idl::Type & 126 i_type ) const; 127 void Get_IndexData( 128 std::vector<ary::idl::Ce_id> & 129 o_data, 130 ary::idl::alphabetical_index::E_Letter 131 i_letter ) const; 132 133 const ary::idl::CePilot & 134 Ces() const; 135 private: 136 const ary::idl::Module * 137 find_SubModule( 138 const ary::idl::Module & 139 i_parent, 140 const String & i_name ) const; 141 142 /// Gets "::"-separated names out of a string. 143 bool nextName( 144 const char * & io_TextPtr, 145 String & o_name ) const; 146 147 148 const ary::idl::Gate & 149 gate() const; 150 const ary::idl::CePilot & 151 ces() const; 152 const ary::idl::TypePilot & 153 types() const; 154 // DATA 155 const ary::idl::Gate & 156 rGate; 157 }; 158 159 160 #endif 161 162 163