492 lines
19 KiB
Text
492 lines
19 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
|
|
module com { module sun { module star { module configuration { module backend {
|
|
|
|
|
|
/** receives a description of a configuration schema as a sequence of events.
|
|
|
|
@since OOo 1.1.2
|
|
*/
|
|
published interface XSchemaHandler: ::com::sun::star::uno::XInterface
|
|
{
|
|
|
|
/** receives notification that a schema description is started.
|
|
|
|
<p> The schema description may comprise components templates or both.
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
if a schema is already started (and has not been ended).
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void startSchema( )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that the current schema description is complete.
|
|
|
|
<p> Must match a previous call to startSchema().
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if invalid data is detected in the schema</li>
|
|
<li>if there is an unfinished component or template in progress</li>
|
|
<li>if no schema is started at all</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void endSchema( )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that the schema depends on templates
|
|
from a different component.
|
|
|
|
@param aName
|
|
specifies the name of the component.
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there is an unfinished component or template in progress</li>
|
|
<li>if no schema is started at all</li>
|
|
<li>if the name is not a valid component name</li>
|
|
<li>if the requested component is not found</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void importComponent( [in] string aName )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a component description is started.
|
|
|
|
<p> Subsequent calls describe the schema of the component
|
|
until a matching call to endComponent()
|
|
is encountered.
|
|
</p>
|
|
|
|
@param aName
|
|
specifies the name of the component.
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there is an unfinished component or template in progress </li>
|
|
<li>if no schema is started at all </li>
|
|
<li>if there already is a component data tree of this name</li>
|
|
<li>if the name is not a valid component name</li>
|
|
<li>if the instance supports no component schemas (only templates)</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void startComponent( [in] string aName )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a component description is complete.
|
|
|
|
<p> Must match a previous call to startComponent().
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if invalid data is detected in the component<li>
|
|
<li>if there is an unfinished subnode in progress<li>
|
|
<li>if no component has been started at all<li>
|
|
<li>if the instance supports no component schemas (only templates)<li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void endComponent( )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a template description is started for a group.
|
|
|
|
<p> Subsequent calls describe the members and properties of the template
|
|
until a matching call to endTemplate()
|
|
is encountered.
|
|
</p>
|
|
|
|
@param aTemplate
|
|
specifies the identity of the template.
|
|
|
|
@param aAttributes
|
|
specifies the attributes of the template.
|
|
|
|
<p> The value is a combination of
|
|
SchemaAttribute flags.
|
|
</p>
|
|
<p> SchemaAttribute::EXTENSIBLE can be used
|
|
to describe a template for a node with an extensible
|
|
set of properties.
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there is an unfinished component or template in progress</li>
|
|
<li>if no schema is started at all </li>
|
|
<li>if there already is a template with that identifier</li>
|
|
<li>if the name is not a valid template identifier </li>
|
|
<li>if the attributes are not valid for a group</li>
|
|
<li>if the instance supports no templates (only component schemas)</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
|
|
@see com::sun::star::configuration::backend::SchemaAttribute
|
|
*/
|
|
void startGroupTemplate( [in] TemplateIdentifier aTemplate,
|
|
[in] short aAttributes )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a template description is started for a set.
|
|
|
|
<p> Subsequent calls describe the members and properties of the template
|
|
until a matching call to endTemplate()
|
|
is encountered.
|
|
</p>
|
|
|
|
@param aTemplate
|
|
specifies the identity of the template.
|
|
|
|
@param aAttributes
|
|
specifies the attributes of the template.
|
|
|
|
<p> The value is a combination of
|
|
SchemaAttribute flags.
|
|
</p>
|
|
<p> SchemaAttribute::EXTENSIBLE can be used
|
|
to describe a template for a node with an extensible
|
|
set of properties.
|
|
</p>
|
|
|
|
@param aItemType
|
|
specifies the (default) template for set items.
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there is an unfinished component or template in progress</li>
|
|
<li>if no schema is started at all </li>
|
|
<li>if there already is a template with that identifier</li>
|
|
<li>if the item-type template is not found</li>
|
|
<li>if the name or item-type are not valid template identifiers </li>
|
|
<li>if the attributes are not valid for a set</li>
|
|
<li>if the instance supports no templates (only component schemas).</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
|
|
@see com::sun::star::configuration::backend::SchemaAttribute
|
|
*/
|
|
void startSetTemplate( [in] TemplateIdentifier aTemplate,
|
|
[in] short aAttributes,
|
|
[in] TemplateIdentifier aItemType )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a template description is complete.
|
|
|
|
<p> Must match a previous call to startGroupTemplate()
|
|
or startSetTemplate().
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if invalid data is detected in the template</li>
|
|
<li>if there is an unfinished subnode in progress</li>
|
|
<li>if no template has been started at all</li>
|
|
<li>if the instance supports no templates (only component schemas)</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void endTemplate( )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a group description is started.
|
|
|
|
<p> Subsequent calls describe the members and properties of the group
|
|
until a matching call to endNode()
|
|
is encountered.
|
|
</p>
|
|
|
|
@param aName
|
|
specifies the name of the group.
|
|
|
|
@param aAttributes
|
|
specifies the attributes of the node.
|
|
|
|
<p> The value is a combination of
|
|
SchemaAttribute flags.
|
|
</p>
|
|
<p> SchemaAttribute::EXTENSIBLE can be used
|
|
to describe a group with an extensible set of properties.
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there isn't a group node in progress currently</li>
|
|
<li>if there already is a node with that name</li>
|
|
<li>if the name is not a valid node name</li>
|
|
<li>if the attributes are not valid for a group</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
|
|
@see com::sun::star::configuration::backend::SchemaAttribute
|
|
*/
|
|
void startGroup( [in] string aName,
|
|
[in] short aAttributes )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a set description is started.
|
|
|
|
<p> Subsequent calls describe the item-types and properties of the set
|
|
until a matching call to endNode()
|
|
is encountered.
|
|
</p>
|
|
|
|
@param aName
|
|
specifies the name of the set.
|
|
|
|
@param aAttributes
|
|
specifies the attributes of the node.
|
|
|
|
<p> The value is a combination of
|
|
SchemaAttribute flags.
|
|
</p>
|
|
<p> SchemaAttribute::EXTENSIBLE can be used
|
|
to describe a set with an extensible set of properties.
|
|
</p>
|
|
|
|
@param aItemType
|
|
specifies the (default) template for set items.
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there isn't a group node in progress currently</li>
|
|
<li>if there already is a node with that name</li>
|
|
<li>if the item-type template is not found</li>
|
|
<li>if the name is not a valid node name</li>
|
|
<li>if the item-type is not a valid template identifier</li>
|
|
<li>if the attributes are not valid for a set</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
|
|
@see com::sun::star::configuration::backend::SchemaAttribute
|
|
*/
|
|
void startSet( [in] string aName,
|
|
[in] short aAttributes,
|
|
[in] TemplateIdentifier aItemType )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a node description is complete.
|
|
|
|
<p> Must match the last open call to startGroup()
|
|
or startSet().
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if the name is not the name of the node in progress</li>
|
|
<li>if invalid data is detected in the node</li>
|
|
<li>if no node has been started at all</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void endNode( )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
/** receives notification that a property is added to the current node.
|
|
|
|
<p> The property will have a default value of `NULL`
|
|
(unless it is SchemaAttribute::REQUIRED).
|
|
</p>
|
|
|
|
@param aName
|
|
specifies the name of the new property.
|
|
|
|
@param aAttributes
|
|
specifies the attributes of the new property.
|
|
|
|
<p> The value is a combination of
|
|
SchemaAttribute flags.
|
|
</p>
|
|
|
|
@param aType
|
|
specifies the type of the new property.
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there isn't a group or extensible node in progress currently</li>
|
|
<li>if a property with the same name already exists</li>
|
|
<li>if the specified type is not allowed</li>
|
|
<li>if the name is not a valid property name</li>
|
|
<li>if the attributes are not valid for a property</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
|
|
@see com::sun::star::configuration::backend::SchemaAttribute
|
|
*/
|
|
void addProperty( [in] string aName,
|
|
[in] short aAttributes,
|
|
[in] type aType )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
|
|
/** receives notification that a property having a default value
|
|
is added to the current node.
|
|
|
|
@param aName
|
|
specifies the name of the new property.
|
|
|
|
@param aAttributes
|
|
specifies the attributes of the new property.
|
|
|
|
<p> The value is a combination of
|
|
SchemaAttribute flags.
|
|
</p>
|
|
|
|
@param aDefaultValue
|
|
specifies the value of the new property.
|
|
|
|
<p> The value also determines the type.
|
|
Therefore the value must not be `VOID`.
|
|
</p>
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there isn't a group or extensible node in progress currently</li>
|
|
<li>if a property with the same name already exists</li>
|
|
<li>if the type of the default value is not an allowed type,
|
|
or if the default value is `VOID`</li>
|
|
<li>if the name is not a valid property name</li>
|
|
<li>if the attributes are not valid for a property</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
|
|
@see com::sun::star::configuration::backend::SchemaAttribute
|
|
*/
|
|
void addPropertyWithDefault( [in] string aName,
|
|
[in] short aAttributes,
|
|
[in] any aDefaultValue )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
|
|
/** receives notification that the current group has a child node
|
|
that is an instance of a specified template.
|
|
|
|
@param aName
|
|
specifies the name of the new node.
|
|
|
|
@param aTemplate
|
|
specifies a template that describes the new node.
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there isn't a group node in progress currently</li>
|
|
<li>if there already is a node with that name</li>
|
|
<li>if the template is not found</li>
|
|
<li>if the name or template name are not valid</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void addInstance( [in] string aName,
|
|
[in] TemplateIdentifier aTemplate )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
|
|
/** receives notification that the current set can contain items
|
|
that are instances of a specified template.
|
|
|
|
@param aItemType
|
|
specifies a template that is accepted as valid item type
|
|
for the current set node.
|
|
|
|
@throws com::sun::star::configuration::backend::MalformedDataException
|
|
<ul>
|
|
<li>if there isn't a set node in progress currently</li>
|
|
<li>if the template is not found</li>
|
|
<li>if the name is not a valid template name</li>
|
|
</ul>
|
|
<p><em>Not every implementation can detect each condition</em></p>
|
|
|
|
@throws com::sun::star::lang::WrappedTargetException
|
|
if an error occurs processing the event.
|
|
*/
|
|
void addItemType( [in] TemplateIdentifier aItemType )
|
|
raises( MalformedDataException,
|
|
com::sun::star::lang::WrappedTargetException );
|
|
|
|
|
|
};
|
|
|
|
|
|
}; }; }; }; };
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|