merge the formfield patch from ooo-build
[ooovba.git] / xml2cmp / source / xcd / xmltree.hxx
blobfae4a78b2b92b1c170dec562ab04f57008e57435
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: xmltree.hxx,v $
10 * $Revision: 1.6 $
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 X2C_XMLTREE_HXX
32 #define X2C_XMLTREE_HXX
36 // USED SERVICES
37 // BASE CLASSES
38 #include "xmlelem.hxx"
39 // COMPONENTS
40 #include "../support/sistr.hxx"
41 #include "../support/list.hxx"
42 // PARAMETERS
45 class CompDescrList;
47 class ModuleDescription : public SequenceElement
49 public:
50 ModuleDescription();
52 const Simstr & ModuleName() const;
53 void Get_SupportedServices( /// @return also the children of component-description.
54 List< const MultipleTextElement * > &
55 o_rServices ) const;
56 void Get_Types(
57 List< const MultipleTextElement * > &
58 o_rTypes ) const;
59 void Get_ServiceDependencies(
60 List< const MultipleTextElement * > &
61 o_rServices ) const;
62 private:
63 SglTextElement * pModuleName;
64 CompDescrList * pCdList;
65 MultipleTextElement *
66 pTypes;
67 MultipleTextElement *
68 pServiceDependencies;
72 class ComponentDescription : public SequenceElement
74 public:
75 ComponentDescription();
77 const Simstr & ComponentName() const { return pComponentName->Data(); }
78 const MultipleTextElement &
79 SupportedServices() const
80 { return *pSupportedServices; }
81 const MultipleTextElement &
82 Types() const { return *pTypes; }
83 const MultipleTextElement &
84 ServiceDependencies() const
85 { return *pServiceDependencies; }
86 private:
87 SglTextElement * pComponentName;
88 MultipleTextElement *
89 pSupportedServices;
90 MultipleTextElement *
91 pTypes;
92 MultipleTextElement *
93 pServiceDependencies;
96 class CompDescrList : public ListElement
98 public:
99 CompDescrList();
100 virtual void Write2Html(
101 HtmlCreator & io_rHC ) const;
102 virtual XmlElement *
103 Create_and_Add_NewElement();
105 void Get_SupportedServices(
106 List< const MultipleTextElement * > &
107 o_rResult ) const;
108 void Get_Types(
109 List< const MultipleTextElement * > &
110 o_rResult ) const;
111 void Get_ServiceDependencies(
112 List< const MultipleTextElement * > &
113 o_rResult ) const;
114 private:
115 List< ComponentDescription * >
116 aCDs;
119 class MdName : public SglTextElement
121 public:
122 MdName();
123 virtual void Write2Html(
124 HtmlCreator & io_rHC ) const;
127 class CdName : public SglTextElement
129 public:
130 CdName();
131 virtual void Write2Html(
132 HtmlCreator & io_rHC ) const;
135 class SupportedService : public MultipleTextElement
137 public:
138 SupportedService();
140 virtual void Insert2Index(
141 Index & o_rIndex ) const;
145 // IMPLEMENTATION
148 #endif