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_HFIDMAIN_HXX 29 #define ADC_DISPLAY_HFIDMAIN_HXX 30 31 32 33 // USED SERVICES 34 // BASE CLASSES 35 #include <cosv/tpl/processor.hxx> 36 // COMPONENTS 37 #include "hi_factory.hxx" 38 // PARAMETERS 39 40 41 class HtmlEnvironment_Idl; 42 class HtmlFactory_Idl; 43 class DocuFile_Html; 44 45 namespace ary 46 { 47 namespace idl 48 { 49 50 class Module; 51 class Service; 52 class SglIfcService; 53 class Interface; 54 class Struct; 55 class Exception; 56 class Enum; 57 class Typedef; 58 class ConstantsGroup; 59 class Singleton; 60 class SglIfcSingleton; 61 62 } // namespace idl 63 } // namespace ary 64 65 66 class MainDisplay_Idl : public csv::ProcessorIfc, 67 public csv::ConstProcessor<ary::idl::Module>, 68 public csv::ConstProcessor<ary::idl::Service>, 69 public csv::ConstProcessor<ary::idl::SglIfcService>, 70 public csv::ConstProcessor<ary::idl::Interface>, 71 public csv::ConstProcessor<ary::idl::Struct>, 72 public csv::ConstProcessor<ary::idl::Exception>, 73 public csv::ConstProcessor<ary::idl::Enum>, 74 public csv::ConstProcessor<ary::idl::Typedef>, 75 public csv::ConstProcessor<ary::idl::ConstantsGroup>, 76 public csv::ConstProcessor<ary::idl::Singleton>, 77 public csv::ConstProcessor<ary::idl::SglIfcSingleton> 78 { 79 public: 80 MainDisplay_Idl( 81 HtmlEnvironment_Idl & 82 io_rEnv ); 83 virtual ~MainDisplay_Idl(); 84 85 void WriteGlobalIndices(); 86 87 void Display_NamedEntityHierarchy(); 88 89 private: 90 // Interface csv::ProcessorIfc: 91 virtual void do_Process( 92 const ary::idl::Module & i_client ); 93 virtual void do_Process( 94 const ary::idl::Service & i_client ); 95 virtual void do_Process( 96 const ary::idl::SglIfcService & 97 i_client ); 98 virtual void do_Process( 99 const ary::idl::Interface & i_client ); 100 virtual void do_Process( 101 const ary::idl::Struct & i_client ); 102 virtual void do_Process( 103 const ary::idl::Exception & i_client ); 104 virtual void do_Process( 105 const ary::idl::Enum & i_client ); 106 virtual void do_Process( 107 const ary::idl::Typedef & i_client ); 108 virtual void do_Process( 109 const ary::idl::ConstantsGroup & 110 i_client ); 111 virtual void do_Process( 112 const ary::idl::Singleton & i_client ); 113 virtual void do_Process( 114 const ary::idl::SglIfcSingleton & 115 i_client ); 116 // Locals 117 void do_ServiceDescr( 118 const ary::idl::CodeEntity & 119 i_rData ); 120 void do_SglIfcServiceDescr( 121 const ary::idl::CodeEntity & 122 i_rData ); 123 void do_InterfaceDescr( 124 const ary::idl::CodeEntity & 125 i_rData ); 126 void do_StructDescr( 127 const ary::idl::CodeEntity & 128 i_rData ); 129 void do_ExceptionDescr( 130 const ary::idl::CodeEntity & 131 i_rData ); 132 void do_EnumDescr( 133 const ary::idl::CodeEntity & 134 i_rData ); 135 void do_TypedefDescr( 136 const ary::idl::CodeEntity & 137 i_rData ); 138 void do_SingletonDescr( 139 const ary::idl::CodeEntity & 140 i_rData ); 141 void do_Service2s( 142 const ary::idl::CodeEntity & 143 i_rData ); 144 void do_Interface2s( 145 const ary::idl::CodeEntity & 146 i_rData ); 147 void do_Struct2s( 148 const ary::idl::CodeEntity & 149 i_rData ); 150 void do_Exception2s( 151 const ary::idl::CodeEntity & 152 i_rData ); 153 void do_Enum2s( 154 const ary::idl::CodeEntity & 155 i_rData ); 156 void do_Typedef2s( 157 const ary::idl::CodeEntity & 158 i_rData ); 159 void do_Singleton2s( 160 const ary::idl::CodeEntity & 161 i_rData ); 162 163 const HtmlEnvironment_Idl & 164 Env() const { return *pEnv; } 165 HtmlEnvironment_Idl & 166 Env() { return *pEnv; } 167 Xml::Element & CurHtmlOut() { return pCurFactory->CurOut(); } 168 169 // DATA 170 HtmlEnvironment_Idl * 171 pEnv; 172 Dyn<DocuFile_Html> pMyFile; 173 HtmlFactory_Idl * pCurFactory; 174 }; 175 176 177 178 #endif 179