summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/frame
diff options
context:
space:
mode:
authorAndreas Schlüns <as@openoffice.org>2000-11-20 09:06:11 +0000
committerAndreas Schlüns <as@openoffice.org>2000-11-20 09:06:11 +0000
commit566221fb37b88b6fbaac347a6a1c6458ceccf89f (patch)
tree0105e499e882ac6769d8d377ecaa6339aa999335 /offapi/com/sun/star/frame
parent724a9ebf38dd18f9bef67678c19dd267dca5a13b (diff)
new interfaces for filter and type detection
Diffstat (limited to 'offapi/com/sun/star/frame')
-rw-r--r--offapi/com/sun/star/frame/FrameLoaderFactory.idl117
-rw-r--r--offapi/com/sun/star/frame/SynchronousFrameLoader.idl147
-rw-r--r--offapi/com/sun/star/frame/XSynchronousFrameLoader.idl115
-rw-r--r--offapi/com/sun/star/frame/makefile.mk7
4 files changed, 384 insertions, 2 deletions
diff --git a/offapi/com/sun/star/frame/FrameLoaderFactory.idl b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
new file mode 100644
index 000000000..b631c2e54
--- /dev/null
+++ b/offapi/com/sun/star/frame/FrameLoaderFactory.idl
@@ -0,0 +1,117 @@
+/*************************************************************************
+ *
+ * $RCSfile: FrameLoaderFactory.idl,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: as $ $Date: 2000-11-20 10:06:11 $
+ *
+ * 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_frame_FrameLoaderFactory_idl__
+#define __com_sun_star_frame_FrameLoaderFactory_idl__
+
+#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#endif
+
+#ifndef __com_sun_star_container_XNameAccess_idl__
+#include <com/sun/star/container/XNameAccess.idl>
+#endif
+
+//=============================================================================
+
+module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** factory to create frame loader
+ */
+service FrameLoaderFactory
+{
+ //-------------------------------------------------------------------------
+ /** interface to create the loader
+
+ <p>
+ After a <type>TypeDetection</type> you can use these interface to create the right loader to load
+ the document into a frame. Give us an internal type name and we create a suitable <type>XSynchronousFrameLoader</type>
+ or< type>XFrameLoader</type> and return it at calling XMultiServiceFactory::createInstance...()
+ - casted to XInterface! Please check returned object for his supported interface!
+
+ @attention Method XMultiServiceFactory::getAvailableServiceNames() isn't supported!
+ Please use XNameAcces of these service for access on loader configuration.
+ </p>
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+ //-------------------------------------------------------------------------
+ /** readonly access to loader configuration
+
+ <p>
+ These interface support a readonly access to our internal configuration of all accessible loader.
+ The return value of XNameAccess::getByName() is a sequence<PropertyValue> packed in an Any!
+
+ Supported properties are:
+ name of property value type of property description
+ "Types" [sequence< string > ] loader is registered for these types
+ "UIName" [string ] localized name of loader to show it at UI
+ </p>
+ */
+ interface com::sun::star::container::XNameAccess;
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/SynchronousFrameLoader.idl b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
new file mode 100644
index 000000000..9c312275e
--- /dev/null
+++ b/offapi/com/sun/star/frame/SynchronousFrameLoader.idl
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * $RCSfile: SynchronousFrameLoader.idl,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: as $ $Date: 2000-11-20 10:06:11 $
+ *
+ * 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_frame_SynchronousFrame_idl__
+#define __com_sun_star_frame_SynchronousFrame_idl__
+
+#ifndef __com_sun_star_frame_XSynchronousFrameLoader_idl__
+#include <com/sun/star/frame/XSynchronousFrameLoader.idl>
+#endif
+
+#ifndef __com_sun_star_lang_XInitialization_idl__
+#include <com/sun/star/lang/XInitialization.idl>
+#endif
+
+#ifndef __com_sun_star_beans_XPropertySet_idl__
+#include <com/sun/star/beans/XPropertySet.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+// DocMerge from xml: service com::sun::star::frame::FrameLoader
+/** Derivations of this abstract service are used to load components
+ into <type>Frame</type>s of the environment.
+
+
+
+ <p>Concrete implementations of this service register for example
+ for file name extensions or MIME types to load appropriate
+ components. The components loaded are at least <type>Controller</type>.</p>
+ */
+service FrameLoader
+{
+ //-------------------------------------------------------------------------
+ /** support synchron loading
+ */
+ interface com::sun::star::frame::XSynchronousFrameLoader;
+
+ //-------------------------------------------------------------------------
+ /** support initialization of loader with his own configuration!
+
+ <p>
+ A loader can support a readonly access to his own configuration.
+ But readonly properties couldn't be set ...
+ That's the reason for these interface!
+ All Anys of given sequence are from Type <type>PropertyValue</type>.
+ </p>
+ */
+ [optional] interface com::sun::star::lang::XInitialization;
+
+ //-------------------------------------------------------------------------
+ /** readonly(!) access to loader configuration
+
+ <p>
+ These interface support a readonly access to our internal configuration of THESE loader.
+ The loader himself get his configuration about <type>XInitialization</type> at creation by using
+ the <type>FrameLoaderFactory</type>!
+ </p>
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+ [optional, property, readonly] sequence< string > Types ; /// loader is registered for these types
+ [optional, property, readonly] string UIName ; /// localized name of loader to show it at UI elements
+};
+
+//=============================================================================
+
+}; }; }; };
+
+/*=============================================================================
+
+ $Log: not supported by cvs2svn $
+ Revision 1.3 2000/11/08 12:43:14 mi
+ moved from api
+
+ Revision 1.1.1.1 2000/09/18 23:35:20 hjs
+ initial import
+
+ Revision 1.5 2000/09/11 11:52:28 mi
+ documentation merged from XML
+
+ Revision 1.1 2000/05/25 10:26:18 mi
+ Doku
+
+
+=============================================================================*/
+#endif
diff --git a/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
new file mode 100644
index 000000000..f6cadc471
--- /dev/null
+++ b/offapi/com/sun/star/frame/XSynchronousFrameLoader.idl
@@ -0,0 +1,115 @@
+/*************************************************************************
+ *
+ * $RCSfile: XSynchronousFrameLoader.idl,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: as $ $Date: 2000-11-20 10:06:11 $
+ *
+ * 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_frame_XSynchronousFrameLoader_idl__
+#define __com_sun_star_frame_XSynchronousFrameLoader_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_frame_XFrame_idl__
+#include <com/sun/star/frame/XFrame.idl>
+#endif
+
+#ifndef __com_sun_star_beans_PropertyValue_idl__
+#include <com/sun/star/beans/PropertyValue.idl>
+#endif
+
+//=============================================================================
+
+ module com { module sun { module star { module frame {
+
+//=============================================================================
+
+/** load a resource into a <type>Frame</type>
+
+ <p>
+ Unlike the <type>XFrameLoader</type> interface these loading will be synchronous!
+ </p>
+ */
+
+[ uik(F5869703-E1C8-4f28-ACB07127-228FBEA4), ident( "XSynchronousFrameLoader", 1.0 ) ]
+interface XSynchronousFrameLoader: com::sun::star::uno::XInterface
+{
+ //-------------------------------------------------------------------------
+
+ /** starts the loading of the specified resource into the specified <type>Frame</type>.
+
+ <p>
+ Use a <type>MediaDescriptor</type> to describe the document for loading!
+ We return TRUE if loading successful, FALSE otherwise.
+ </p>
+ */
+ boolean load( [in] sequence< com::sun::star::beans::PropertyValue > aDescriptor ,
+ [in] com::sun::star::frame::XFrame xFrame );
+
+ //-------------------------------------------------------------------------
+
+ /** cancels the loading process.
+ */
+ void cancel();
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/frame/makefile.mk b/offapi/com/sun/star/frame/makefile.mk
index d45f4f741..2b4814000 100644
--- a/offapi/com/sun/star/frame/makefile.mk
+++ b/offapi/com/sun/star/frame/makefile.mk
@@ -2,9 +2,9 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.3 $
+# $Revision: 1.4 $
#
-# last change: $Author: mi $ $Date: 2000-11-08 12:43:14 $
+# last change: $Author: as $ $Date: 2000-11-20 10:06:11 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -85,10 +85,12 @@ IDLFILES=\
FrameActionEvent.idl\
FrameControl.idl\
FrameLoader.idl\
+ FrameLoaderFactory.idl\
FramesContainer.idl\
FrameSearchFlag.idl\
MediaTypeDetectionHelper.idl\
Settings.idl\
+ SynchronousFrameLoader.idl\
TerminationVetoException.idl\
WindowArrange.idl\
XBrowseHistoryRegistry.idl\
@@ -116,6 +118,7 @@ IDLFILES=\
XModel.idl\
XStatusListener.idl\
XStorable.idl\
+ XSynchronousFrameLoader.idl\
XTask.idl\
XTasksSupplier.idl\
XTerminateListener.idl\