1*cdf0e10cSrcweir/*************************************************************************
2*cdf0e10cSrcweir *
3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir *
5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir *
7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir *
9*cdf0e10cSrcweir * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir *
11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir *
15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir *
21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir *
26*cdf0e10cSrcweir ************************************************************************/
27*cdf0e10cSrcweir#ifndef __com_sun_star_configuration_backend_XSchemaHandler_idl__
28*cdf0e10cSrcweir#define __com_sun_star_configuration_backend_XSchemaHandler_idl__
29*cdf0e10cSrcweir
30*cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__
31*cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl>
32*cdf0e10cSrcweir#endif
33*cdf0e10cSrcweir
34*cdf0e10cSrcweir#ifndef __com_sun_star_configuration_backend_TemplateIdentifier_idl__
35*cdf0e10cSrcweir#include <com/sun/star/configuration/backend/TemplateIdentifier.idl>
36*cdf0e10cSrcweir#endif
37*cdf0e10cSrcweir
38*cdf0e10cSrcweir#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
39*cdf0e10cSrcweir#include <com/sun/star/configuration/backend/MalformedDataException.idl>
40*cdf0e10cSrcweir#endif
41*cdf0e10cSrcweir
42*cdf0e10cSrcweir#ifndef __com_sun_star_lang_WrappedTargetException_idl__
43*cdf0e10cSrcweir#include <com/sun/star/lang/WrappedTargetException.idl>
44*cdf0e10cSrcweir#endif
45*cdf0e10cSrcweir
46*cdf0e10cSrcweir//=============================================================================
47*cdf0e10cSrcweir
48*cdf0e10cSrcweirmodule com { module sun { module star { module configuration { module backend {
49*cdf0e10cSrcweir
50*cdf0e10cSrcweir//=============================================================================
51*cdf0e10cSrcweir
52*cdf0e10cSrcweir/** receives a description of a configuration schema as a sequence of events.
53*cdf0e10cSrcweir
54*cdf0e10cSrcweir    @since OOo 1.1.2
55*cdf0e10cSrcweir */
56*cdf0e10cSrcweirpublished interface XSchemaHandler: ::com::sun::star::uno::XInterface
57*cdf0e10cSrcweir{
58*cdf0e10cSrcweir	//-------------------------------------------------------------------------
59*cdf0e10cSrcweir
60*cdf0e10cSrcweir	/** receives notification that a schema description is started.
61*cdf0e10cSrcweir
62*cdf0e10cSrcweir		<p> The schema descrption may comprise components templates or both.
63*cdf0e10cSrcweir		</p>
64*cdf0e10cSrcweir
65*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
66*cdf0e10cSrcweir			if a schema is already started (and has not been ended).
67*cdf0e10cSrcweir
68*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
69*cdf0e10cSrcweir			if an error occurs processing the event.
70*cdf0e10cSrcweir	 */
71*cdf0e10cSrcweir	void startSchema( )
72*cdf0e10cSrcweir			raises( MalformedDataException,
73*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
74*cdf0e10cSrcweir	//-------------------------------------------------------------------------
75*cdf0e10cSrcweir
76*cdf0e10cSrcweir	/** receives notification that the current schema description is complete.
77*cdf0e10cSrcweir
78*cdf0e10cSrcweir		<p> Must match a previous call to <member>startSchema</member>.
79*cdf0e10cSrcweir		</p>
80*cdf0e10cSrcweir
81*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
82*cdf0e10cSrcweir			<ul>
83*cdf0e10cSrcweir            <li>if invalid data is detected in the schema</li>
84*cdf0e10cSrcweir			<li>if there is a unfinished component or template in progress</li>
85*cdf0e10cSrcweir			<li>if no schema is started at all</li>
86*cdf0e10cSrcweir            </ul>
87*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
88*cdf0e10cSrcweir
89*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
90*cdf0e10cSrcweir			if an error occurs processing the event.
91*cdf0e10cSrcweir	 */
92*cdf0e10cSrcweir	void endSchema(  )
93*cdf0e10cSrcweir			raises( MalformedDataException,
94*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
95*cdf0e10cSrcweir	//-------------------------------------------------------------------------
96*cdf0e10cSrcweir
97*cdf0e10cSrcweir	/** receives notification that the schema depends on templates
98*cdf0e10cSrcweir		from a different component.
99*cdf0e10cSrcweir
100*cdf0e10cSrcweir		@param aName
101*cdf0e10cSrcweir			specifies the name of the component.
102*cdf0e10cSrcweir
103*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
104*cdf0e10cSrcweir			<ul>
105*cdf0e10cSrcweir			<li>if there is a unfinished component or template in progress</li>
106*cdf0e10cSrcweir			<li>if no schema is started at all</li>
107*cdf0e10cSrcweir			<li>if the name is not a valid component name</li>
108*cdf0e10cSrcweir			<li>if the requested component is not found</li>
109*cdf0e10cSrcweir            </ul>
110*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
111*cdf0e10cSrcweir
112*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
113*cdf0e10cSrcweir			if an error occurs processing the event.
114*cdf0e10cSrcweir	 */
115*cdf0e10cSrcweir	void importComponent( [in] string aName )
116*cdf0e10cSrcweir			raises( MalformedDataException,
117*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
118*cdf0e10cSrcweir	//-------------------------------------------------------------------------
119*cdf0e10cSrcweir
120*cdf0e10cSrcweir	/** receives notification that a component description is started.
121*cdf0e10cSrcweir
122*cdf0e10cSrcweir		<p> Subsequent calls describe the schema of the component
123*cdf0e10cSrcweir			until a matching call to <member>endComponent</member>
124*cdf0e10cSrcweir			is encountered.
125*cdf0e10cSrcweir		</p>
126*cdf0e10cSrcweir
127*cdf0e10cSrcweir		@param aName
128*cdf0e10cSrcweir			specifies the name of the component.
129*cdf0e10cSrcweir
130*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
131*cdf0e10cSrcweir			<ul>
132*cdf0e10cSrcweir			<li>if there is a unfinished component or template in progress </li>
133*cdf0e10cSrcweir			<li>if no schema is started at all </li>
134*cdf0e10cSrcweir			<li>if there already is a component data tree of this name</li>
135*cdf0e10cSrcweir			<li>if the name is not a valid component name</li>
136*cdf0e10cSrcweir			<li>if the instance supports no component schemas (only templates)</li>
137*cdf0e10cSrcweir            </ul>
138*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
139*cdf0e10cSrcweir
140*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
141*cdf0e10cSrcweir			if an error occurs processing the event.
142*cdf0e10cSrcweir	 */
143*cdf0e10cSrcweir	void startComponent( [in] string aName )
144*cdf0e10cSrcweir			raises( MalformedDataException,
145*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
146*cdf0e10cSrcweir	//-------------------------------------------------------------------------
147*cdf0e10cSrcweir
148*cdf0e10cSrcweir	/** receives notification that a component description is complete.
149*cdf0e10cSrcweir
150*cdf0e10cSrcweir		<p> Must match a previous call to <member>startComponent</member>.
151*cdf0e10cSrcweir		</p>
152*cdf0e10cSrcweir
153*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
154*cdf0e10cSrcweir			<ul>
155*cdf0e10cSrcweir			<li>if invalid data is detected in the component<li>
156*cdf0e10cSrcweir			<li>if there is a unfinished subnode in progress<li>
157*cdf0e10cSrcweir			<li>if no component has been started at all<li>
158*cdf0e10cSrcweir			<li>if the instance supports no component schemas (only templates)<li>
159*cdf0e10cSrcweir            </ul>
160*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
161*cdf0e10cSrcweir
162*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
163*cdf0e10cSrcweir			if an error occurs processing the event.
164*cdf0e10cSrcweir	 */
165*cdf0e10cSrcweir	void endComponent(  )
166*cdf0e10cSrcweir			raises( MalformedDataException,
167*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
168*cdf0e10cSrcweir	//-------------------------------------------------------------------------
169*cdf0e10cSrcweir
170*cdf0e10cSrcweir	/** receives notification that a template description is started for a group.
171*cdf0e10cSrcweir
172*cdf0e10cSrcweir		<p> Subsequent calls describe the members and properties of the template
173*cdf0e10cSrcweir			until a matching call to <member>endTemplate</member>
174*cdf0e10cSrcweir			is encountered.
175*cdf0e10cSrcweir		</p>
176*cdf0e10cSrcweir
177*cdf0e10cSrcweir		@param aTemplate
178*cdf0e10cSrcweir			specifies the identity of the template.
179*cdf0e10cSrcweir
180*cdf0e10cSrcweir		@param aAttributes
181*cdf0e10cSrcweir			specifies the attributes of the template.
182*cdf0e10cSrcweir
183*cdf0e10cSrcweir			<p> The value is a combination of
184*cdf0e10cSrcweir				<type>SchemaAttribute</type> flags.
185*cdf0e10cSrcweir			</p>
186*cdf0e10cSrcweir			<p>	<const>SchemaAttribute::EXTENSIBLE</const> can be used
187*cdf0e10cSrcweir				to describe a template for a node with an extensible
188*cdf0e10cSrcweir				set of properties.
189*cdf0e10cSrcweir			</p>
190*cdf0e10cSrcweir
191*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
192*cdf0e10cSrcweir            <ul>
193*cdf0e10cSrcweir			<li>if there is a unfinished component or template in progress</li>
194*cdf0e10cSrcweir			<li>if no schema is started at all </li>
195*cdf0e10cSrcweir			<li>if there already is a template with that identifier</li>
196*cdf0e10cSrcweir			<li>if the name is not a valid template identifier </li>
197*cdf0e10cSrcweir			<li>if the attributes are not valid for a group</li>
198*cdf0e10cSrcweir			<li>if the instance supports no templates (only component schemas)</li>
199*cdf0e10cSrcweir            </ul>
200*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
201*cdf0e10cSrcweir
202*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
203*cdf0e10cSrcweir			if an error occurs processing the event.
204*cdf0e10cSrcweir
205*cdf0e10cSrcweir		@see com::sun::star::configuration::backend::SchemaAttribute
206*cdf0e10cSrcweir	 */
207*cdf0e10cSrcweir	void startGroupTemplate( [in] TemplateIdentifier aTemplate,
208*cdf0e10cSrcweir							 [in] short  aAttributes  )
209*cdf0e10cSrcweir			raises( MalformedDataException,
210*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
211*cdf0e10cSrcweir	//-------------------------------------------------------------------------
212*cdf0e10cSrcweir
213*cdf0e10cSrcweir	/** receives notification that a template description is started for a set.
214*cdf0e10cSrcweir
215*cdf0e10cSrcweir		<p> Subsequent calls describe the members and properties of the template
216*cdf0e10cSrcweir			until a matching call to <member>endTemplate</member>
217*cdf0e10cSrcweir			is encountered.
218*cdf0e10cSrcweir		</p>
219*cdf0e10cSrcweir
220*cdf0e10cSrcweir		@param aTemplate
221*cdf0e10cSrcweir			specifies the identity of the template.
222*cdf0e10cSrcweir
223*cdf0e10cSrcweir		@param aAttributes
224*cdf0e10cSrcweir			specifies the attributes of the template.
225*cdf0e10cSrcweir
226*cdf0e10cSrcweir			<p> The value is a combination of
227*cdf0e10cSrcweir				<type>SchemaAttribute</type> flags.
228*cdf0e10cSrcweir			</p>
229*cdf0e10cSrcweir			<p>	<const>SchemaAttribute::EXTENSIBLE</const> can be used
230*cdf0e10cSrcweir				to describe a template for a node with an extensible
231*cdf0e10cSrcweir				set of properties.
232*cdf0e10cSrcweir			</p>
233*cdf0e10cSrcweir
234*cdf0e10cSrcweir		@param aItemType
235*cdf0e10cSrcweir			specifies the (default) template for set items.
236*cdf0e10cSrcweir
237*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
238*cdf0e10cSrcweir            <ul>
239*cdf0e10cSrcweir			<li>if there is a unfinished component or template in progress</li>
240*cdf0e10cSrcweir			<li>if no schema is started at all </li>
241*cdf0e10cSrcweir			<li>if there already is a template with that identifier</li>
242*cdf0e10cSrcweir			<li>if the item-type template is not found</li>
243*cdf0e10cSrcweir			<li>if the name or item-type are not valid template identifiers </li>
244*cdf0e10cSrcweir			<li>if the attributes are not valid for a set</li>
245*cdf0e10cSrcweir			<li>if the instance supports no templates (only component schemas).</li>
246*cdf0e10cSrcweir            </ul>
247*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
248*cdf0e10cSrcweir
249*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
250*cdf0e10cSrcweir			if an error occurs processing the event.
251*cdf0e10cSrcweir
252*cdf0e10cSrcweir		@see com::sun::star::configuration::backend::SchemaAttribute
253*cdf0e10cSrcweir	 */
254*cdf0e10cSrcweir	void startSetTemplate(	[in] TemplateIdentifier aTemplate,
255*cdf0e10cSrcweir							[in] short  aAttributes,
256*cdf0e10cSrcweir							[in] TemplateIdentifier aItemType  )
257*cdf0e10cSrcweir			raises( MalformedDataException,
258*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
259*cdf0e10cSrcweir	//-------------------------------------------------------------------------
260*cdf0e10cSrcweir
261*cdf0e10cSrcweir	/** receives notification that a template description is complete.
262*cdf0e10cSrcweir
263*cdf0e10cSrcweir		<p> Must match a previous call to <member>startGroupTemplate</member>
264*cdf0e10cSrcweir			or <member>startSetTemplate</member>.
265*cdf0e10cSrcweir		</p>
266*cdf0e10cSrcweir
267*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
268*cdf0e10cSrcweir            <ul>
269*cdf0e10cSrcweir			<li>if invalid data is detected in the template</li>
270*cdf0e10cSrcweir			<li>if there is a unfinished subnode in progress</li>
271*cdf0e10cSrcweir			<li>if no template has been started at all</li>
272*cdf0e10cSrcweir			<li>if the instance supports no templates (only component schemas)</li>
273*cdf0e10cSrcweir            </ul>
274*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
275*cdf0e10cSrcweir
276*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
277*cdf0e10cSrcweir			if an error occurs processing the event.
278*cdf0e10cSrcweir	 */
279*cdf0e10cSrcweir	void endTemplate(  )
280*cdf0e10cSrcweir			raises( MalformedDataException,
281*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
282*cdf0e10cSrcweir	//-------------------------------------------------------------------------
283*cdf0e10cSrcweir
284*cdf0e10cSrcweir	/** receives notification that a group description is started.
285*cdf0e10cSrcweir
286*cdf0e10cSrcweir		<p> Subsequent calls describe the members and properties of the group
287*cdf0e10cSrcweir			until a matching call to <member>endNode</member>
288*cdf0e10cSrcweir			is encountered.
289*cdf0e10cSrcweir		</p>
290*cdf0e10cSrcweir
291*cdf0e10cSrcweir		@param aName
292*cdf0e10cSrcweir			specifies the name of the group.
293*cdf0e10cSrcweir
294*cdf0e10cSrcweir		@param aAttributes
295*cdf0e10cSrcweir			specifies the attributes of the node.
296*cdf0e10cSrcweir
297*cdf0e10cSrcweir			<p> The value is a combination of
298*cdf0e10cSrcweir				<type>SchemaAttribute</type> flags.
299*cdf0e10cSrcweir			</p>
300*cdf0e10cSrcweir			<p>	<const>SchemaAttribute::EXTENSIBLE</const> can be used
301*cdf0e10cSrcweir				to describe a group with an extensible set of properties.
302*cdf0e10cSrcweir			</p>
303*cdf0e10cSrcweir
304*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
305*cdf0e10cSrcweir            <ul>
306*cdf0e10cSrcweir			<li>if there isn't a group node in progress currently</li>
307*cdf0e10cSrcweir			<li>if there already is a node with that name</li>
308*cdf0e10cSrcweir			<li>if the name is not a valid node name</li>
309*cdf0e10cSrcweir			<li>if the attributes are not valid for a group</li>
310*cdf0e10cSrcweir            </ul>
311*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
312*cdf0e10cSrcweir
313*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
314*cdf0e10cSrcweir			if an error occurs processing the event.
315*cdf0e10cSrcweir
316*cdf0e10cSrcweir		@see com::sun::star::configuration::backend::SchemaAttribute
317*cdf0e10cSrcweir	 */
318*cdf0e10cSrcweir	void startGroup( [in] string aName,
319*cdf0e10cSrcweir					 [in] short  aAttributes )
320*cdf0e10cSrcweir			raises( MalformedDataException,
321*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
322*cdf0e10cSrcweir	//-------------------------------------------------------------------------
323*cdf0e10cSrcweir
324*cdf0e10cSrcweir	/** receives notification that a set description is started.
325*cdf0e10cSrcweir
326*cdf0e10cSrcweir		<p> Subsequent calls describe the item-types and properties of the set
327*cdf0e10cSrcweir			until a matching call to <member>endNode</member>
328*cdf0e10cSrcweir			is encountered.
329*cdf0e10cSrcweir		</p>
330*cdf0e10cSrcweir
331*cdf0e10cSrcweir		@param aName
332*cdf0e10cSrcweir			specifies the name of the set.
333*cdf0e10cSrcweir
334*cdf0e10cSrcweir		@param aAttributes
335*cdf0e10cSrcweir			specifies the attributes of the node.
336*cdf0e10cSrcweir
337*cdf0e10cSrcweir			<p> The value is a combination of
338*cdf0e10cSrcweir				<type>SchemaAttribute</type> flags.
339*cdf0e10cSrcweir			</p>
340*cdf0e10cSrcweir			<p>	<const>SchemaAttribute::EXTENSIBLE</const> can be used
341*cdf0e10cSrcweir				to describe a set with an extensible set of properties.
342*cdf0e10cSrcweir			</p>
343*cdf0e10cSrcweir
344*cdf0e10cSrcweir		@param aItemType
345*cdf0e10cSrcweir			specifies the (default) template for set items.
346*cdf0e10cSrcweir
347*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
348*cdf0e10cSrcweir            <ul>
349*cdf0e10cSrcweir			<li>if there isn't a group node in progress currently</li>
350*cdf0e10cSrcweir			<li>if there already is a node with that name</li>
351*cdf0e10cSrcweir			<li>if the item-type template is not found</li>
352*cdf0e10cSrcweir			<li>if the name is not a valid node name</li>
353*cdf0e10cSrcweir			<li>if the item-type is not a valid template identifier</li>
354*cdf0e10cSrcweir			<li>if the attributes are not valid for a set</li>
355*cdf0e10cSrcweir            </ul>
356*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
357*cdf0e10cSrcweir
358*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
359*cdf0e10cSrcweir			if an error occurs processing the event.
360*cdf0e10cSrcweir
361*cdf0e10cSrcweir		@see com::sun::star::configuration::backend::SchemaAttribute
362*cdf0e10cSrcweir	 */
363*cdf0e10cSrcweir	void startSet( [in] string aName,
364*cdf0e10cSrcweir				   [in] short  aAttributes,
365*cdf0e10cSrcweir				   [in] TemplateIdentifier aItemType )
366*cdf0e10cSrcweir			raises( MalformedDataException,
367*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
368*cdf0e10cSrcweir	//-------------------------------------------------------------------------
369*cdf0e10cSrcweir
370*cdf0e10cSrcweir	/** receives notification that a node description is complete.
371*cdf0e10cSrcweir
372*cdf0e10cSrcweir		<p> Must match the last open call to <member>startGroup</member>
373*cdf0e10cSrcweir			or <member>startSet</member>.
374*cdf0e10cSrcweir		</p>
375*cdf0e10cSrcweir
376*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
377*cdf0e10cSrcweir            <ul>
378*cdf0e10cSrcweir			<li>if the name is not a the name of the node in progress</li>
379*cdf0e10cSrcweir			<li>if invalid data is detected in the node</li>
380*cdf0e10cSrcweir			<li>if no node has been started at all</li>
381*cdf0e10cSrcweir            </ul>
382*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
383*cdf0e10cSrcweir
384*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
385*cdf0e10cSrcweir			if an error occurs processing the event.
386*cdf0e10cSrcweir	 */
387*cdf0e10cSrcweir	void endNode(  )
388*cdf0e10cSrcweir			raises( MalformedDataException,
389*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
390*cdf0e10cSrcweir	//-------------------------------------------------------------------------
391*cdf0e10cSrcweir
392*cdf0e10cSrcweir	/** receives notification that a property is added to the current node.
393*cdf0e10cSrcweir
394*cdf0e10cSrcweir		<p>	The property will have a default value of <NULL/>
395*cdf0e10cSrcweir			(unless it is <const>SchemaAttribute::REQUIRED</const>).
396*cdf0e10cSrcweir		</p>
397*cdf0e10cSrcweir
398*cdf0e10cSrcweir		@param aName
399*cdf0e10cSrcweir			specifies the name of the new property.
400*cdf0e10cSrcweir
401*cdf0e10cSrcweir		@param aAttributes
402*cdf0e10cSrcweir			specifies the attributes of the new property.
403*cdf0e10cSrcweir
404*cdf0e10cSrcweir			<p> The value is a combination of
405*cdf0e10cSrcweir				<type>SchemaAttribute</type> flags.
406*cdf0e10cSrcweir			</p>
407*cdf0e10cSrcweir
408*cdf0e10cSrcweir		@param aType
409*cdf0e10cSrcweir			specifies the type of the new property.
410*cdf0e10cSrcweir
411*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
412*cdf0e10cSrcweir            <ul>
413*cdf0e10cSrcweir			<li>if there isn't a group or extensible node in progress currently</li>
414*cdf0e10cSrcweir			<li>if a property with the same name already exists</li>
415*cdf0e10cSrcweir			<li>if the specified type is not allowed</li>
416*cdf0e10cSrcweir			<li>if the name is not a valid property name</li>
417*cdf0e10cSrcweir			<li>if the attributes are not valid for a property</li>
418*cdf0e10cSrcweir            </ul>
419*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
420*cdf0e10cSrcweir
421*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
422*cdf0e10cSrcweir			if an error occurs processing the event.
423*cdf0e10cSrcweir
424*cdf0e10cSrcweir		@see com::sun::star::configuration::backend::SchemaAttribute
425*cdf0e10cSrcweir	 */
426*cdf0e10cSrcweir	void addProperty( [in] string aName,
427*cdf0e10cSrcweir			 		  [in] short aAttributes,
428*cdf0e10cSrcweir					  [in] type aType )
429*cdf0e10cSrcweir			raises( MalformedDataException,
430*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
431*cdf0e10cSrcweir
432*cdf0e10cSrcweir	//-------------------------------------------------------------------------
433*cdf0e10cSrcweir
434*cdf0e10cSrcweir	/** receives notification that a property having a default value
435*cdf0e10cSrcweir		is added to the current node.
436*cdf0e10cSrcweir
437*cdf0e10cSrcweir		@param aName
438*cdf0e10cSrcweir			specifies the name of the new property.
439*cdf0e10cSrcweir
440*cdf0e10cSrcweir		@param aAttributes
441*cdf0e10cSrcweir			specifies the attributes of the new property.
442*cdf0e10cSrcweir
443*cdf0e10cSrcweir			<p> The value is a combination of
444*cdf0e10cSrcweir				<type>SchemaAttribute</type> flags.
445*cdf0e10cSrcweir			</p>
446*cdf0e10cSrcweir
447*cdf0e10cSrcweir		@param aDefaultValue
448*cdf0e10cSrcweir			specifies the value of the new property.
449*cdf0e10cSrcweir
450*cdf0e10cSrcweir			<p> The value also determines the type.
451*cdf0e10cSrcweir				Therefore the value must not be <void/>.
452*cdf0e10cSrcweir			</p>
453*cdf0e10cSrcweir
454*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
455*cdf0e10cSrcweir            <ul>
456*cdf0e10cSrcweir			<li>if there isn't a group or extensible node in progress currently</li>
457*cdf0e10cSrcweir			<li>if a property with the same name already exists</li>
458*cdf0e10cSrcweir			<li>if the type of the default value is not an allowed type,
459*cdf0e10cSrcweir			    or if the default value is <void/></li>
460*cdf0e10cSrcweir			<li>if the name is not a valid property name</li>
461*cdf0e10cSrcweir			<li>if the attributes are not valid for a property</li>
462*cdf0e10cSrcweir            </ul>
463*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
464*cdf0e10cSrcweir
465*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
466*cdf0e10cSrcweir			if an error occurs processing the event.
467*cdf0e10cSrcweir
468*cdf0e10cSrcweir		@see com::sun::star::configuration::backend::SchemaAttribute
469*cdf0e10cSrcweir	 */
470*cdf0e10cSrcweir	void addPropertyWithDefault( [in] string aName,
471*cdf0e10cSrcweir			 					 [in] short aAttributes,
472*cdf0e10cSrcweir								 [in] any aDefaultValue )
473*cdf0e10cSrcweir			raises( MalformedDataException,
474*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
475*cdf0e10cSrcweir
476*cdf0e10cSrcweir	//-------------------------------------------------------------------------
477*cdf0e10cSrcweir
478*cdf0e10cSrcweir	/** receives notification that the current group has a child node
479*cdf0e10cSrcweir		that is an instance of a specified template.
480*cdf0e10cSrcweir
481*cdf0e10cSrcweir		@param aName
482*cdf0e10cSrcweir			specifies the name of the new node.
483*cdf0e10cSrcweir
484*cdf0e10cSrcweir		@param aTemplate
485*cdf0e10cSrcweir			specifies a template that describes the new node.
486*cdf0e10cSrcweir
487*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
488*cdf0e10cSrcweir            <ul>
489*cdf0e10cSrcweir			<li>if there isn't a group node in progress currently</li>
490*cdf0e10cSrcweir			<li>if there already is a node with that name</li>
491*cdf0e10cSrcweir			<li>if the template is not found</li>
492*cdf0e10cSrcweir			<li>if the name or template name are not valid</li>
493*cdf0e10cSrcweir            </ul>
494*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
495*cdf0e10cSrcweir
496*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
497*cdf0e10cSrcweir			if an error occurs processing the event.
498*cdf0e10cSrcweir	 */
499*cdf0e10cSrcweir	void addInstance( [in] string aName,
500*cdf0e10cSrcweir			 		  [in] TemplateIdentifier aTemplate )
501*cdf0e10cSrcweir			raises( MalformedDataException,
502*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
503*cdf0e10cSrcweir
504*cdf0e10cSrcweir	//-------------------------------------------------------------------------
505*cdf0e10cSrcweir
506*cdf0e10cSrcweir	/** receives notification that the current set can contain items
507*cdf0e10cSrcweir		that are instances of a specified template.
508*cdf0e10cSrcweir
509*cdf0e10cSrcweir		@param aItemType
510*cdf0e10cSrcweir			specifies a template that is accepted as valid item type
511*cdf0e10cSrcweir			for the current set node.
512*cdf0e10cSrcweir
513*cdf0e10cSrcweir		@throws com::sun::star::configuration::backend::MalformedDataException
514*cdf0e10cSrcweir            <ul>
515*cdf0e10cSrcweir			<li>if there isn't a set node in progress currently</li>
516*cdf0e10cSrcweir			<li>if the template is not found</li>
517*cdf0e10cSrcweir			<li>if the name is not a valid template name</li>
518*cdf0e10cSrcweir            </ul>
519*cdf0e10cSrcweir            <p><em>Not every implementation can detect each condition</em></p>
520*cdf0e10cSrcweir
521*cdf0e10cSrcweir		@throws com::sun::star::lang::WrappedTargetException
522*cdf0e10cSrcweir			if an error occurs processing the event.
523*cdf0e10cSrcweir	 */
524*cdf0e10cSrcweir	void addItemType( [in] TemplateIdentifier aItemType )
525*cdf0e10cSrcweir			raises( MalformedDataException,
526*cdf0e10cSrcweir                    com::sun::star::lang::WrappedTargetException );
527*cdf0e10cSrcweir
528*cdf0e10cSrcweir	//-------------------------------------------------------------------------
529*cdf0e10cSrcweir
530*cdf0e10cSrcweir};
531*cdf0e10cSrcweir
532*cdf0e10cSrcweir//=============================================================================
533*cdf0e10cSrcweir
534*cdf0e10cSrcweir}; }; }; }; };
535*cdf0e10cSrcweir
536*cdf0e10cSrcweir//=============================================================================
537*cdf0e10cSrcweir
538*cdf0e10cSrcweir#endif
539