fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / autodoc / source / display / idl / hi_main.cxx
bloba81da21018efa59d9ffbe0119bb08a850e818fe2
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #include <precomp.h>
21 #include "hi_main.hxx"
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"
66 using ::ary::idl::Ce_id;
67 using ::ary::idl::Type_id;
68 using ::ary::idl::ifc_ce::Dyn_CeIterator;
72 extern const String C_sCssFilename_Idl("idl.css");
74 namespace
77 /** @resp
78 Inits (constructor) and creates (destructor) the current
79 html documentation file ( MainDisplay_Idl.pMyFile ).
81 class Guard_CurFile
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;
116 /** @resp
117 Sets and releases the current factory pointer
118 ( MainDisplay_Idl.pCurFactory ).
120 class Guard_CurFactoryPtr
122 public:
123 Guard_CurFactoryPtr(
124 HtmlFactory_Idl *& io_client,
125 HtmlFactory_Idl & i_factory )
126 : rpClient(io_client)
127 { rpClient = &i_factory; }
129 ~Guard_CurFactoryPtr()
130 { rpClient = 0; }
132 private:
133 HtmlFactory_Idl *& rpClient;
138 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 rEnv(io_env)
144 { // For Ces
145 StreamLock sl(300);
146 io_env.Set_CurFile( sl() << i_ce.LocalName()
147 << ".html"
148 << c_str );
149 StreamLock aCurFilePath(700);
150 io_env.Get_CurFilePath(aCurFilePath());
152 rClient.EmptyBody();
153 csv::ploc::Path
154 aLocation(aCurFilePath().c_str());
155 rClient.SetLocation(aLocation);
156 sl().reset();
157 rClient.SetTitle( sl() << i_titlePrefix
158 << " "
159 << i_ce.LocalName()
160 << c_str );
161 sl().reset();
162 rClient.SetRelativeCssPath(
163 sl() << io_env.CurPosition().LinkToRoot()
164 << C_sCssFilename_Idl
165 << c_str );
167 io_env.Set_CurPageCe(&i_ce);
170 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 rEnv(io_env)
176 { // For Use pages
177 StreamLock sl(300);
178 io_env.Set_CurFile( sl() << i_fileName
179 << ".html"
180 << c_str );
181 StreamLock aCurFilePath(700);
182 io_env.Get_CurFilePath(aCurFilePath());
183 csv::ploc::Path
184 aLocation(aCurFilePath().c_str());
186 rClient.EmptyBody();
187 rClient.SetLocation(aLocation);
188 sl().reset();
189 rClient.SetTitle( sl() << i_titlePrefix << " " << i_fileName << c_str );
190 sl().reset();
191 rClient.SetRelativeCssPath(
192 sl() << io_env.CurPosition().LinkToRoot()
193 << C_sCssFilename_Idl
194 << c_str );
196 io_env.Set_CurPageCe(0);
199 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 rEnv(io_env)
204 { // For Modules
205 io_env.Set_CurFile( output::ModuleFileName() );
206 StreamLock aCurFilePath(700);
207 io_env.Get_CurFilePath(aCurFilePath());
208 csv::ploc::Path
209 aLocation(aCurFilePath().c_str());
211 rClient.EmptyBody();
212 rClient.SetLocation(aLocation);
213 StreamLock sl(300);
214 rClient.SetTitle( sl() << "Module " << io_env.CurPosition().Name() << c_str );
215 sl().reset();
216 rClient.SetRelativeCssPath(
217 sl() << io_env.CurPosition().LinkToRoot()
218 << C_sCssFilename_Idl
219 << c_str );
221 io_env.Set_CurPageCe(&i_ce);
224 Guard_CurFile::Guard_CurFile( DocuFile_Html & io_client,
225 HtmlEnvironment_Idl & io_env,
226 char i_letter )
227 : rClient(io_client),
228 rEnv(io_env)
229 { // For Index pages
230 StreamLock sl(300);
231 io_env.Set_CurFile( sl() << "index-"
232 << ( i_letter != '_'
233 ? int(i_letter)-'a'+1
234 : 27 )
235 << ".html"
236 << c_str );
237 StreamLock aCurFilePath(700);
238 io_env.Get_CurFilePath(aCurFilePath());
239 csv::ploc::Path
240 aLocation(aCurFilePath().c_str());
242 rClient.EmptyBody();
243 rClient.SetLocation(aLocation);
244 sl().reset();
245 rClient.SetTitle( sl() << "Global Index "
246 << ( i_letter != '_'
247 ? char(i_letter-'a'+'A')
248 : '_' )
249 << c_str );
250 sl().reset();
251 rClient.SetRelativeCssPath(
252 sl() << "../"
253 << C_sCssFilename_Idl
254 << c_str );
257 Guard_CurFile::~Guard_CurFile()
259 rClient.CreateFile();
260 rEnv.Set_CurPageCe(0);
264 } // anonymous namespace
269 MainDisplay_Idl::MainDisplay_Idl( HtmlEnvironment_Idl & io_rEnv )
270 : pEnv(&io_rEnv),
271 pMyFile(new DocuFile_Html),
272 pCurFactory(0)
274 // pMyFile->SetStyle( Env().Layout().CssStyle() );
275 pMyFile->SetCopyright( Env().Layout().CopyrightText() );
278 MainDisplay_Idl::~MainDisplay_Idl()
283 void
284 MainDisplay_Idl::WriteGlobalIndices()
286 for ( const char * pLetter = "abcdefghijklmnopqrstuvwxyz_X"; *pLetter != 'X'; ++pLetter )
288 Guard_CurFile gFile( *pMyFile, Env(), *pLetter );
290 HF_IdlGlobalIndex aFactory( *pEnv, pMyFile->Body() );
291 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
293 aFactory.Produce_Page( ary::idl::alphabetical_index::E_Letter(*pLetter) );
294 } // end for
298 void
299 MainDisplay_Idl::do_Process( const ary::idl::Module & i_ce )
301 Guard_CurFile gFile( *pMyFile,
302 Env(),
303 i_ce );
304 HF_IdlModule aFactory( *pEnv, pMyFile->Body() );
305 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
307 aFactory.Produce_byData(i_ce);
310 void
311 MainDisplay_Idl::do_Process( const ary::idl::Interface & i_ce )
313 do_InterfaceDescr(i_ce);
314 do_Interface2s(i_ce);
317 void
318 MainDisplay_Idl::do_Process( const ary::idl::Service & i_ce )
320 do_ServiceDescr(i_ce);
321 do_Service2s(i_ce);
324 void
325 MainDisplay_Idl::do_Process( const ary::idl::SglIfcService & i_ce )
327 do_SglIfcServiceDescr(i_ce);
330 void
331 MainDisplay_Idl::do_Process( const ary::idl::Struct & i_ce )
333 do_StructDescr(i_ce);
334 do_Struct2s(i_ce);
337 void
338 MainDisplay_Idl::do_Process( const ary::idl::Exception & i_ce )
340 do_ExceptionDescr(i_ce);
341 do_Exception2s(i_ce);
344 void
345 MainDisplay_Idl::do_Process( const ary::idl::Enum & i_ce )
347 do_EnumDescr(i_ce);
348 do_Enum2s(i_ce);
351 void
352 MainDisplay_Idl::do_Process( const ary::idl::Typedef & i_ce )
354 do_TypedefDescr(i_ce);
355 do_Typedef2s(i_ce);
358 void
359 MainDisplay_Idl::do_Process( const ary::idl::ConstantsGroup & i_ce )
361 Guard_CurFile gFile( *pMyFile,
362 Env(),
363 i_ce,
364 "Constants' Group" );
365 HF_IdlConstGroup aFactory( *pEnv, pMyFile->Body() );
366 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
368 aFactory.Produce_byData(i_ce);
371 void
372 MainDisplay_Idl::do_Process( const ary::idl::Singleton & i_ce )
374 Guard_CurFile gFile( *pMyFile,
375 Env(),
376 i_ce,
377 "Singleton" );
378 HF_IdlSingleton aFactory( *pEnv, pMyFile->Body() );
379 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
381 aFactory.Produce_byData_ServiceBased(i_ce);
384 void
385 MainDisplay_Idl::do_Process( const ary::idl::SglIfcSingleton & i_ce )
387 Guard_CurFile gFile( *pMyFile,
388 Env(),
389 i_ce,
390 "Singleton" );
391 HF_IdlSingleton aFactory( *pEnv, pMyFile->Body() );
392 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
394 aFactory.Produce_byData_InterfaceBased(i_ce);
397 void
398 MainDisplay_Idl::do_InterfaceDescr( const ary::idl::CodeEntity & i_ce )
400 Guard_CurFile gFile( *pMyFile,
401 Env(),
402 i_ce,
403 "Interface" );
404 HF_IdlInterface aInterface( *pEnv, pMyFile->Body() );
405 Guard_CurFactoryPtr gFactory(pCurFactory,aInterface);
407 aInterface.Produce_byData(i_ce);
410 void
411 MainDisplay_Idl::do_ServiceDescr( const ary::idl::CodeEntity & i_ce )
413 Guard_CurFile gFile( *pMyFile,
414 Env(),
415 i_ce,
416 "Service" );
417 HF_IdlService aFactory( *pEnv, pMyFile->Body() );
418 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
420 aFactory.Produce_byData(i_ce);
423 void
424 MainDisplay_Idl::do_SglIfcServiceDescr( const ary::idl::CodeEntity & i_ce )
426 Guard_CurFile gFile( *pMyFile,
427 Env(),
428 i_ce,
429 "Service" );
430 HF_IdlSglIfcService aFactory( *pEnv, pMyFile->Body() );
431 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
433 aFactory.Produce_byData(i_ce);
436 void
437 MainDisplay_Idl::do_StructDescr( const ary::idl::CodeEntity & i_ce )
439 Guard_CurFile gFile( *pMyFile,
440 Env(),
441 i_ce,
442 "Struct" );
443 HF_IdlStruct aFactory( *pEnv, pMyFile->Body(), false );
444 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
446 aFactory.Produce_byData(i_ce);
449 void
450 MainDisplay_Idl::do_ExceptionDescr( const ary::idl::CodeEntity & i_ce )
452 Guard_CurFile gFile( *pMyFile,
453 Env(),
454 i_ce,
455 "Exception" );
456 HF_IdlStruct aFactory( *pEnv, pMyFile->Body(), true );
457 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
459 aFactory.Produce_byData(i_ce);
462 void
463 MainDisplay_Idl::do_EnumDescr( const ary::idl::CodeEntity & i_ce )
465 Guard_CurFile gFile( *pMyFile,
466 Env(),
467 i_ce,
468 "Enum" );
469 HF_IdlEnum aFactory( *pEnv, pMyFile->Body() );
470 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
472 aFactory.Produce_byData(i_ce);
475 void
476 MainDisplay_Idl::do_TypedefDescr( const ary::idl::CodeEntity & i_ce )
478 Guard_CurFile gFile( *pMyFile,
479 Env(),
480 i_ce,
481 "Typedef" );
482 HF_IdlTypedef aFactory( *pEnv, pMyFile->Body() );
483 Guard_CurFactoryPtr gFactory(pCurFactory,aFactory);
485 aFactory.Produce_byData(i_ce);
488 void
489 MainDisplay_Idl::do_Interface2s( const ary::idl::CodeEntity & i_ce )
491 StreamLock sl(100);
492 String sUsesFileName(
493 sl()
494 << i_ce.LocalName()
495 << Env().Linker().XrefsSuffix()
496 << c_str );
497 Guard_CurFile gFile( *pMyFile,
498 Env(),
499 sUsesFileName,
500 "Uses of Interface" );
501 HF_IdlXrefs aUses( *pEnv,
502 pMyFile->Body(),
503 C_sCePrefix_Interface,
504 i_ce );
507 aUses.Produce_Tree(
508 "Derived Interfaces",
509 "#Deriveds",
510 i_ce,
511 &ary::idl::ifc_interface::xref::Get_Derivations );
513 Dyn_CeIterator pXrefList;
515 ary::idl::ifc_interface::xref::Get_SynonymTypedefs(pXrefList,i_ce);
516 aUses.Produce_List(
517 "Synonym Typedefs",
518 "#Synonyms",
519 *pXrefList );
520 ary::idl::ifc_interface::xref::Get_ExportingServices(pXrefList,i_ce);
521 aUses.Produce_List(
522 "Services which Support this Interface",
523 "#SupportingServices",
524 *pXrefList );
525 ary::idl::ifc_interface::xref::Get_ExportingSingletons(pXrefList,i_ce);
526 aUses.Produce_List(
527 "Singletons which Support this Interface",
528 "#SupportingSingletons",
529 *pXrefList );
530 ary::idl::ifc_interface::xref::Get_AsReturns(pXrefList,i_ce);
531 aUses.Produce_List(
532 "Uses as Return Type",
533 "#Returns",
534 *pXrefList );
535 ary::idl::ifc_interface::xref::Get_AsParameters(pXrefList,i_ce);
536 aUses.Produce_List(
537 "Uses as Parameter",
538 "#Parameters",
539 *pXrefList );
540 ary::idl::ifc_interface::xref::Get_AsDataTypes(pXrefList,i_ce);
541 aUses.Produce_List(
542 "Uses as Data Type",
543 "#DataTypes",
544 *pXrefList );
545 aUses.Write_ManualLinks(i_ce);
548 void
549 MainDisplay_Idl::do_Service2s( const ary::idl::CodeEntity & i_ce )
551 StreamLock sl(100);
552 String sUsesFileName(
553 sl()
554 << i_ce.LocalName()
555 << Env().Linker().XrefsSuffix()
556 << c_str );
557 Guard_CurFile gFile( *pMyFile,
558 Env(),
559 sUsesFileName,
560 "Uses of Service" );
561 HF_IdlXrefs aUses( *pEnv,
562 pMyFile->Body(),
563 C_sCePrefix_Service,
564 i_ce );
565 Dyn_CeIterator pXrefList;
566 ary::idl::ifc_service::xref::Get_IncludingServices(pXrefList,i_ce);
567 aUses.Produce_List(
568 "Services which Include this Service",
569 "#IncludingServices",
570 *pXrefList );
572 ary::idl::ifc_service::xref::Get_InstantiatingSingletons(pXrefList,i_ce);
573 aUses.Produce_List(
574 "Singletons which Instantiate this Service",
575 "#Singletons",
576 *pXrefList );
577 aUses.Write_ManualLinks(i_ce);
580 void
581 MainDisplay_Idl::do_Struct2s( const ary::idl::CodeEntity & i_ce )
583 StreamLock sl(100);
584 String sUsesFileName(
585 sl()
586 << i_ce.LocalName()
587 << Env().Linker().XrefsSuffix()
588 << c_str );
589 Guard_CurFile gFile( *pMyFile,
590 Env(),
591 sUsesFileName,
592 "Uses of Struct" );
593 HF_IdlXrefs aUses( *pEnv,
594 pMyFile->Body(),
595 C_sCePrefix_Struct,
596 i_ce );
598 aUses.Produce_Tree(
599 "Derived Structs",
600 "#Deriveds",
601 i_ce,
602 &ary::idl::ifc_struct::xref::Get_Derivations );
604 Dyn_CeIterator pXrefList;
606 ary::idl::ifc_struct::xref::Get_SynonymTypedefs(pXrefList,i_ce);
607 aUses.Produce_List(
608 "Synonym Typedefs",
609 "#Synonyms",
610 *pXrefList );
611 ary::idl::ifc_struct::xref::Get_AsReturns(pXrefList,i_ce);
612 aUses.Produce_List(
613 "Uses as Return Type",
614 "#Returns",
615 *pXrefList );
616 ary::idl::ifc_struct::xref::Get_AsParameters(pXrefList,i_ce);
617 aUses.Produce_List(
618 "Uses as Parameter",
619 "#Parameters",
620 *pXrefList );
621 ary::idl::ifc_struct::xref::Get_AsDataTypes(pXrefList,i_ce);
622 aUses.Produce_List(
623 "Uses as Data Type",
624 "#DataTypes",
625 *pXrefList );
626 aUses.Write_ManualLinks(i_ce);
629 void
630 MainDisplay_Idl::do_Exception2s( const ary::idl::CodeEntity & i_ce )
632 StreamLock sl(100);
633 String sUsesFileName(
634 sl()
635 << i_ce.LocalName()
636 << Env().Linker().XrefsSuffix()
637 << c_str );
638 Guard_CurFile gFile( *pMyFile,
639 Env(),
640 sUsesFileName,
641 "Uses of Exception" );
642 HF_IdlXrefs aUses( *pEnv,
643 pMyFile->Body(),
644 C_sCePrefix_Exception,
645 i_ce );
647 aUses.Produce_Tree(
648 "Derived Exceptions",
649 "#Deriveds",
650 i_ce,
651 &ary::idl::ifc_exception::xref::Get_Derivations );
653 Dyn_CeIterator pXrefList;
655 ary::idl::ifc_exception::xref::Get_RaisingFunctions(pXrefList,i_ce);
656 aUses.Produce_List(
657 "Raising Functions",
658 "#Raisers",
659 *pXrefList );
660 aUses.Write_ManualLinks(i_ce);
663 void
664 MainDisplay_Idl::do_Enum2s( const ary::idl::CodeEntity & i_ce )
666 StreamLock sl(100);
667 String sUsesFileName(
668 sl()
669 << i_ce.LocalName()
670 << Env().Linker().XrefsSuffix()
671 << c_str );
672 Guard_CurFile gFile( *pMyFile,
673 Env(),
674 sUsesFileName,
675 "Uses of Enum" );
676 HF_IdlXrefs aUses( *pEnv,
677 pMyFile->Body(),
678 C_sCePrefix_Enum,
679 i_ce );
680 Dyn_CeIterator pXrefList;
681 ary::idl::ifc_enum::xref::Get_SynonymTypedefs(pXrefList,i_ce);
682 aUses.Produce_List(
683 "Synonym Typedefs",
684 "#Synonyms",
685 *pXrefList );
686 ary::idl::ifc_enum::xref::Get_AsReturns(pXrefList,i_ce);
687 aUses.Produce_List(
688 "Uses as Return Type",
689 "#Returns",
690 *pXrefList );
691 ary::idl::ifc_enum::xref::Get_AsParameters(pXrefList,i_ce);
692 aUses.Produce_List(
693 "Uses as Parameter",
694 "#Parameters",
695 *pXrefList );
696 ary::idl::ifc_enum::xref::Get_AsDataTypes(pXrefList,i_ce);
697 aUses.Produce_List(
698 "Uses as Data Type",
699 "#DataTypes",
700 *pXrefList );
701 aUses.Write_ManualLinks(i_ce);
704 void
705 MainDisplay_Idl::do_Typedef2s( const ary::idl::CodeEntity & i_ce )
707 StreamLock sl(100);
708 String sUsesFileName(
709 sl() << i_ce.LocalName()
710 << Env().Linker().XrefsSuffix()
711 << c_str );
712 Guard_CurFile gFile( *pMyFile,
713 Env(),
714 sUsesFileName,
715 "Uses of Typedef" );
716 HF_IdlXrefs aUses( *pEnv,
717 pMyFile->Body(),
718 C_sCePrefix_Typedef,
719 i_ce );
720 Dyn_CeIterator pXrefList;
721 ary::idl::ifc_typedef::xref::Get_SynonymTypedefs(pXrefList,i_ce);
722 aUses.Produce_List(
723 "Synonym Typedefs",
724 "#Synonyms",
725 *pXrefList );
726 ary::idl::ifc_typedef::xref::Get_AsReturns(pXrefList,i_ce);
727 aUses.Produce_List(
728 "Uses as Return Type",
729 "#Returns",
730 *pXrefList );
731 ary::idl::ifc_typedef::xref::Get_AsParameters(pXrefList,i_ce);
732 aUses.Produce_List(
733 "Uses as Parameter",
734 "#Parameters",
735 *pXrefList );
736 ary::idl::ifc_typedef::xref::Get_AsDataTypes(pXrefList,i_ce);
737 aUses.Produce_List(
738 "Uses as Data Type",
739 "#DataTypes",
740 *pXrefList );
741 aUses.Write_ManualLinks(i_ce);
744 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */