LCOV - code coverage report
Current view: top level - libreoffice/autodoc/source/display/idl - hi_main.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 346 346 100.0 %
Date: 2012-12-27 Functions: 37 37 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #include <precomp.h>
      21             : #include "hi_main.hxx"
      22             : 
      23             : 
      24             : // NOT FULLY DEFINED SERVICES
      25             : #include <algorithm>
      26             : #include <cosv/ploc.hxx>
      27             : #include <cosv/file.hxx>
      28             : #include <ary/idl/i_ce.hxx>
      29             : #include <ary/idl/ik_ce.hxx>
      30             : #include <ary/idl/ik_enum.hxx>
      31             : #include <ary/idl/ik_typedef.hxx>
      32             : #include <ary/idl/ik_interface.hxx>
      33             : #include <ary/idl/ik_struct.hxx>
      34             : #include <ary/idl/ik_exception.hxx>
      35             : #include <ary/idl/i_constant.hxx>
      36             : #include <ary/idl/i_constgroup.hxx>
      37             : #include <ary/idl/i_enum.hxx>
      38             : #include <ary/idl/i_singleton.hxx>
      39             : #include <ary/idl/i_sisingleton.hxx>
      40             : #include <ary/idl/i_exception.hxx>
      41             : #include <ary/idl/i_interface.hxx>
      42             : #include <ary/idl/i_service.hxx>
      43             : #include <ary/idl/i_siservice.hxx>
      44             : #include <ary/idl/i_struct.hxx>
      45             : #include <ary/idl/i_typedef.hxx>
      46             : #include <ary/idl/i_module.hxx>
      47             : #include <cfrstd.hxx>
      48             : #include <toolkit/htmlfile.hxx>
      49             : #include <toolkit/out_position.hxx>
      50             : #include <toolkit/out_tree.hxx>
      51             : #include "hfi_constgroup.hxx"
      52             : #include "hfi_enum.hxx"
      53             : #include "hfi_globalindex.hxx"
      54             : #include "hfi_interface.hxx"
      55             : #include "hfi_module.hxx"
      56             : #include "hfi_struct.hxx"
      57             : #include "hfi_service.hxx"
      58             : #include "hfi_singleton.hxx"
      59             : #include "hfi_siservice.hxx"
      60             : #include "hfi_typedef.hxx"
      61             : #include "hfi_xrefpage.hxx"
      62             : #include "hi_env.hxx"
      63             : #include "hi_linkhelper.hxx"
      64             : 
      65             : 
      66             : using       ::ary::idl::Ce_id;
      67             : using       ::ary::idl::Type_id;
      68             : using       ::ary::idl::ifc_ce::Dyn_CeIterator;
      69             : 
      70             : 
      71             : 
      72           1 : extern const String C_sCssFilename_Idl("idl.css");
      73             : 
      74             : namespace
      75             : {
      76             : 
      77             : /** @resp
      78             :     Inits (constructor) and creates (destructor) the current
      79             :     html documentation file ( MainDisplay_Idl.pMyFile ).
      80             : */
      81             : class Guard_CurFile
      82             : {
      83             :   public:
      84             :                         Guard_CurFile(          /// For CodeEntities
      85             :                             DocuFile_Html &     io_client,
      86             :                             HtmlEnvironment_Idl &
      87             :                                                 io_env,
      88             :                             const ary::idl::CodeEntity &
      89             :                                                 i_ce,
      90             :                             const String &      i_titlePrefix );
      91             :                         Guard_CurFile(          /// For Use pages
      92             :                             DocuFile_Html &     io_client,
      93             :                             HtmlEnvironment_Idl &
      94             :                                                 io_env,
      95             :                             const String &      i_fileName,
      96             :                             const String &      i_titlePrefix );
      97             :                         Guard_CurFile(          /// For Modules
      98             :                             DocuFile_Html &     io_client,
      99             :                             HtmlEnvironment_Idl &
     100             :                                                 io_env,
     101             :                             const ary::idl::CodeEntity &
     102             :                                                 i_ce );
     103             :                         Guard_CurFile(          /// For Indices
     104             :                             DocuFile_Html &     io_client,
     105             :                             HtmlEnvironment_Idl &
     106             :                                                 io_env,
     107             :                             char                i_letter );
     108             :                         ~Guard_CurFile();
     109             :   private:
     110             :     DocuFile_Html &     rClient;
     111             :     HtmlEnvironment_Idl &
     112             :                         rEnv;
     113             : 
     114             : };
     115             : 
     116             : /** @resp
     117             :     Sets and releases the current factory pointer
     118             :     ( MainDisplay_Idl.pCurFactory ).
     119             : */
     120             : class Guard_CurFactoryPtr
     121             : {
     122             :   public:
     123        4280 :                         Guard_CurFactoryPtr(
     124             :                             HtmlFactory_Idl *&  io_client,
     125             :                             HtmlFactory_Idl &   i_factory )
     126        4280 :                             :   rpClient(io_client)
     127        4280 :                         { rpClient = &i_factory; }
     128             : 
     129        4280 :                         ~Guard_CurFactoryPtr()
     130        4280 :                         { rpClient = 0; }
     131             : 
     132             :   private:
     133             :     HtmlFactory_Idl *&  rpClient;
     134             : 
     135             : };
     136             : 
     137             : 
     138        4134 : Guard_CurFile::Guard_CurFile( DocuFile_Html &               io_client,
     139             :                               HtmlEnvironment_Idl &         io_env,
     140             :                               const ary::idl::CodeEntity &  i_ce,
     141             :                               const String &                i_titlePrefix )
     142             :     :   rClient(io_client),
     143        4134 :         rEnv(io_env)
     144             : {   // For Ces
     145        4134 :     StreamLock sl(300);
     146        4134 :     io_env.Set_CurFile( sl()    << i_ce.LocalName()
     147        4134 :                                 << ".html"
     148        4134 :                                 << c_str );
     149        4134 :     StreamLock aCurFilePath(700);
     150        4134 :     io_env.Get_CurFilePath(aCurFilePath());
     151             : 
     152        4134 :     rClient.EmptyBody();
     153             :     csv::ploc::Path
     154        4134 :         aLocation(aCurFilePath().c_str());
     155        4134 :     rClient.SetLocation(aLocation);
     156        4134 :     sl().reset();
     157        4134 :     rClient.SetTitle( sl()  << i_titlePrefix
     158        4134 :                             << " "
     159        8268 :                             << i_ce.LocalName()
     160        4134 :                             << c_str );
     161        4134 :     sl().reset();
     162             :     rClient.SetRelativeCssPath(
     163        8268 :                       sl()  << io_env.CurPosition().LinkToRoot()
     164        4134 :                             << C_sCssFilename_Idl
     165        4134 :                             << c_str );
     166             : 
     167        4134 :     io_env.Set_CurPageCe(&i_ce);
     168        4134 : }
     169             : 
     170        3551 : Guard_CurFile::Guard_CurFile( DocuFile_Html &       io_client,
     171             :                               HtmlEnvironment_Idl & io_env,
     172             :                               const String &        i_fileName,
     173             :                               const String &        i_titlePrefix )
     174             :     :   rClient(io_client),
     175        3551 :         rEnv(io_env)
     176             : {   // For Use pages
     177        3551 :     StreamLock sl(300);
     178        3551 :     io_env.Set_CurFile( sl()    << i_fileName
     179        3551 :                                 << ".html"
     180        3551 :                                 << c_str );
     181        3551 :     StreamLock aCurFilePath(700);
     182        3551 :     io_env.Get_CurFilePath(aCurFilePath());
     183             :     csv::ploc::Path
     184        3551 :         aLocation(aCurFilePath().c_str());
     185             : 
     186        3551 :     rClient.EmptyBody();
     187        3551 :     rClient.SetLocation(aLocation);
     188        3551 :     sl().reset();
     189        3551 :     rClient.SetTitle( sl() << i_titlePrefix << " " << i_fileName << c_str );
     190        3551 :     sl().reset();
     191             :     rClient.SetRelativeCssPath(
     192        7102 :                       sl()  << io_env.CurPosition().LinkToRoot()
     193        3551 :                             << C_sCssFilename_Idl
     194        3551 :                             << c_str );
     195             : 
     196        3551 :     io_env.Set_CurPageCe(0);
     197        3551 : }
     198             : 
     199         119 : Guard_CurFile::Guard_CurFile( DocuFile_Html &               io_client,
     200             :                               HtmlEnvironment_Idl &         io_env,
     201             :                               const ary::idl::CodeEntity &  i_ce )
     202             :     :   rClient(io_client),
     203         119 :         rEnv(io_env)
     204             : {   // For Modules
     205         119 :     io_env.Set_CurFile( output::ModuleFileName() );
     206         119 :     StreamLock aCurFilePath(700);
     207         119 :     io_env.Get_CurFilePath(aCurFilePath());
     208             :     csv::ploc::Path
     209         119 :         aLocation(aCurFilePath().c_str());
     210             : 
     211         119 :     rClient.EmptyBody();
     212         119 :     rClient.SetLocation(aLocation);
     213         119 :     StreamLock sl(300);
     214         119 :     rClient.SetTitle( sl() << "Module " << io_env.CurPosition().Name() << c_str );
     215         119 :     sl().reset();
     216             :     rClient.SetRelativeCssPath(
     217         238 :                       sl()  << io_env.CurPosition().LinkToRoot()
     218         119 :                             << C_sCssFilename_Idl
     219         119 :                             << c_str );
     220             : 
     221         119 :     io_env.Set_CurPageCe(&i_ce);
     222         119 : }
     223             : 
     224          27 : Guard_CurFile::Guard_CurFile( DocuFile_Html &       io_client,
     225             :                               HtmlEnvironment_Idl & io_env,
     226             :                               char                  i_letter )
     227             :     :   rClient(io_client),
     228          27 :         rEnv(io_env)
     229             : {   // For Index pages
     230          27 :     StreamLock sl(300);
     231          27 :     io_env.Set_CurFile( sl()    << "index-"
     232             :                                 << ( i_letter != '_'
     233             :                                         ?   int(i_letter)-'a'+1
     234          54 :                                         :   27 )
     235          27 :                                 << ".html"
     236          27 :                                 << c_str );
     237          27 :     StreamLock aCurFilePath(700);
     238          27 :     io_env.Get_CurFilePath(aCurFilePath());
     239             :     csv::ploc::Path
     240          27 :         aLocation(aCurFilePath().c_str());
     241             : 
     242          27 :     rClient.EmptyBody();
     243          27 :     rClient.SetLocation(aLocation);
     244          27 :     sl().reset();
     245          27 :     rClient.SetTitle( sl() << "Global Index "
     246             :                            << ( i_letter != '_'
     247             :                                     ?   char(i_letter-'a'+'A')
     248          54 :                                     :   '_' )
     249          27 :                            << c_str );
     250          27 :     sl().reset();
     251             :     rClient.SetRelativeCssPath(
     252          27 :                       sl()  << "../"
     253          27 :                             << C_sCssFilename_Idl
     254          27 :                             << c_str );
     255          27 : }
     256             : 
     257        7831 : Guard_CurFile::~Guard_CurFile()
     258             : {
     259        7831 :     rClient.CreateFile();
     260        7831 :     rEnv.Set_CurPageCe(0);
     261        7831 : }
     262             : 
     263             : 
     264             : }   // anonymous namespace
     265             : 
     266             : 
     267             : 
     268             : 
     269           1 : MainDisplay_Idl::MainDisplay_Idl( HtmlEnvironment_Idl & io_rEnv )
     270             :     :   pEnv(&io_rEnv),
     271           1 :         pMyFile(new DocuFile_Html),
     272           2 :         pCurFactory(0)
     273             : {
     274             : //  pMyFile->SetStyle( Env().Layout().CssStyle() );
     275           1 :     pMyFile->SetCopyright( Env().Layout().CopyrightText() );
     276           1 : }
     277             : 
     278           2 : MainDisplay_Idl::~MainDisplay_Idl()
     279             : {
     280           2 : }
     281             : 
     282             : 
     283             : void
     284           1 : MainDisplay_Idl::WriteGlobalIndices()
     285             : {
     286          28 :     for ( const char * pLetter = "abcdefghijklmnopqrstuvwxyz_X"; *pLetter != 'X'; ++pLetter )
     287             :     {
     288          27 :         Guard_CurFile       gFile( *pMyFile, Env(), *pLetter );
     289             : 
     290          27 :         HF_IdlGlobalIndex   aFactory( *pEnv, pMyFile->Body() );
     291          27 :         Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     292             : 
     293          27 :         aFactory.Produce_Page( ary::idl::alphabetical_index::E_Letter(*pLetter) );
     294          27 :     }   // end for
     295           1 : }
     296             : 
     297             : 
     298             : void
     299         119 : MainDisplay_Idl::do_Process( const ary::idl::Module & i_ce )
     300             : {
     301         119 :     Guard_CurFile    gFile( *pMyFile,
     302         119 :                             Env(),
     303         238 :                             i_ce );
     304         119 :     HF_IdlModule     aFactory( *pEnv, pMyFile->Body() );
     305         119 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     306             : 
     307         119 :     aFactory.Produce_byData(i_ce);
     308         119 : }
     309             : 
     310             : void
     311        1644 : MainDisplay_Idl::do_Process( const ary::idl::Interface & i_ce )
     312             : {
     313        1644 :     do_InterfaceDescr(i_ce);
     314        1644 :     do_Interface2s(i_ce);
     315        1644 : }
     316             : 
     317             : void
     318        1075 : MainDisplay_Idl::do_Process( const ary::idl::Service & i_ce )
     319             : {
     320        1075 :     do_ServiceDescr(i_ce);
     321        1075 :     do_Service2s(i_ce);
     322        1075 : }
     323             : 
     324             : void
     325         221 : MainDisplay_Idl::do_Process( const ary::idl::SglIfcService & i_ce )
     326             : {
     327         221 :     do_SglIfcServiceDescr(i_ce);
     328         221 : }
     329             : 
     330             : void
     331         381 : MainDisplay_Idl::do_Process( const ary::idl::Struct & i_ce )
     332             : {
     333         381 :     do_StructDescr(i_ce);
     334         381 :     do_Struct2s(i_ce);
     335         381 : }
     336             : 
     337             : void
     338         243 : MainDisplay_Idl::do_Process( const ary::idl::Exception & i_ce )
     339             : {
     340         243 :     do_ExceptionDescr(i_ce);
     341         243 :     do_Exception2s(i_ce);
     342         243 : }
     343             : 
     344             : void
     345         190 : MainDisplay_Idl::do_Process( const ary::idl::Enum & i_ce )
     346             : {
     347         190 :     do_EnumDescr(i_ce);
     348         190 :     do_Enum2s(i_ce);
     349         190 : }
     350             : 
     351             : void
     352          18 : MainDisplay_Idl::do_Process( const ary::idl::Typedef & i_ce )
     353             : {
     354          18 :     do_TypedefDescr(i_ce);
     355          18 :     do_Typedef2s(i_ce);
     356          18 : }
     357             : 
     358             : void
     359         347 : MainDisplay_Idl::do_Process( const ary::idl::ConstantsGroup & i_ce )
     360             : {
     361         347 :     Guard_CurFile       gFile( *pMyFile,
     362         347 :                                Env(),
     363             :                                i_ce,
     364         694 :                                "Constants' Group" );
     365         347 :     HF_IdlConstGroup    aFactory( *pEnv, pMyFile->Body() );
     366         347 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     367             : 
     368         347 :     aFactory.Produce_byData(i_ce);
     369         347 : }
     370             : 
     371             : void
     372           4 : MainDisplay_Idl::do_Process( const ary::idl::Singleton & i_ce )
     373             : {
     374           4 :     Guard_CurFile       gFile( *pMyFile,
     375           4 :                                Env(),
     376             :                                i_ce,
     377           8 :                                "Singleton" );
     378           4 :     HF_IdlSingleton     aFactory( *pEnv, pMyFile->Body() );
     379           4 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     380             : 
     381           4 :     aFactory.Produce_byData_ServiceBased(i_ce);
     382           4 : }
     383             : 
     384             : void
     385          11 : MainDisplay_Idl::do_Process( const ary::idl::SglIfcSingleton & i_ce )
     386             : {
     387          11 :     Guard_CurFile       gFile( *pMyFile,
     388          11 :                                Env(),
     389             :                                i_ce,
     390          22 :                                "Singleton" );
     391          11 :     HF_IdlSingleton     aFactory( *pEnv, pMyFile->Body() );
     392          11 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     393             : 
     394          11 :     aFactory.Produce_byData_InterfaceBased(i_ce);
     395          11 : }
     396             : 
     397             : void
     398        1644 : MainDisplay_Idl::do_InterfaceDescr( const ary::idl::CodeEntity & i_ce )
     399             : {
     400        1644 :     Guard_CurFile       gFile( *pMyFile,
     401        1644 :                                Env(),
     402             :                                i_ce,
     403        3288 :                                "Interface" );
     404        1644 :     HF_IdlInterface     aInterface( *pEnv, pMyFile->Body() );
     405        1644 :     Guard_CurFactoryPtr gFactory(pCurFactory,aInterface);
     406             : 
     407        1644 :     aInterface.Produce_byData(i_ce);
     408        1644 : }
     409             : 
     410             : void
     411        1075 : MainDisplay_Idl::do_ServiceDescr( const ary::idl::CodeEntity & i_ce )
     412             : {
     413        1075 :     Guard_CurFile       gFile( *pMyFile,
     414        1075 :                                Env(),
     415             :                                i_ce,
     416        2150 :                                "Service" );
     417        1075 :     HF_IdlService       aFactory( *pEnv, pMyFile->Body() );
     418        1075 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     419             : 
     420        1075 :     aFactory.Produce_byData(i_ce);
     421        1075 : }
     422             : 
     423             : void
     424         221 : MainDisplay_Idl::do_SglIfcServiceDescr( const ary::idl::CodeEntity & i_ce )
     425             : {
     426         221 :     Guard_CurFile       gFile( *pMyFile,
     427         221 :                                Env(),
     428             :                                i_ce,
     429         442 :                                "Service" );
     430         221 :     HF_IdlSglIfcService aFactory( *pEnv, pMyFile->Body() );
     431         221 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     432             : 
     433         221 :     aFactory.Produce_byData(i_ce);
     434         221 : }
     435             : 
     436             : void
     437         381 : MainDisplay_Idl::do_StructDescr( const ary::idl::CodeEntity & i_ce )
     438             : {
     439         381 :     Guard_CurFile       gFile( *pMyFile,
     440         381 :                                Env(),
     441             :                                i_ce,
     442         762 :                                "Struct" );
     443         381 :     HF_IdlStruct        aFactory( *pEnv, pMyFile->Body(), false );
     444         381 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     445             : 
     446         381 :     aFactory.Produce_byData(i_ce);
     447         381 : }
     448             : 
     449             : void
     450         243 : MainDisplay_Idl::do_ExceptionDescr( const ary::idl::CodeEntity & i_ce )
     451             : {
     452         243 :     Guard_CurFile       gFile( *pMyFile,
     453         243 :                                Env(),
     454             :                                i_ce,
     455         486 :                                "Exception" );
     456         243 :     HF_IdlStruct        aFactory( *pEnv, pMyFile->Body(), true );
     457         243 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     458             : 
     459         243 :     aFactory.Produce_byData(i_ce);
     460         243 : }
     461             : 
     462             : void
     463         190 : MainDisplay_Idl::do_EnumDescr( const ary::idl::CodeEntity & i_ce )
     464             : {
     465         190 :     Guard_CurFile       gFile( *pMyFile,
     466         190 :                                Env(),
     467             :                                i_ce,
     468         380 :                                "Enum" );
     469         190 :     HF_IdlEnum        aFactory( *pEnv, pMyFile->Body() );
     470         190 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     471             : 
     472         190 :     aFactory.Produce_byData(i_ce);
     473         190 : }
     474             : 
     475             : void
     476          18 : MainDisplay_Idl::do_TypedefDescr( const ary::idl::CodeEntity & i_ce )
     477             : {
     478          18 :     Guard_CurFile       gFile( *pMyFile,
     479          18 :                                Env(),
     480             :                                i_ce,
     481          36 :                                "Typedef" );
     482          18 :     HF_IdlTypedef       aFactory( *pEnv, pMyFile->Body() );
     483          18 :     Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
     484             : 
     485          18 :     aFactory.Produce_byData(i_ce);
     486          18 : }
     487             : 
     488             : void
     489        1644 : MainDisplay_Idl::do_Interface2s( const ary::idl::CodeEntity & i_ce )
     490             : {
     491        1644 :     StreamLock sl(100);
     492             :     String sUsesFileName(
     493        1644 :                 sl()
     494        3288 :                     << i_ce.LocalName()
     495        3288 :                     << Env().Linker().XrefsSuffix()
     496        1644 :                     << c_str );
     497        1644 :     Guard_CurFile       gFile( *pMyFile,
     498        1644 :                                Env(),
     499             :                                sUsesFileName,
     500        3288 :                                "Uses of Interface" );
     501             :     HF_IdlXrefs         aUses( *pEnv,
     502        1644 :                                pMyFile->Body(),
     503             :                                C_sCePrefix_Interface,
     504        1644 :                                i_ce );
     505             : 
     506             : 
     507             :     aUses.Produce_Tree(
     508             :         "Derived Interfaces",
     509             :         "#Deriveds",
     510             :         i_ce,
     511        1644 :         &ary::idl::ifc_interface::xref::Get_Derivations );
     512             : 
     513        1644 :     Dyn_CeIterator  pXrefList;
     514             : 
     515        1644 :     ary::idl::ifc_interface::xref::Get_SynonymTypedefs(pXrefList,i_ce);
     516             :     aUses.Produce_List(
     517             :         "Synonym Typedefs",
     518             :         "#Synonyms",
     519        1644 :         *pXrefList );
     520        1644 :     ary::idl::ifc_interface::xref::Get_ExportingServices(pXrefList,i_ce);
     521             :     aUses.Produce_List(
     522             :         "Services which Support this Interface",
     523             :         "#SupportingServices",
     524        1644 :         *pXrefList );
     525        1644 :     ary::idl::ifc_interface::xref::Get_ExportingSingletons(pXrefList,i_ce);
     526             :     aUses.Produce_List(
     527             :         "Singletons which Support this Interface",
     528             :         "#SupportingSingletons",
     529        1644 :         *pXrefList );
     530        1644 :     ary::idl::ifc_interface::xref::Get_AsReturns(pXrefList,i_ce);
     531             :     aUses.Produce_List(
     532             :         "Uses as Return Type",
     533             :         "#Returns",
     534        1644 :         *pXrefList );
     535        1644 :     ary::idl::ifc_interface::xref::Get_AsParameters(pXrefList,i_ce);
     536             :     aUses.Produce_List(
     537             :         "Uses as Parameter",
     538             :         "#Parameters",
     539        1644 :         *pXrefList );
     540        1644 :     ary::idl::ifc_interface::xref::Get_AsDataTypes(pXrefList,i_ce);
     541             :     aUses.Produce_List(
     542             :         "Uses as Data Type",
     543             :         "#DataTypes",
     544        1644 :         *pXrefList );
     545        1644 :     aUses.Write_ManualLinks(i_ce);
     546        1644 : }
     547             : 
     548             : void
     549        1075 : MainDisplay_Idl::do_Service2s( const ary::idl::CodeEntity & i_ce )
     550             : {
     551        1075 :     StreamLock sl(100);
     552             :     String sUsesFileName(
     553        1075 :                 sl()
     554        2150 :                     << i_ce.LocalName()
     555        2150 :                     << Env().Linker().XrefsSuffix()
     556        1075 :                     << c_str );
     557        1075 :     Guard_CurFile   gFile(  *pMyFile,
     558        1075 :                             Env(),
     559             :                             sUsesFileName,
     560        2150 :                             "Uses of Service" );
     561             :     HF_IdlXrefs     aUses(  *pEnv,
     562        1075 :                             pMyFile->Body(),
     563             :                             C_sCePrefix_Service,
     564        1075 :                             i_ce );
     565        1075 :     Dyn_CeIterator  pXrefList;
     566        1075 :     ary::idl::ifc_service::xref::Get_IncludingServices(pXrefList,i_ce);
     567             :     aUses.Produce_List(
     568             :         "Services which Include this Service",
     569             :         "#IncludingServices",
     570        1075 :         *pXrefList );
     571             : 
     572        1075 :     ary::idl::ifc_service::xref::Get_InstantiatingSingletons(pXrefList,i_ce);
     573             :     aUses.Produce_List(
     574             :         "Singletons which Instantiate this Service",
     575             :         "#Singletons",
     576        1075 :         *pXrefList );
     577        1075 :     aUses.Write_ManualLinks(i_ce);
     578        1075 : }
     579             : 
     580             : void
     581         381 : MainDisplay_Idl::do_Struct2s( const ary::idl::CodeEntity & i_ce )
     582             : {
     583         381 :     StreamLock sl(100);
     584             :     String sUsesFileName(
     585         381 :                 sl()
     586         762 :                     << i_ce.LocalName()
     587         762 :                     << Env().Linker().XrefsSuffix()
     588         381 :                     << c_str );
     589         381 :     Guard_CurFile   gFile(  *pMyFile,
     590         381 :                             Env(),
     591             :                             sUsesFileName,
     592         762 :                             "Uses of Struct" );
     593             :     HF_IdlXrefs     aUses(  *pEnv,
     594         381 :                             pMyFile->Body(),
     595             :                             C_sCePrefix_Struct,
     596         381 :                             i_ce );
     597             : 
     598             :     aUses.Produce_Tree(
     599             :         "Derived Structs",
     600             :         "#Deriveds",
     601             :         i_ce,
     602         381 :         &ary::idl::ifc_struct::xref::Get_Derivations );
     603             : 
     604         381 :     Dyn_CeIterator  pXrefList;
     605             : 
     606         381 :     ary::idl::ifc_struct::xref::Get_SynonymTypedefs(pXrefList,i_ce);
     607             :     aUses.Produce_List(
     608             :         "Synonym Typedefs",
     609             :         "#Synonyms",
     610         381 :         *pXrefList );
     611         381 :     ary::idl::ifc_struct::xref::Get_AsReturns(pXrefList,i_ce);
     612             :     aUses.Produce_List(
     613             :         "Uses as Return Type",
     614             :         "#Returns",
     615         381 :         *pXrefList );
     616         381 :     ary::idl::ifc_struct::xref::Get_AsParameters(pXrefList,i_ce);
     617             :     aUses.Produce_List(
     618             :         "Uses as Parameter",
     619             :         "#Parameters",
     620         381 :         *pXrefList );
     621         381 :     ary::idl::ifc_struct::xref::Get_AsDataTypes(pXrefList,i_ce);
     622             :     aUses.Produce_List(
     623             :         "Uses as Data Type",
     624             :         "#DataTypes",
     625         381 :         *pXrefList );
     626         381 :     aUses.Write_ManualLinks(i_ce);
     627         381 : }
     628             : 
     629             : void
     630         243 : MainDisplay_Idl::do_Exception2s( const ary::idl::CodeEntity & i_ce )
     631             : {
     632         243 :     StreamLock sl(100);
     633             :     String sUsesFileName(
     634         243 :                 sl()
     635         486 :                     << i_ce.LocalName()
     636         486 :                     << Env().Linker().XrefsSuffix()
     637         243 :                     << c_str );
     638         243 :     Guard_CurFile   gFile(  *pMyFile,
     639         243 :                             Env(),
     640             :                             sUsesFileName,
     641         486 :                             "Uses of Exception" );
     642             :     HF_IdlXrefs     aUses(  *pEnv,
     643         243 :                             pMyFile->Body(),
     644             :                             C_sCePrefix_Exception,
     645         243 :                             i_ce );
     646             : 
     647             :     aUses.Produce_Tree(
     648             :         "Derived Exceptions",
     649             :         "#Deriveds",
     650             :         i_ce,
     651         243 :         &ary::idl::ifc_exception::xref::Get_Derivations );
     652             : 
     653         243 :     Dyn_CeIterator  pXrefList;
     654             : 
     655         243 :     ary::idl::ifc_exception::xref::Get_RaisingFunctions(pXrefList,i_ce);
     656             :     aUses.Produce_List(
     657             :         "Raising Functions",
     658             :         "#Raisers",
     659         243 :         *pXrefList );
     660         243 :     aUses.Write_ManualLinks(i_ce);
     661         243 : }
     662             : 
     663             : void
     664         190 : MainDisplay_Idl::do_Enum2s( const ary::idl::CodeEntity & i_ce )
     665             : {
     666         190 :     StreamLock sl(100);
     667             :     String sUsesFileName(
     668         190 :                 sl()
     669         380 :                     << i_ce.LocalName()
     670         380 :                     << Env().Linker().XrefsSuffix()
     671         190 :                     << c_str );
     672         190 :     Guard_CurFile   gFile(  *pMyFile,
     673         190 :                             Env(),
     674             :                             sUsesFileName,
     675         380 :                             "Uses of Enum" );
     676             :     HF_IdlXrefs     aUses(  *pEnv,
     677         190 :                             pMyFile->Body(),
     678             :                             C_sCePrefix_Enum,
     679         190 :                             i_ce );
     680         190 :     Dyn_CeIterator  pXrefList;
     681         190 :     ary::idl::ifc_enum::xref::Get_SynonymTypedefs(pXrefList,i_ce);
     682             :     aUses.Produce_List(
     683             :         "Synonym Typedefs",
     684             :         "#Synonyms",
     685         190 :         *pXrefList );
     686         190 :     ary::idl::ifc_enum::xref::Get_AsReturns(pXrefList,i_ce);
     687             :     aUses.Produce_List(
     688             :         "Uses as Return Type",
     689             :         "#Returns",
     690         190 :         *pXrefList );
     691         190 :     ary::idl::ifc_enum::xref::Get_AsParameters(pXrefList,i_ce);
     692             :     aUses.Produce_List(
     693             :         "Uses as Parameter",
     694             :         "#Parameters",
     695         190 :         *pXrefList );
     696         190 :     ary::idl::ifc_enum::xref::Get_AsDataTypes(pXrefList,i_ce);
     697             :     aUses.Produce_List(
     698             :         "Uses as Data Type",
     699             :         "#DataTypes",
     700         190 :         *pXrefList );
     701         190 :     aUses.Write_ManualLinks(i_ce);
     702         190 : }
     703             : 
     704             : void
     705          18 : MainDisplay_Idl::do_Typedef2s( const ary::idl::CodeEntity & i_ce )
     706             : {
     707          18 :     StreamLock sl(100);
     708             :     String sUsesFileName(
     709          18 :                sl() << i_ce.LocalName()
     710          36 :                     << Env().Linker().XrefsSuffix()
     711          18 :                     << c_str );
     712          18 :     Guard_CurFile   gFile(  *pMyFile,
     713          18 :                             Env(),
     714             :                             sUsesFileName,
     715          36 :                             "Uses of Typedef" );
     716             :     HF_IdlXrefs     aUses(  *pEnv,
     717          18 :                             pMyFile->Body(),
     718             :                             C_sCePrefix_Typedef,
     719          18 :                             i_ce );
     720          18 :     Dyn_CeIterator  pXrefList;
     721          18 :     ary::idl::ifc_typedef::xref::Get_SynonymTypedefs(pXrefList,i_ce);
     722             :     aUses.Produce_List(
     723             :         "Synonym Typedefs",
     724             :         "#Synonyms",
     725          18 :         *pXrefList );
     726          18 :     ary::idl::ifc_typedef::xref::Get_AsReturns(pXrefList,i_ce);
     727             :     aUses.Produce_List(
     728             :         "Uses as Return Type",
     729             :         "#Returns",
     730          18 :         *pXrefList );
     731          18 :     ary::idl::ifc_typedef::xref::Get_AsParameters(pXrefList,i_ce);
     732             :     aUses.Produce_List(
     733             :         "Uses as Parameter",
     734             :         "#Parameters",
     735          18 :         *pXrefList );
     736          18 :     ary::idl::ifc_typedef::xref::Get_AsDataTypes(pXrefList,i_ce);
     737             :     aUses.Produce_List(
     738             :         "Uses as Data Type",
     739             :         "#DataTypes",
     740          18 :         *pXrefList );
     741          18 :     aUses.Write_ManualLinks(i_ce);
     742          21 : }
     743             : 
     744             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10