1*1c78a5d6SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*1c78a5d6SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*1c78a5d6SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*1c78a5d6SAndrew Rist * distributed with this work for additional information 6*1c78a5d6SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*1c78a5d6SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*1c78a5d6SAndrew Rist * "License"); you may not use this file except in compliance 9*1c78a5d6SAndrew Rist * with the License. You may obtain a copy of the License at 10cdf0e10cSrcweir * 11*1c78a5d6SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12cdf0e10cSrcweir * 13*1c78a5d6SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*1c78a5d6SAndrew Rist * software distributed under the License is distributed on an 15*1c78a5d6SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*1c78a5d6SAndrew Rist * KIND, either express or implied. See the License for the 17*1c78a5d6SAndrew Rist * specific language governing permissions and limitations 18*1c78a5d6SAndrew Rist * under the License. 19cdf0e10cSrcweir * 20*1c78a5d6SAndrew Rist *************************************************************/ 21*1c78a5d6SAndrew Rist 22*1c78a5d6SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef ADC_DISPLAY_HI_ARY_HXX 25cdf0e10cSrcweir #define ADC_DISPLAY_HI_ARY_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir // USED SERVICES 29cdf0e10cSrcweir // BASE CLASSES 30cdf0e10cSrcweir // COMPONENTS 31cdf0e10cSrcweir #include <ary/idl/i_types4idl.hxx> 32cdf0e10cSrcweir // PARAMETERS 33cdf0e10cSrcweir #include <ary/idl/i_gate.hxx> 34cdf0e10cSrcweir #include <ary/doc/d_docu.hxx> 35cdf0e10cSrcweir #include <ary/doc/d_oldidldocu.hxx> 36cdf0e10cSrcweir 37cdf0e10cSrcweir 38cdf0e10cSrcweir namespace ary 39cdf0e10cSrcweir { 40cdf0e10cSrcweir namespace idl 41cdf0e10cSrcweir { 42cdf0e10cSrcweir class Module; 43cdf0e10cSrcweir class Gate; 44cdf0e10cSrcweir class CePilot; 45cdf0e10cSrcweir class TypePilot; 46cdf0e10cSrcweir } 47cdf0e10cSrcweir } 48cdf0e10cSrcweir namespace output 49cdf0e10cSrcweir { 50cdf0e10cSrcweir class Position; 51cdf0e10cSrcweir } 52cdf0e10cSrcweir 53cdf0e10cSrcweir 54cdf0e10cSrcweir 55cdf0e10cSrcweir 56cdf0e10cSrcweir inline const ary::doc::OldIdlDocu * 57cdf0e10cSrcweir Get_IdlDocu(const ary::doc::Documentation & i_doc) 58cdf0e10cSrcweir { 59cdf0e10cSrcweir return dynamic_cast< const ary::doc::OldIdlDocu* >(i_doc.Data()); 60cdf0e10cSrcweir } 61cdf0e10cSrcweir 62cdf0e10cSrcweir 63cdf0e10cSrcweir 64cdf0e10cSrcweir 65cdf0e10cSrcweir 66cdf0e10cSrcweir /** A helper class to wrap the access to data in the Autodoc Repository. 67cdf0e10cSrcweir */ 68cdf0e10cSrcweir class AryAccess 69cdf0e10cSrcweir { 70cdf0e10cSrcweir public: 71cdf0e10cSrcweir // LIFECYCLE 72cdf0e10cSrcweir AryAccess( 73cdf0e10cSrcweir const ary::idl::Gate & 74cdf0e10cSrcweir i_rGate ); 75cdf0e10cSrcweir // INQUIRY 76cdf0e10cSrcweir const ary::idl::Module & 77cdf0e10cSrcweir GlobalNamespace() const; 78cdf0e10cSrcweir const ary::idl::Module & 79cdf0e10cSrcweir Find_Module( 80cdf0e10cSrcweir ary::idl::Ce_id i_ce ) const; 81cdf0e10cSrcweir const ary::idl::CodeEntity & 82cdf0e10cSrcweir Find_Ce( 83cdf0e10cSrcweir ary::idl::Ce_id i_ce ) const; 84cdf0e10cSrcweir const ary::idl::Type & 85cdf0e10cSrcweir Find_Type( 86cdf0e10cSrcweir ary::idl::Type_id i_type ) const; 87cdf0e10cSrcweir ary::idl::Ce_id CeFromType( 88cdf0e10cSrcweir ary::idl::Type_id i_type ) const; 89cdf0e10cSrcweir bool IsBuiltInOrRelated( 90cdf0e10cSrcweir const ary::idl::Type & 91cdf0e10cSrcweir i_type ) const; 92cdf0e10cSrcweir bool Search_Ce( 93cdf0e10cSrcweir StringVector & o_module, 94cdf0e10cSrcweir String & o_mainEntity, 95cdf0e10cSrcweir String & o_memberEntity, 96cdf0e10cSrcweir const char * i_sText, 97cdf0e10cSrcweir const ary::idl::Module & 98cdf0e10cSrcweir i_referingScope ) const; 99cdf0e10cSrcweir bool Search_CesModule( 100cdf0e10cSrcweir StringVector & o_module, 101cdf0e10cSrcweir const String & i_scope, 102cdf0e10cSrcweir const String & i_ce, 103cdf0e10cSrcweir const ary::idl::Module & 104cdf0e10cSrcweir i_referingScope ) const; 105cdf0e10cSrcweir const ary::idl::Module * 106cdf0e10cSrcweir Search_Module( 107cdf0e10cSrcweir const StringVector & 108cdf0e10cSrcweir i_nameChain ) const; 109cdf0e10cSrcweir 110cdf0e10cSrcweir void Get_CeText( 111cdf0e10cSrcweir StringVector & o_module, 112cdf0e10cSrcweir String & o_ce, 113cdf0e10cSrcweir String & o_member, 114cdf0e10cSrcweir const ary::idl::CodeEntity & 115cdf0e10cSrcweir i_ce ) const; 116cdf0e10cSrcweir void Get_TypeText( 117cdf0e10cSrcweir StringVector & o_module, 118cdf0e10cSrcweir String & o_sCe, 119cdf0e10cSrcweir ary::idl::Ce_id & o_nCe, 120cdf0e10cSrcweir int & o_sequenceCount, 121cdf0e10cSrcweir const ary::idl::Type & 122cdf0e10cSrcweir i_type ) const; 123cdf0e10cSrcweir void Get_IndexData( 124cdf0e10cSrcweir std::vector<ary::idl::Ce_id> & 125cdf0e10cSrcweir o_data, 126cdf0e10cSrcweir ary::idl::alphabetical_index::E_Letter 127cdf0e10cSrcweir i_letter ) const; 128cdf0e10cSrcweir 129cdf0e10cSrcweir const ary::idl::CePilot & 130cdf0e10cSrcweir Ces() const; 131cdf0e10cSrcweir private: 132cdf0e10cSrcweir const ary::idl::Module * 133cdf0e10cSrcweir find_SubModule( 134cdf0e10cSrcweir const ary::idl::Module & 135cdf0e10cSrcweir i_parent, 136cdf0e10cSrcweir const String & i_name ) const; 137cdf0e10cSrcweir 138cdf0e10cSrcweir /// Gets "::"-separated names out of a string. 139cdf0e10cSrcweir bool nextName( 140cdf0e10cSrcweir const char * & io_TextPtr, 141cdf0e10cSrcweir String & o_name ) const; 142cdf0e10cSrcweir 143cdf0e10cSrcweir 144cdf0e10cSrcweir const ary::idl::Gate & 145cdf0e10cSrcweir gate() const; 146cdf0e10cSrcweir const ary::idl::CePilot & 147cdf0e10cSrcweir ces() const; 148cdf0e10cSrcweir const ary::idl::TypePilot & 149cdf0e10cSrcweir types() const; 150cdf0e10cSrcweir // DATA 151cdf0e10cSrcweir const ary::idl::Gate & 152cdf0e10cSrcweir rGate; 153cdf0e10cSrcweir }; 154cdf0e10cSrcweir 155cdf0e10cSrcweir 156cdf0e10cSrcweir #endif 157cdf0e10cSrcweir 158cdf0e10cSrcweir 159