blob: c3b4d64ce484578238a0284ff3ab07a98347f448 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_beans_XPropertyContainer_idl__
#define __com_sun_star_beans_XPropertyContainer_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_reflection_XIdlClass_idl__
#include <com/sun/star/reflection/XIdlClass.idl>
#endif
#ifndef __com_sun_star_beans_PropertyExistException_idl__
#include <com/sun/star/beans/PropertyExistException.idl>
#endif
#ifndef __com_sun_star_beans_IllegalTypeException_idl__
#include <com/sun/star/beans/IllegalTypeException.idl>
#endif
#ifndef __com_sun_star_beans_UnknownPropertyException_idl__
#include <com/sun/star/beans/UnknownPropertyException.idl>
#endif
#ifndef __com_sun_star_beans_NotRemoveableException_idl__
#include <com/sun/star/beans/NotRemoveableException.idl>
#endif
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
#include <com/sun/star/lang/IllegalArgumentException.idl>
#endif
//=============================================================================
module com { module sun { module star { module beans {
//=============================================================================
/** makes it possible to add and remove properties to or from an object.
<p>Some scripting engines cannot access properties directly when the
property set is changed. Please use <member>XPropertySet::getPropertyValue</member>
etc. in this case. </p>
*/
published interface XPropertyContainer: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** adds a property to the object.
@param aName
specifies the name of the new property.
@param Attributes
specifies the property attributes, see <type>PropertyAttribute</type>.
@param DefaultValue
specifies the type of the new property and a potential default value.
@throws PropertyExistException
if a property with the same name already exists.
@throws IllegalTypeException
if the specified type is not allowed.
*/
void addProperty( [in] string Name,
[in] short Attributes,
[in] any DefaultValue )
raises( com::sun::star::beans::PropertyExistException,
com::sun::star::beans::IllegalTypeException,
com::sun::star::lang::IllegalArgumentException );
//-------------------------------------------------------------------------
/** removes a property from the object.
@param aName
specified the name of the property.
@throws UnknownPropertyException
if the property does not exist.
*/
void removeProperty( [in] string Name )
raises( com::sun::star::beans::UnknownPropertyException,
com::sun::star::beans::NotRemoveableException );
};
//=============================================================================
}; }; }; };
#endif