diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-10-27 12:23:53 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-10-27 12:23:53 +0200 |
commit | e30a9f02265ad280d358a43e7030f74d9559005b (patch) | |
tree | 59aa2cdba9f53a1e75accb4e524f70a8e5cfcd76 /offapi/com/sun/star/util | |
parent | 0075f75fa084a50e9a3041cffed48c331bda5266 (diff) |
undoapi: outsourced locking functionality into a dedicated interface
Diffstat (limited to 'offapi/com/sun/star/util')
-rwxr-xr-x | offapi/com/sun/star/util/NotLockedException.idl | 50 | ||||
-rwxr-xr-x | offapi/com/sun/star/util/XLockable.idl | 79 | ||||
-rw-r--r-- | offapi/com/sun/star/util/makefile.mk | 2 |
3 files changed, 131 insertions, 0 deletions
diff --git a/offapi/com/sun/star/util/NotLockedException.idl b/offapi/com/sun/star/util/NotLockedException.idl new file mode 100755 index 000000000..a8865c25b --- /dev/null +++ b/offapi/com/sun/star/util/NotLockedException.idl @@ -0,0 +1,50 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_util_NotLockedException_idl__ +#define __com_sun_star_util_NotLockedException_idl__ + +#include <com/sun/star/util/InvalidStateException.idl> + +//================================================================================================================== + +module com { module sun { module star { module util { + +//================================================================================================================== + +/** is raised when attempt is made to unlock a lockable component which actually is not locked. + */ +exception NotLockedException : ::com::sun::star::util::InvalidStateException +{ +}; + +//================================================================================================================== + +}; }; }; }; + +//================================================================================================================== + +#endif diff --git a/offapi/com/sun/star/util/XLockable.idl b/offapi/com/sun/star/util/XLockable.idl new file mode 100755 index 000000000..5616a42c2 --- /dev/null +++ b/offapi/com/sun/star/util/XLockable.idl @@ -0,0 +1,79 @@ +/************************************************************************* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 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> + */ +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 diff --git a/offapi/com/sun/star/util/makefile.mk b/offapi/com/sun/star/util/makefile.mk index aa0374296..87dc2d078 100644 --- a/offapi/com/sun/star/util/makefile.mk +++ b/offapi/com/sun/star/util/makefile.mk @@ -145,6 +145,8 @@ IDLFILES=\ UriAbbreviation.idl\ XJobManager.idl\ JobManager.idl\ + XLockable.idl\ + NotLockedException.idl\ # ------------------------------------------------------------------ |