diff options
Diffstat (limited to 'offapi/com/sun/star/embed/StorageFactory.idl')
-rw-r--r-- | offapi/com/sun/star/embed/StorageFactory.idl | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/offapi/com/sun/star/embed/StorageFactory.idl b/offapi/com/sun/star/embed/StorageFactory.idl new file mode 100644 index 000000000000..4b4b40d01a4c --- /dev/null +++ b/offapi/com/sun/star/embed/StorageFactory.idl @@ -0,0 +1,126 @@ +/************************************************************************* + * + * 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_embed_StorageFactory_idl__ +#define __com_sun_star_embed_StorageFactory_idl__ + +#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__ +#include <com/sun/star/lang/XSingleServiceFactory.idl> +#endif + + +//============================================================================ + + module com { module sun { module star { module embed { + +//============================================================================ +/** The <type>StorageFactory</type> is a service that allows to create + a storage based on either stream or URL. + */ +published service StorageFactory +{ + // ---------------------------------------------------------------------- + /** A storage can be created through this interface. + + <p> + In case + <method scope="com::sun::star::lang">XSingleServiceFactory::createInstance</method> + call is used the result storage will be open in readwrite mode based + on an arbitrary medium. + </p> + + <p> + In case + <method scope="com::sun::star::lang">XSingleServiceFactory::createInstanceWithArguments</method> + call is used a sequence of the following parameters can be used: + </p> + + <dl> + <dt>parameter 1</dt> + <dd> + specifies source of the object, it can be a string + containing URL, an + <type scope="com::sun::star::io">XStream</type> + implementation or + <type scope="com::sun::star::io">XInputStream</type>; + in case of + <type scope="com::sun::star::io">XStream</type> + implementation + the <type scope="com::sun::star::io">XSeekable</type> + interface must be supported. + </dd> + + <dt>parameter 2</dt> + <dd> + specifies mode the storage should be open in, can take + values from <type>ElementModes</type> constant set. + </dd> + + <dt>parameter 3</dt> + <dd> + this paramenter represents + <type scope="com::sun::star::uno">Any</type> + containing a sequence of + <type scope="com::sun::star::beans">PropertyValue</type>.<br> + The parameter can contain entries from + <type scope="com::sun::star::document">MediaDescryptor</type> + to transport some document info during the storage + initialization, it can be for example + <type scope="com::sun::star::task">XInteractionHandler</type> + implementation, password for the storage and repair + package flag.<br> + Additionaly the parameter might contain property with the name + "StorageFormat" that can take values from + <type scope="com::sun::star::embed">StorageFormats</type>. + If the property is not provided a storage of package format + is created. + </dd> + </dl> + + <p> + The parameters are optional, that means that sequence can be empty or + contain only first parameter, or first and second one. In case + no parameters are provided the call works the same way as + <member scope="com::sun::star::lang">XSingleServiceFactory::createInstance</member>. + In case only first parameter is provided, the storage is opened in + readonly mode. + </p> + + <p> + The opened root storage can support read access in addition to + specified one. + </p> + */ + interface ::com::sun::star::lang::XSingleServiceFactory; +}; + +//============================================================================ + +}; }; }; }; + +#endif + |