1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef ADC_DISPLAY_HFIDMAIN_HXX 25 #define ADC_DISPLAY_HFIDMAIN_HXX 26 27 28 29 // USED SERVICES 30 // BASE CLASSES 31 #include <cosv/tpl/processor.hxx> 32 // COMPONENTS 33 #include "hi_factory.hxx" 34 // PARAMETERS 35 36 37 class HtmlEnvironment_Idl; 38 class HtmlFactory_Idl; 39 class DocuFile_Html; 40 41 namespace ary 42 { 43 namespace idl 44 { 45 46 class Module; 47 class Service; 48 class SglIfcService; 49 class Interface; 50 class Struct; 51 class Exception; 52 class Enum; 53 class Typedef; 54 class ConstantsGroup; 55 class Singleton; 56 class SglIfcSingleton; 57 58 } // namespace idl 59 } // namespace ary 60 61 62 class MainDisplay_Idl : public csv::ProcessorIfc, 63 public csv::ConstProcessor<ary::idl::Module>, 64 public csv::ConstProcessor<ary::idl::Service>, 65 public csv::ConstProcessor<ary::idl::SglIfcService>, 66 public csv::ConstProcessor<ary::idl::Interface>, 67 public csv::ConstProcessor<ary::idl::Struct>, 68 public csv::ConstProcessor<ary::idl::Exception>, 69 public csv::ConstProcessor<ary::idl::Enum>, 70 public csv::ConstProcessor<ary::idl::Typedef>, 71 public csv::ConstProcessor<ary::idl::ConstantsGroup>, 72 public csv::ConstProcessor<ary::idl::Singleton>, 73 public csv::ConstProcessor<ary::idl::SglIfcSingleton> 74 { 75 public: 76 MainDisplay_Idl( 77 HtmlEnvironment_Idl & 78 io_rEnv ); 79 virtual ~MainDisplay_Idl(); 80 81 void WriteGlobalIndices(); 82 83 void Display_NamedEntityHierarchy(); 84 85 private: 86 // Interface csv::ProcessorIfc: 87 virtual void do_Process( 88 const ary::idl::Module & i_client ); 89 virtual void do_Process( 90 const ary::idl::Service & i_client ); 91 virtual void do_Process( 92 const ary::idl::SglIfcService & 93 i_client ); 94 virtual void do_Process( 95 const ary::idl::Interface & i_client ); 96 virtual void do_Process( 97 const ary::idl::Struct & i_client ); 98 virtual void do_Process( 99 const ary::idl::Exception & i_client ); 100 virtual void do_Process( 101 const ary::idl::Enum & i_client ); 102 virtual void do_Process( 103 const ary::idl::Typedef & i_client ); 104 virtual void do_Process( 105 const ary::idl::ConstantsGroup & 106 i_client ); 107 virtual void do_Process( 108 const ary::idl::Singleton & i_client ); 109 virtual void do_Process( 110 const ary::idl::SglIfcSingleton & 111 i_client ); 112 // Locals 113 void do_ServiceDescr( 114 const ary::idl::CodeEntity & 115 i_rData ); 116 void do_SglIfcServiceDescr( 117 const ary::idl::CodeEntity & 118 i_rData ); 119 void do_InterfaceDescr( 120 const ary::idl::CodeEntity & 121 i_rData ); 122 void do_StructDescr( 123 const ary::idl::CodeEntity & 124 i_rData ); 125 void do_ExceptionDescr( 126 const ary::idl::CodeEntity & 127 i_rData ); 128 void do_EnumDescr( 129 const ary::idl::CodeEntity & 130 i_rData ); 131 void do_TypedefDescr( 132 const ary::idl::CodeEntity & 133 i_rData ); 134 void do_SingletonDescr( 135 const ary::idl::CodeEntity & 136 i_rData ); 137 void do_Service2s( 138 const ary::idl::CodeEntity & 139 i_rData ); 140 void do_Interface2s( 141 const ary::idl::CodeEntity & 142 i_rData ); 143 void do_Struct2s( 144 const ary::idl::CodeEntity & 145 i_rData ); 146 void do_Exception2s( 147 const ary::idl::CodeEntity & 148 i_rData ); 149 void do_Enum2s( 150 const ary::idl::CodeEntity & 151 i_rData ); 152 void do_Typedef2s( 153 const ary::idl::CodeEntity & 154 i_rData ); 155 void do_Singleton2s( 156 const ary::idl::CodeEntity & 157 i_rData ); 158 159 const HtmlEnvironment_Idl & Env() const160 Env() const { return *pEnv; } 161 HtmlEnvironment_Idl & Env()162 Env() { return *pEnv; } CurHtmlOut()163 Xml::Element & CurHtmlOut() { return pCurFactory->CurOut(); } 164 165 // DATA 166 HtmlEnvironment_Idl * 167 pEnv; 168 Dyn<DocuFile_Html> pMyFile; 169 HtmlFactory_Idl * pCurFactory; 170 }; 171 172 173 174 #endif 175