1/************************************************************************* 2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * 4 * Copyright 2000, 2010 Oracle and/or its affiliates. 5 * 6 * OpenOffice.org - a multi-platform office productivity suite 7 * 8 * This file is part of OpenOffice.org. 9 * 10 * OpenOffice.org is free software: you can redistribute it and/or modify 11 * it under the terms of the GNU Lesser General Public License version 3 12 * only, as published by the Free Software Foundation. 13 * 14 * OpenOffice.org is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU Lesser General Public License version 3 for more details 18 * (a copy is included in the LICENSE file that accompanied this code). 19 * 20 * You should have received a copy of the GNU Lesser General Public License 21 * version 3 along with OpenOffice.org. If not, see 22 * <http://www.openoffice.org/license.html> 23 * for a copy of the LGPLv3 License. 24 * 25 ************************************************************************/ 26 27#ifndef __com_sun_star_util_XLockable_idl__ 28#define __com_sun_star_util_XLockable_idl__ 29 30#include <com/sun/star/util/NotLockedException.idl> 31 32//================================================================================================================== 33 34module com { module sun { module star { module util { 35 36//================================================================================================================== 37 38/** allows locking a component 39 40 <p><code>lock</code> and <code>unlock</code> calls can be nested. However, they must be in 41 pairs. As long as there has been one more call to <code>lock</code> than to <code>unlock</code>, the 42 component is considered locked, which is reflected by <member>isLocked</member> returning <TRUE/>.</p> 43 */ 44published interface XLockable 45{ 46 /** locks</a> the component 47 48 @see unlock 49 @see isLocked 50 */ 51 void lock(); 52 53 /** unlocks the component 54 55 @throws NotLockedException 56 if the component is not currently locked. 57 58 @see lock 59 @see isLocked 60 */ 61 void unlock() 62 raises ( NotLockedException 63 ); 64 65 /** determines whether the component is currently locked. 66 67 @see lock 68 @see unlock 69 */ 70 boolean isLocked(); 71}; 72 73//================================================================================================================== 74 75}; }; }; }; 76 77//================================================================================================================== 78 79#endif 80