/* -*- 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 .
*/
#ifndef __com_sun_star_configuration_backend_XUpdateHandler_idl__
#define __com_sun_star_configuration_backend_XUpdateHandler_idl__
#include Some implementations can only detect this when executing
XUpdateHandler::endUpdate()
Must match a previous call to XUpdateHandler::startUpdate().
Not every implementation can detect each condition Subsequent calls describe changes to properties and items or
members of the node until a matching call to
XUpdateHandler::endNode() is encountered.
The value is a combination of
NodeAttribute flags.
Only attributes which are selected in aAttributeMask
are changed.
The value is a combination of
NodeAttribute flags.
Not every implementation can detect each condition The current node must be a set and
a preexisting item (if any) must be removable.
The new item will be created from the default template
of the set.
Subsequent calls describe the difference from the template
of properties, items or members of the node until a matching call
to XUpdateHandler::endNode() is encountered.
The value is a combination of
NodeAttribute flags. Note that
NodeAttribute::FUSE has an impact on the
semantics of this method.
Not every implementation can detect each condition The current node must be a set and
a preexisting item (if any) must be removable.
Subsequent calls describe the difference from the template
of properties or members of the node until a matching call
to XUpdateHandler::endNode() is encountered.
The value is a combination of
NodeAttribute flags. Note that
NodeAttribute::FUSE has an impact on the
semantics of this method.
Not every implementation can detect each condition Must match the last open call to
XUpdateHandler::modifyNode(),
XUpdateHandler::addOrReplaceNode() or
XUpdateHandler::addOrReplaceNodeFromTemplate().
Not every implementation can detect each condition The current node must be a set and
the item must be removable.
Not every implementation can detect each condition Subsequent calls describe changes to the value(s)
of the property until a matching call to
XUpdateHandler::endProperty() is encountered.
The value is a combination of
NodeAttribute flags.
Only attributes which are selected in aAttributeMask are changed.
NodeAttribute::MANDATORY need not be set
and can't be removed, as dynamic properties always are mandatory
in subsequent layers.
The value is a combination of
NodeAttribute flags.
A `VOID` type can be used to signify that
the type is unknown and should not be recorded.
Not every implementation can detect each condition The value must match the type of the existing property.
If the property does not have the
SchemaAttribute::REQUIRED flag set,
the value can be `VOID`.
Not every implementation can detect each condition The value must match the type of the existing property.
If the property does not have the
SchemaAttribute::REQUIRED flag set,
the value can be `VOID`.
Not every implementation can detect each condition Not every implementation can detect each condition Not every implementation can detect each condition Must match the last open call to
XUpdateHandler::modifyProperty().
Not every implementation can detect each condition Not every implementation can detect each condition The current node must be extensible and
a preexisting property (if any) must be
removable in this layer.
The value is a combination of
NodeAttribute flags and may also contain the
SchemaAttribute::REQUIRED flag.
NodeAttribute::MANDATORY need not be set, as dynamic properties always are mandatory in subsequent layers.
@param aType specifies the type of the new property. @throws com::sun::star::configuration::backend::MalformedDataExceptionNot every implementation can detect each condition
@throws com::sun::star::lang::WrappedTargetException if an error occurs processing the event. @see com::sun::star::configuration::backend::SchemaAttribute */ void addOrReplaceProperty( [in] string aName, [in] short aAttributes, [in] type aType ) raises( MalformedDataException, com::sun::star::lang::WrappedTargetException ); /** receives notification that a property having a non-`NULL` value is added to the current node.The current node must be extensible and a preexisting property (if any) must be removable in this layer.
@param aName specifies the name of the new property. @param aAttributes specifies the attributes of the new property.The value is a combination of NodeAttribute flags and may also contain the SchemaAttribute::REQUIRED flag.
NodeAttribute::MANDATORY need not be set, as dynamic properties always are mandatory in subsequent layers.
@param aValue specifies the value of the new property.The value also determines the type. Therefore the value must not be `VOID`.
@throws com::sun::star::configuration::backend::MalformedDataExceptionNot every implementation can detect each condition
@throws com::sun::star::lang::WrappedTargetException if an error occurs processing the event. @see com::sun::star::configuration::backend::SchemaAttribute */ void addOrReplacePropertyWithValue( [in] string aName, [in] short aAttributes, [in] any aValue ) raises( MalformedDataException, com::sun::star::lang::WrappedTargetException ); /** receives notification that a property is dropped from the current node.The current node must be extensible and the property removable.
@param aName specifies the name of the property. @throws com::sun::star::configuration::backend::MalformedDataExceptionNot every implementation can detect each condition
@throws com::sun::star::lang::WrappedTargetException if an error occurs processing the event. */ void removeProperty( [in] string aName ) raises( MalformedDataException, com::sun::star::lang::WrappedTargetException ); }; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */