Update ooo320-m1
[ooovba.git] / autodoc / source / display / html / cre_link.hxx
blob1805963469ed2d79e371a90ef7f3c1c9672df79b
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: cre_link.hxx,v $
10 * $Revision: 1.4 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef ADC_DISPLAY_CRE_LINK_HXX
32 #define ADC_DISPLAY_CRE_LINK_HXX
35 // USED SERVICES
36 // BASE CLASSES
37 #include <cosv/tpl/processor.hxx>
38 // COMPONENTS
39 // PARAMETERS
41 namespace ary
43 namespace cpp
45 class CodeEntity;
46 class Namespace;
47 class Class;
48 class Enum;
49 class Typedef;
50 class Function;
51 class Variable;
52 class EnumValue;
53 class Define;
54 class Macro;
59 class OuputPage_Environment;
63 /** Displays links to ->{ary::cpp::CodeEntity CodeEntites}.
65 class LinkCreator : public csv::ProcessorIfc,
66 public csv::ConstProcessor<ary::cpp::Namespace>,
67 public csv::ConstProcessor<ary::cpp::Class>,
68 public csv::ConstProcessor<ary::cpp::Enum>,
69 public csv::ConstProcessor<ary::cpp::Typedef>,
70 public csv::ConstProcessor<ary::cpp::Function>,
71 public csv::ConstProcessor<ary::cpp::Variable>,
72 public csv::ConstProcessor<ary::cpp::EnumValue>,
73 public csv::ConstProcessor<ary::cpp::Define>,
74 public csv::ConstProcessor<ary::cpp::Macro>
76 public:
77 LinkCreator(
78 char * o_rOutput,
79 uintt i_nOutputSize );
80 ~LinkCreator();
83 void SetEnv(
84 const OuputPage_Environment &
85 i_rEnv );
86 private:
87 void Create_PrePath(
88 const ary::cpp::CodeEntity &
89 i_rData );
90 // Interface csv::ConstProcessor<>
91 virtual void do_Process(
92 const ary::cpp::Namespace &
93 i_rData );
94 virtual void do_Process(
95 const ary::cpp::Class &
96 i_rData );
97 virtual void do_Process(
98 const ary::cpp::Enum &
99 i_rData );
100 virtual void do_Process(
101 const ary::cpp::Typedef &
102 i_rData );
103 virtual void do_Process(
104 const ary::cpp::Function &
105 i_rData );
106 virtual void do_Process(
107 const ary::cpp::Variable &
108 i_rData );
109 virtual void do_Process(
110 const ary::cpp::EnumValue &
111 i_rData );
112 virtual void do_Process(
113 const ary::cpp::Define &
114 i_rData );
115 virtual void do_Process(
116 const ary::cpp::Macro &
117 i_rData );
118 // DATA
119 char * pOut;
120 uintt nOutMaxSize;
121 const OuputPage_Environment *
122 pEnv;
128 // IMPLEMENTATION
129 inline void
130 LinkCreator::SetEnv( const OuputPage_Environment & i_rEnv )
131 { pEnv = &i_rEnv; }
136 #endif