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