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 ARY_CPP_C_GATE_HXX 29 #define ARY_CPP_C_GATE_HXX 30 31 32 // USED SERVICES 33 // BASE CLASSES 34 // OTHER 35 #include <ary/cpp/c_types4cpp.hxx> 36 37 38 39 namespace autodoc 40 { 41 class Options; 42 } 43 namespace ary 44 { 45 class Entity; 46 47 namespace cpp 48 { 49 class CodeEntity; 50 class CppEntity; 51 class CePilot; 52 class DefPilot; 53 class TypePilot; 54 } 55 namespace loc 56 { 57 class LocationPilot; 58 } 59 } 60 61 62 63 64 65 namespace ary 66 { 67 namespace cpp 68 { 69 70 71 72 /** Acess to all stored objcts in the repository, which are 73 relevant to C++. 74 */ 75 class Gate 76 { 77 public: 78 // LIFECYCLE 79 virtual ~Gate() {} 80 81 82 // OPERATIONS 83 virtual void Calculate_AllSecondaryInformation() = 0; 84 // const ::autodoc::Options & 85 // i_options ) = 0; 86 87 // INQUIRY 88 virtual const String & 89 RepositoryTitle() const = 0; 90 virtual const CodeEntity * 91 Search_RelatedCe( 92 Type_id i_type ) const = 0; 93 virtual const ::ary::cpp::CppEntity * 94 Search_Entity( 95 GlobalId i_id ) const = 0; 96 virtual uintt Get_AlphabeticalList( 97 List_GlobalIds & o_result, 98 const char * i_begin, 99 const char * i_end ) const = 0; 100 virtual const CePilot & 101 Ces() const = 0; 102 virtual const DefPilot & 103 Defs() const = 0; 104 virtual const TypePilot & 105 Types() const = 0; 106 virtual const loc::LocationPilot & 107 Locations() const = 0; 108 109 // ACCESS 110 virtual CePilot & Ces() = 0; 111 virtual DefPilot & Defs() = 0; 112 virtual TypePilot & Types() = 0; 113 virtual loc::LocationPilot & 114 Locations() = 0; 115 }; 116 117 118 119 } // namespace cpp 120 } // namespace ary 121 #endif 122