diff options
author | Kurt Zenker <kz@openoffice.org> | 2003-09-11 09:25:01 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2003-09-11 09:25:01 +0000 |
commit | 28cc36ca08d69603e39f66bcd65be082919c6b4a (patch) | |
tree | 489a288b7ce7f7952c9b64ef2fcfbd36af16dd60 /offapi/com/sun/star/embed/XEmbedPersist.idl | |
parent | b6556d03080b9b1680b35edcf81ef7c9c325d21b (diff) |
INTEGRATION: CWS mav05 (1.1.2); FILE ADDED
2003/09/02 12:13:31 mav 1.1.2.6: #i15929# XModifiable should be used to detect modifiable state
2003/09/02 08:33:44 mav 1.1.2.5: #i15929# the factory can set persistance
2003/08/11 13:43:15 mav 1.1.2.4: #i15929# remove creation part
2003/08/11 12:26:02 mav 1.1.2.3: #i15929# separation creation from initialization
2003/07/03 10:20:32 mav 1.1.2.2: #i15929# use new storage interface
2003/06/23 09:17:51 mav 1.1.2.1: #i15929# #110406# preliminary API for storages and embedded objects
Diffstat (limited to 'offapi/com/sun/star/embed/XEmbedPersist.idl')
-rw-r--r-- | offapi/com/sun/star/embed/XEmbedPersist.idl | 321 |
1 files changed, 321 insertions, 0 deletions
diff --git a/offapi/com/sun/star/embed/XEmbedPersist.idl b/offapi/com/sun/star/embed/XEmbedPersist.idl new file mode 100644 index 000000000000..c7fb526d4ddd --- /dev/null +++ b/offapi/com/sun/star/embed/XEmbedPersist.idl @@ -0,0 +1,321 @@ +/************************************************************************* + * + * $RCSfile: XEmbedPersist.idl,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: kz $ $Date: 2003-09-11 10:25:01 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef __com_sun_star_embed_XEmbedPersist_idl__ +#define __com_sun_star_embed_XEmbedPersist_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif + +#ifndef __com_sun_star_embed_XStorage_idl__ +#include <com/sun/star/embed/XStorage.idl> +#endif + +#ifndef __com_sun_star_io_IOException_idl__ +#include <com/sun/star/io/IOException.idl> +#endif + +#ifndef __com_sun_star_embed_WrongStateException_idl__ +#include <com/sun/star/embed/WrongStateException.idl> +#endif + +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include <com/sun/star/beans/PropertyValue.idl> +#endif + +//============================================================================= + + module com { module sun { module star { module embed { + +//============================================================================= +/** Specifies an implementation for embedded object persistance. +The idea is that any usable embedded object should be initialized +with an entry in the parent storage that will be used as persistent representation. + */ +interface XEmbedPersist: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** Provide object with a parent storage and a name for object's entry + + <p> An entry with the specified name should be created\opened inside provided storage. + It can be a storage or a stream. For example, OOo API will refer to ole storages + only by streams, but the object implementation will use storage based on this stream. + It is also possible to switch object persistant representation through this call. + </p> + + <p> This call can be done _only_ in Loaded state or immediatelly after object creation. + Factory does this call in case it is requested to initialize the object. + </p> + + @param xStorage + a parent storage the entry should be created in + + @param sEntName + a name for the entry + + @param nEntryConnectionMode + a mode in which the object should be initialized from entry + can take values from EntryInitModes constant set + + @param lArguments + optional parameters for the object persistance initialization + see also <type scope="com::sun::star::document">MediaDescriptor</type> + + @thrown ::com::sun::star::lang::IllegalArgumentException + one of arguments is illegal + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state + + @throws com::sun::star::io::IOException + in case of io problems during opening\creation + + @throws com::sun::star::uno::Exception + in case of other problems + */ + void setPersistentEntry( [in] ::com::sun::star::embed::XStorage xStorage, + [in] string sEntName, + [in] long nEntryConnectionMode, + [in] sequence< ::com::sun::star::beans::PropertyValue > lArguments ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::embed::WrongStateException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------- + /** Let the object store itself to it's own entry + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state + + @throws com::sun::star::io::IOException + in case of io problems during saving + + @throws com::sun::star::uno::Exception + in case of other problems + */ + void storeOwn() + raises( ::com::sun::star::embed::WrongStateException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------- + /** Let the object store itself to an entry in destination storage, the own persistence entry is not changed + + @param xStorage + a parent storage the entry should be created inside + + @param sEntName + a name for the entry + + @param lArguments + optional parameters for saving + see also <type scope="com::sun::star::document">MediaDescriptor</type> + + @thrown ::com::sun::star::lang::IllegalArgumentException + one of arguments is illegal + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state + + @throws com::sun::star::io::IOException + in case of io problems during opening\creation + + @throws com::sun::star::uno::Exception + in case of other problems + */ + void storeToEntry( [in] ::com::sun::star::embed::XStorage xStorage, + [in] string sEntName, + [in] sequence< ::com::sun::star::beans::PropertyValue > lArguments ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::embed::WrongStateException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------- + /** Let the object store itself to an entry in destination storage and prepare to use the new entry for own persistence + + <p> The object should be stored to the new entry, after the entry should be remembered by the object. + After the storing process is finished the saveCompleted() method can be used to specify should the + object use the new entry or the old one. The object persistance can not be used until saveCompleted() is called. + So this state can be treated as "HandsOff" state. + <p> + + @param xStorage + a parent storage the entry should be created in + + @param sEntName + a name for the entry + + @param lArguments + optional parameters for saving + see also <type scope="com::sun::star::document">MediaDescriptor</type> + + @thrown ::com::sun::star::lang::IllegalArgumentException + one of arguments is illegal + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state + + @throws com::sun::star::io::IOException + in case of io problems during opening\creation + + @throws com::sun::star::uno::Exception + in case of other problems + */ + void storeAsEntry( [in] ::com::sun::star::embed::XStorage xStorage, + [in] string sEntName, + [in] sequence< ::com::sun::star::beans::PropertyValue > lArguments ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::embed::WrongStateException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + + + //------------------------------------------------------------------------- + /** Specify whether the object should use an old storage or a new one after "save as" procedure. + + @param bUseNew + <TRUE/> the new storage should be used + <FALSE/> the old one + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state + + @throws com::sun::star::uno::Exception + in case of other problems + */ + + void saveCompleted( [in] boolean bUseNew ) + raises( ::com::sun::star::embed::WrongStateException, + ::com::sun::star::uno::Exception ); + + //------------------------------------------------------------------------- + /** Allows to detect if the object has entry. + + @returns + <TRUE/> if the object has own entry set + <FALSE/> otherwise + */ + boolean hasEntry(); + + //------------------------------------------------------------------------- + /** Allows to retrieve the current object entry name. + + @returns + the object entry name if any + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state ( has no entry ) + */ + string getEntryName() + raises( ::com::sun::star::embed::WrongStateException ); + + //------------------------------------------------------------------------- + /** Allows to detect if the data store is read-only. + + @returns + <TRUE/> if the data store is readonly or opened readonly + <FALSE/> otherwise + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state ( has no entry ) + */ + boolean isReadonly() + raises( ::com::sun::star::embed::WrongStateException ); + + //------------------------------------------------------------------------- + /** Let the object reload itself from the persistent entry + + @param lArguments + optional parameters for reloading + see also <type scope="com::sun::star::document">MediaDescriptor</type> + + @thrown ::com::sun::star::lang::IllegalArgumentException + one of arguments is illegal + + @throws com::sun::star::embed::WrongStateException + the object is in wrong state + + @throws com::sun::star::io::IOException + in case of io problems during opening\creation + + @throws com::sun::star::uno::Exception + in case of other problems + */ + void reload( [in] sequence< ::com::sun::star::beans::PropertyValue > lArguments ) + raises( ::com::sun::star::lang::IllegalArgumentException, + ::com::sun::star::embed::WrongStateException, + ::com::sun::star::io::IOException, + ::com::sun::star::uno::Exception ); + +}; + +//============================================================================= + +}; }; }; }; + +#endif + |