1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2/* 3 * This file is part of the LibreOffice project. 4 * 5 * This Source Code Form is subject to the terms of the Mozilla Public 6 * License, v. 2.0. If a copy of the MPL was not distributed with this 7 * file, You can obtain one at http://mozilla.org/MPL/2.0/. 8 * 9 * This file incorporates work covered by the following license notice: 10 * 11 * Licensed to the Apache Software Foundation (ASF) under one or more 12 * contributor license agreements. See the NOTICE file distributed 13 * with this work for additional information regarding copyright 14 * ownership. The ASF licenses this file to you under the Apache 15 * License, Version 2.0 (the "License"); you may not use this file 16 * except in compliance with the License. You may obtain a copy of 17 * the License at http://www.apache.org/licenses/LICENSE-2.0 . 18 */ 19#ifndef __com_sun_star_beans_XFastPropertySet_idl__ 20#define __com_sun_star_beans_XFastPropertySet_idl__ 21 22#include <com/sun/star/uno/XInterface.idl> 23 24#include <com/sun/star/beans/UnknownPropertyException.idl> 25 26#include <com/sun/star/beans/PropertyVetoException.idl> 27 28#include <com/sun/star/lang/IllegalArgumentException.idl> 29 30#include <com/sun/star/lang/WrappedTargetException.idl> 31 32 33 34module com { module sun { module star { module beans { 35 36 37/** provides a fast way of accessing and changing property values. 38 39 <p>This interface is an extension to the XPropertySet 40 interface. The get and set methods use handles to access the 41 property values instead of character strings.</p> 42 */ 43published interface XFastPropertySet: com::sun::star::uno::XInterface 44{ 45 46 /** sets the value to the property with the specified name. 47 48 @param nHandle 49 contains the implementation handle of the 50 implementation for the property. 51 52 @param aValue 53 contains the new value of the property. 54 55 @throws UnknownPropertyException 56 if the property does not exist. 57 58 @throws PropertyVetoException 59 if a vetoable listener does not approve the change of 60 a property value. 61 62 @throws IllegalArgumentException 63 if the new value cannot be converted to the type of the 64 underlying property by an identity or widening conversion. 65 66 @throws com::sun::star::lang::WrappedTargetException 67 if the implementation has an internal reason for the exception. 68 In this case the original exception is wrapped into this 69 com::sun::star::lang::WrappedTargetException. 70 71 */ 72 void setFastPropertyValue( [in] long nHandle, 73 [in] any aValue ) 74 raises( com::sun::star::beans::UnknownPropertyException, 75 com::sun::star::beans::PropertyVetoException, 76 com::sun::star::lang::IllegalArgumentException, 77 com::sun::star::lang::WrappedTargetException ); 78 79 80 /** @returns 81 the value of the property with the name PropertyName. 82 83 @param nHandle 84 contains the implementation handle of the implementation for the property. 85 86 @throws UnknownPropertyException 87 if the property does not exist. 88 89 @throws com::sun::star::lang::WrappedTargetException 90 if the implementation has an internal reason for the exception. 91 In this case the original exception is wrapped into that 92 com::sun::star::lang::WrappedTargetException. 93 */ 94 any getFastPropertyValue( [in] long nHandle ) 95 raises( com::sun::star::beans::UnknownPropertyException, 96 com::sun::star::lang::WrappedTargetException ); 97 98}; 99 100 101}; }; }; }; 102 103#endif 104 105/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 106