From 724a9ebf38dd18f9bef67678c19dd267dca5a13b Mon Sep 17 00:00:00 2001 From: Andreas Schlüns Date: Mon, 20 Nov 2000 09:04:31 +0000 Subject: interfaces for new type and filter detection --- offapi/com/sun/star/document/ExportFilter.idl | 144 +++++++++++++++++ offapi/com/sun/star/document/FilterFactory.idl | 126 +++++++++++++++ offapi/com/sun/star/document/ImportFilter.idl | 144 +++++++++++++++++ offapi/com/sun/star/document/MediaDescriptor.idl | 194 +++++++++++++++++++++++ offapi/com/sun/star/document/TypeDetection.idl | 114 +++++++++++++ offapi/com/sun/star/document/XFilter.idl | 107 +++++++++++++ offapi/com/sun/star/document/XTypeDetection.idl | 111 +++++++++++++ offapi/com/sun/star/document/makefile.mk | 11 +- 8 files changed, 949 insertions(+), 2 deletions(-) create mode 100644 offapi/com/sun/star/document/ExportFilter.idl create mode 100644 offapi/com/sun/star/document/FilterFactory.idl create mode 100644 offapi/com/sun/star/document/ImportFilter.idl create mode 100644 offapi/com/sun/star/document/MediaDescriptor.idl create mode 100644 offapi/com/sun/star/document/TypeDetection.idl create mode 100644 offapi/com/sun/star/document/XFilter.idl create mode 100644 offapi/com/sun/star/document/XTypeDetection.idl (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/document/ExportFilter.idl b/offapi/com/sun/star/document/ExportFilter.idl new file mode 100644 index 000000000..2f7158cd0 --- /dev/null +++ b/offapi/com/sun/star/document/ExportFilter.idl @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: ExportFilter.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ + * + * 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_document_ExportFilter_idl__ +#define __com_sun_star_document_ExportFilter_idl__ + +#ifndef __com_sun_star_document_XFilter_idl__ +#include +#endif + +#ifndef __com_sun_star_document_XExporter_idl__ +#include +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** filter for exports + */ +service ExportFilter +{ + //------------------------------------------------------------------------- + /** filter interface + +

+ These interface is used to filter a document at saving time. +

+ */ + interface com::sun::star::document::XFilter; + + //------------------------------------------------------------------------- + /** set document for these filter + +

+ The document can used as target of filter output. +

+ */ + interface ::com::sun::star::document::XExporter; + + //------------------------------------------------------------------------- + /** support initialization of filter with his own configuration! +

+ A filter must support a readonly access to his own configuration. + But a readonly properties couldn't be set ... + That's the reason for these interface! + All Anys of given sequence are from Type PropertyValue. +

+ */ + [optional] interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** readonly(!) access to filter configuration + +

+ These interface support a readonly access to our internal configuration of THESE filter. + The filter himself get his configuration about XInitialization at creation by using + the FilterFactory! +

+ */ + interface com::sun::star::beans::XPropertySet; + + [property, readonly] string Type ; /// filter is registered for these type + [property, readonly] string UIName ; /// localized name of filter to show it at UI elements + [property, readonly] string DocumentService ; /// service name which present the document + [property, readonly] string FilterService ; /// service name of these filter implementation + [property, readonly] string Flags ; /// flags to describe the filter + [property, readonly] string UserData ; /// additional informations with private structure! + [property, readonly] string FileFormatVersion ; /// version number of file format + [property, readonly] string TemplateName ; /// name of suitable template +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/FilterFactory.idl b/offapi/com/sun/star/document/FilterFactory.idl new file mode 100644 index 000000000..2f95d38e4 --- /dev/null +++ b/offapi/com/sun/star/document/FilterFactory.idl @@ -0,0 +1,126 @@ +/************************************************************************* + * + * $RCSfile: FilterFactory.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ + * + * 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_document_FilterFactory_idl__ +#define __com_sun_star_document_FilterFactory_idl__ + +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include +#endif + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** factory to create filter objects + */ +service FilterFactory +{ + //------------------------------------------------------------------------- + /** search suitable filter for given internal type name and additional arguments + and create it + +

+ After a TypDetection you have an internal name of a type which present + your document. Call createInstance() or createInstanceWithArguments() with these + informations and we create a suitable filter for you. + It exist two types of filter: ImportFilter and ExportFilter. + A combination of both services in one implementation is possible too. + You can regulate search for filter by giving right arguments - like flags for import/export ... + + @attention Don't use getAvailableServiceNames()! + Please use XNameAccess to get informations about our configuration of accessible filters. +

+ */ + interface com::sun::star::lang::XMultiServiceFactory; + + //------------------------------------------------------------------------- + /** readonly access to filter configuration + +

+ These interface support a readonly access to our internal configuration of all accessible filter. + The return value of XNameAccess::getByName() is a sequence packed in an Any! + + Supported properties are: + name of property value type of property description + "Type" [string ] filter is registered for these type + "UIName" [string ] localized name of filter to show it at the UI + "DocumentService" [string ] service name which present the document + "FilterService" [string ] service name of filter implementation + "Flags" [integer] flags to describe the filter + "UserData" [string ] additional informations with private structure! + "FileFormatVersion" [integer] version number of file format + "TemplateName" [string ] name of suitable template +

+ */ + interface com::sun::star::container::XNameAccess; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/ImportFilter.idl b/offapi/com/sun/star/document/ImportFilter.idl new file mode 100644 index 000000000..2f5094660 --- /dev/null +++ b/offapi/com/sun/star/document/ImportFilter.idl @@ -0,0 +1,144 @@ +/************************************************************************* + * + * $RCSfile: ImportFilter.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ + * + * 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_document_ImportFilter_idl__ +#define __com_sun_star_document_ImportFilter_idl__ + +#ifndef __com_sun_star_document_XFilter_idl__ +#include +#endif + +#ifndef __com_sun_star_document_XImporter_idl__ +#include +#endif + +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include +#endif + +#ifndef __com_sun_star_lang_XInitialization_idl__ +#include +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** filter for imports + */ +service ImportFilter +{ + //------------------------------------------------------------------------- + /** filter interface + +

+ These interface is used to filter a document at loading time. +

+ */ + interface com::sun::star::document::XFilter; + + //------------------------------------------------------------------------- + /** set document for these filter + +

+ The document can used as source of filter input. +

+ */ + interface com::sun::star::document::XImporter; + + //------------------------------------------------------------------------- + /** support initialization of filter with his own configuration! +

+ A filter must support a readonly access to his own configuration. + But a readonly properties couldn't be set ... + That's the reason for these interface! + All Anys of given sequence are from Type PropertyValue. +

+ */ + interface com::sun::star::lang::XInitialization; + + //------------------------------------------------------------------------- + /** readonly(!) access to filter configuration + +

+ These interface support a readonly access to our internal configuration of THESE filter. + The filter himself get his configuration about XInitialization at creation by using + the FilterFactory! +

+ */ + interface com::sun::star::beans::XPropertySet; + + [property, readonly] string Type ; /// filter is registered for these type + [property, readonly] string UIName ; /// localized name of filter to show it at UI elements + [property, readonly] string DocumentService ; /// service name which present the document + [property, readonly] string FilterService ; /// service name of these filter implementation + [property, readonly] string Flags ; /// flags to describe the filter + [property, readonly] string UserData ; /// additional informations with private structure! + [property, readonly] string FileFormatVersion ; /// version number of file format + [property, readonly] string TemplateName ; /// name of suitable template +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/MediaDescriptor.idl b/offapi/com/sun/star/document/MediaDescriptor.idl new file mode 100644 index 000000000..5de576107 --- /dev/null +++ b/offapi/com/sun/star/document/MediaDescriptor.idl @@ -0,0 +1,194 @@ +/************************************************************************* + * + * $RCSfile: MediaDescriptor.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ + * + * 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_document_MediaDescriptor_idl__ +#define __com_sun_star_document_MediaDescriptor_idl__ + +#ifndef __com_sun_star_io_XInputStream_idl__ +#include +#endif + +#ifndef __com_sun_star_awt_Rectangle_idl__ +#include +#endif + +#ifndef __com_sun_star_util_URL_idl__ +#include +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** describes properties of a document + +

This service may be represented by a sequence<PropertyValue>. +

@see struct com::sun::star::beans::PropertyValue + */ +service MediaDescriptor +{ + //------------------------------------------------------------------------- + /** document is a template + */ + [property] boolean AsTemplate; + + //------------------------------------------------------------------------- + /** identifier of used character set + */ + [property] string CharacterSet; + + //------------------------------------------------------------------------- + /** internal filter name + */ + [property] string FilterName; + + //------------------------------------------------------------------------- + /** name of target frame + */ + [property] string FrameName; + + //------------------------------------------------------------------------- + /** load doucment unvisible + */ + [property] boolean Hidden; + + //------------------------------------------------------------------------- + /** content of document + */ + [property] com::sun::star::io::XInputStream InputStream; + + //------------------------------------------------------------------------- + /** mime type + */ + [property] string MediaType; + + //------------------------------------------------------------------------- + /** open a new view for already loaded document + */ + [property] boolean OpenNewView; + + //------------------------------------------------------------------------- + /** position and size of document window + */ + [property] com::sun::star::awt::Rectangle PosSize; + + //------------------------------------------------------------------------- + /** ??? + */ + [property] string PostData; + + //------------------------------------------------------------------------- + /** ??? + */ + [property] string PostString; + + //------------------------------------------------------------------------- + /** show preview + */ + [property] boolean Preview; + + //------------------------------------------------------------------------- + /** open document readonly + */ + [property] boolean ReadOnly; + + //------------------------------------------------------------------------- + /** name of document referrer + */ + [property] string Referer; + + //------------------------------------------------------------------------- + /** ??? + */ + [property] boolean Silent; + + //------------------------------------------------------------------------- + /** name of corresponding template + */ + [property] string TemplateName; + + //------------------------------------------------------------------------- + /** ??? + */ + [property] string TemplateRegionName; + + //------------------------------------------------------------------------- + /** url of document + */ + [property] com::sun::star::util::URL URL;// FileName + + //------------------------------------------------------------------------- + /** storage version + */ + [property] short Version; + + //------------------------------------------------------------------------- + /** ??? + */ + [property] short ViewId; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/TypeDetection.idl b/offapi/com/sun/star/document/TypeDetection.idl new file mode 100644 index 000000000..1022834b4 --- /dev/null +++ b/offapi/com/sun/star/document/TypeDetection.idl @@ -0,0 +1,114 @@ +/************************************************************************* + * + * $RCSfile: TypeDetection.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ + * + * 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_document_TypeDetection_idl__ +#define __com_sun_star_document_TypeDetection_idl__ + +#ifndef __com_sun_star_document_XTypeDetection_idl__ +#include +#endif + +#ifndef __com_sun_star_container_XNameAccess_idl__ +#include +#endif + +//============================================================================= + +module com { module sun { module star { module document { + +//============================================================================= + +/** type detection of a specified ressource (document) + */ +service TypeDetection +{ + //------------------------------------------------------------------------- + /** detect ressource +

+ Use XTypeDetection interface to get information about type of given document. +

+ */ + interface com::sun::star::document::XTypeDetection; + + //------------------------------------------------------------------------- + /** readonly access to complete type configuration list + +

+ These interface support a readonly access to our internal configuration of all accessible types. + The return value of XNameAccess::getByName() is a sequence packed in an Any! + + Supported properties are: + name of property value type of property description + "UIName" [string] localized name of type to show it at UI elements + "MediaType" [string] mime type + "ClipboardFormat" [string] name of clipboard format + "URLPattern" [sequence] a list of URl pattern which identify these type + "Extensions" [sequence] a list of file extensions which identify these type + "DocumentIconID" [integer] an ID which present the number of corresponding icon +

+ */ + interface com::sun::star::container::XNameAccess; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XFilter.idl b/offapi/com/sun/star/document/XFilter.idl new file mode 100644 index 000000000..50b5fe71a --- /dev/null +++ b/offapi/com/sun/star/document/XFilter.idl @@ -0,0 +1,107 @@ +/************************************************************************* + * + * $RCSfile: XFilter.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ + * + * 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_document_XFilter_idl__ +#define __com_sun_star_document_XFilter_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include +#endif + +//============================================================================= + + module com { module sun { module star { module document { + +//============================================================================= + +/** interface to filter documents + */ +[ uik(43A2DBCB-7287-4fbc-8C200A58-8939C0BA), ident( "XFilter", 1.0 ) ] +interface XFilter: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** filter the document + +

+ The given MediaDescriptor hold all neccessary informations + about the document. + + @attention Don't hold hard references to these descriptor. You must copy needed informations! + Otherwise we couldn't destroy (for example) an existing input stream! +

+ */ + boolean filter( [in] sequence< com::sun::star::beans::PropertyValue > aDescriptor ); + + //------------------------------------------------------------------------- + /** cancels the loading process. + */ + void cancel(); + +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/XTypeDetection.idl b/offapi/com/sun/star/document/XTypeDetection.idl new file mode 100644 index 000000000..ac19e7e65 --- /dev/null +++ b/offapi/com/sun/star/document/XTypeDetection.idl @@ -0,0 +1,111 @@ +/************************************************************************* + * + * $RCSfile: XTypeDetection.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ + * + * 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_document_XTypeDetection_idl__ +#define __com_sun_star_document_XTypeDetection_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include +#endif + +#ifndef __com_sun_star_beans_PropertyValue_idl__ +#include +#endif + +//============================================================================ + +module com { module sun { module star { module document { + +//============================================================================ + +/** support "flat" and "deep" type detection of a given document. + */ +[ uik(CF5E32C9-253E-4d1b-9A171DB3-512CEB05), ident("XTypeDetection", 1.0) ] +interface XTypeDetection: com::sun::star::uno::XInterface +{ + //------------------------------------------------------------------------- + /** return internal type name which is suitable to given url + +

+ We make a "flat" type detection only. +

+ */ + string queryTypeByURL( [in] string sURL ); + + //------------------------------------------------------------------------- + /** return internal type name which is suitable to given document properties + by an MediaDescriptor + +

+ These do the same like "queryTypeByURL()" before. + As additional feature you can specify more document properties + and select the detection mode. Available modes are "flat" (bDeep=FALSE) + and "deep" (bDeep=TRUE) detection. +

+ */ + string queryTypeByDescriptor( [inout] sequence< com::sun::star::beans::PropertyValue > aDescriptor , + [in] boolean bDeep ); +}; + +//============================================================================ + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/document/makefile.mk b/offapi/com/sun/star/document/makefile.mk index e7d2d1b2e..43938a720 100644 --- a/offapi/com/sun/star/document/makefile.mk +++ b/offapi/com/sun/star/document/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.4 $ +# $Revision: 1.5 $ # -# last change: $Author: os $ $Date: 2000-11-17 11:51:25 $ +# last change: $Author: as $ $Date: 2000-11-20 10:04:31 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -92,6 +92,13 @@ IDLFILES=\ XLinkTargetSupplier.idl\ XStandaloneDocumentInfo.idl\ XEventSupplier.idl\ + XFilter.idl\ + XTypeDetection.idl\ + TypeDetection.idl\ + ImportFilter.idl\ + ExportFilter.idl\ + FilterFactory.idl\ + MediaDescriptor.idl # ------------------------------------------------------------------ -- cgit v1.2.3