summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/embed/StorageFactory.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/embed/StorageFactory.idl')
-rw-r--r--offapi/com/sun/star/embed/StorageFactory.idl126
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
+