blob: a6e85959d87601940d37a47b3cf078ab8e1087d2 [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_util_XLockable_idl__
#define __com_sun_star_util_XLockable_idl__
#include <com/sun/star/util/NotLockedException.idl>
//==================================================================================================================
module com { module sun { module star { module util {
//==================================================================================================================
/** allows locking a component
<p><code>lock</code> and <code>unlock</code> calls can be nested. However, they must be in
pairs. As long as there has been one more call to <code>lock</code> than to <code>unlock</code>, the
component is considered locked, which is reflected by <member>isLocked</member> returning <TRUE/>.</p>
*/
published interface XLockable
{
/** locks</a> the component
@see unlock
@see isLocked
*/
void lock();
/** unlocks the component
@throws NotLockedException
if the component is not currently locked.
@see lock
@see isLocked
*/
void unlock()
raises ( NotLockedException
);
/** determines whether the component is currently locked.
@see lock
@see unlock
*/
boolean isLocked();
};
//==================================================================================================================
}; }; }; };
//==================================================================================================================
#endif