diff options
author | Kai Sommerfeld <kso@openoffice.org> | 2001-01-10 12:09:39 +0000 |
---|---|---|
committer | Kai Sommerfeld <kso@openoffice.org> | 2001-01-10 12:09:39 +0000 |
commit | 8210bccac1a031fb5b2d04f5e475f60989a66685 (patch) | |
tree | 3bafb3b3ea6b68971434c983528a8616d181ab8b /offapi | |
parent | e7478a4f6ad74ebfa2a5baa9fea2dd1d55b7c66e (diff) |
#78377# - Initial revision.
Diffstat (limited to 'offapi')
-rw-r--r-- | offapi/com/sun/star/ucb/WebDAVContentProvider.idl | 153 | ||||
-rw-r--r-- | offapi/com/sun/star/ucb/WebDAVDocumentContent.idl | 224 | ||||
-rw-r--r-- | offapi/com/sun/star/ucb/WebDAVFolderContent.idl | 261 |
3 files changed, 638 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ucb/WebDAVContentProvider.idl b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl new file mode 100644 index 000000000000..e68fb7269ac5 --- /dev/null +++ b/offapi/com/sun/star/ucb/WebDAVContentProvider.idl @@ -0,0 +1,153 @@ +/************************************************************************* + * + * $RCSfile: WebDAVContentProvider.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2001-01-10 13:09:39 $ + * + * 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_ucb_WebDAVContentProvider_idl__ +#define __com_sun_star_ucb_WebDAVContentProvider_idl__ + +#ifndef __com_sun_star_ucb_XContentProvider_idl__ +#include <com/sun/star/ucb/XContentProvider.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** The WebDAV Content Provider (DCP) implements a Content Provider + for the Universal Content Broker (UCB). It provides access to WebDAV + and standard HTTP servers. The DCP communicates with the server using + the <a href="www.webdav.org">WebDAV</a> protocol which is an extention + to the HTTP protocol or using the plain HTTP protocol in case the server + is not WebDAV enabled. + + @see com::sun::star::ucb::UniversalContentBroker + @see com::sun::star::ucb::ContentProvider + @see com::sun::star::ucb::Content +*/ +service WebDAVContentProvider +{ + //------------------------------------------------------------------------- + /** provides two types of content: a Folder or Document which corresponds + to a collection or non-collection (nodes and leafs) in WebDAV + respectively. + + <p> + + <b>DCP Contents</b> + <ol> + <li> + A DCP Folder is a container for other DCP Folders or Documents. + + See <type>WebDAVFolderContent</type> + + </li> + <li> + A DCP Document is a container for Document data/content. The + data/content may be anything, a WebDAV server, like an HTTP server, + does not necessarily mandate what type of data/content may be + contained within Documents. The type of data/content is defined by + the MediaType property which is different from the content type + returned from the getContentType method. The MediaType property is + mapped to the equivalent WebDAV property and the WebDAV server + calculates the value. + + See <type>WebDAVDocumentContent</type> + + </li> + </ol> + + <b>URL Scheme for DCP Contents</b> + + Each DCP content has an identifier corresponding to the following + scheme: + + vnd.sun.star.webdav://host:port/<path> + + where <path> is a hierarchical path of the form <name>/.../<name> + where <name> is a string encoded according to the URL conventions. + + It is also possible to use standard HTTP-URLs. In this case the + implementation will determine by itself, if the requested resource + is DAV enabled. + + Examples: + + <ul> + <li> + vnd.sun.star.webdav://localhost/davhome/ ( a DAV collection ) + </li> + <li> + vnd.sun.star.webdav://dav.foo.com/Documents/report.sdw + </li> + <li> + http://dav.foo.com/Documents/report.sdw + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XContentProvider; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl new file mode 100644 index 000000000000..ca2fdb6e5a87 --- /dev/null +++ b/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl @@ -0,0 +1,224 @@ +/************************************************************************* + * + * $RCSfile: WebDAVDocumentContent.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2001-01-10 13:09:39 $ + * + * 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_ucb_WebDAVDocumentContent_idl__ +#define __com_sun_star_ucb_WebDAVDocumentContent_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_ucb_XContent_idl__ +#include <com/sun/star/ucb/XContent.idl> +#endif + +#ifndef __com_sun_star_ucb_XCommandProcessor_idl__ +#include <com/sun/star/ucb/XCommandProcessor.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__ +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyContainer_idl__ +#include <com/sun/star/beans/XPropertyContainer.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#endif + +#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#endif + +#ifndef __com_sun_star_container_XChild_idl__ +#include <com/sun/star/container/XChild.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** A DCP Document is a container for Document data/content. The data/content + may be anything, a WebDAV server, like an HTTP server, does not necessarily + mandate what type of data/content may be contained within Documents. + The type of data/content is defined by the MediaType property which is + different from the content type returned from the getContentType method. + The MediaType property is mapped to the equivalent WebDAV property and + the WebDAV server calculates the value. + + @see com::sun::star::ucb::WebDAVContentProvider + @see com::sun::star::ucb::WebDAVFolderContent +*/ +service WebDAVDocumentContent +{ + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::lang::XComponent; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::ucb::XContent; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created document persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/http-content" ) + </li> + <li> + boolean IsDocument ( read-only, always true ) + </li> + <li> + boolean IsFolder ( read-only, always false ) + </li> + <li> + <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only ) + </li> + <li> + <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only ) + </li> + <li> + string MediaType ( read-only, the MIME type - as delivered by the server ) + </li> + <li> + string Size ( read-only ) + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::beans::XPropertyContainer; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::container::XChild; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ucb/WebDAVFolderContent.idl b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl new file mode 100644 index 000000000000..62670b63d640 --- /dev/null +++ b/offapi/com/sun/star/ucb/WebDAVFolderContent.idl @@ -0,0 +1,261 @@ +/************************************************************************* + * + * $RCSfile: WebDAVFolderContent.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: kso $ $Date: 2001-01-10 13:09:39 $ + * + * 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_ucb_WebDAVFolderContent_idl__ +#define __com_sun_star_ucb_WebDAVFolderContent_idl__ + +#ifndef __com_sun_star_lang_XComponent_idl__ +#include <com/sun/star/lang/XComponent.idl> +#endif + +#ifndef __com_sun_star_ucb_XContent_idl__ +#include <com/sun/star/ucb/XContent.idl> +#endif + +#ifndef __com_sun_star_ucb_XCommandProcessor_idl__ +#include <com/sun/star/ucb/XCommandProcessor.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__ +#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertyContainer_idl__ +#include <com/sun/star/beans/XPropertyContainer.idl> +#endif + +#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ +#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> +#endif + +#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ +#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> +#endif + +#ifndef __com_sun_star_container_XChild_idl__ +#include <com/sun/star/container/XChild.idl> +#endif + +#ifndef __com_sun_star_ucb_XContentCreator_idl__ +#include <com/sun/star/ucb/XContentCreator.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** A DCP Folder is a container for other DCP Folders or Documents. + + @see com::sun::star::ucb::WebDAVContentProvider + @see com::sun::star::ucb::WebDAVDocumentContent +*/ +service WebDAVFolderContent +{ + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::lang::XComponent; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::ucb::XContent; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + + <p> + + <b>Supported Commands</b> + <ul> + <li> + getCommandInfo + </li> + <li> + getPropertySetInfo + </li> + <li> + getPropertyValues + </li> + <li> + setPropertyValues + </li> + <li> + insert ( makes a newly created folder persistent ) + </li> + <li> + delete + </li> + <li> + open + </li> + <li> + transfer ( only transfers from DCP Folders/DCP Documents to other + DCP folders. Source and target must recide on the same server. ) + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" ) + </li> + <li> + boolean IsDocument ( read-only, always false ) + </li> + <li> + boolean IsFolder ( read-only, always true ) + </li> + <li> + <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only ) + </li> + <li> + <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only ) + </li> + <li> + string MediaType + </li> + <li> + string Size ( read-only, always zero ) + </li> + <li> + string Title + </li> + </ul> + + </p> + */ + interface com::sun::star::ucb::XCommandProcessor; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::beans::XPropertiesChangeNotifier; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::beans::XPropertyContainer; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::beans::XPropertySetInfoChangeNotifier; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::ucb::XCommandInfoChangeNotifier; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + */ + interface com::sun::star::container::XChild; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>Content</type>. + + <p> + + A DCP Folder can create other DCP Folders and DCP Documents. To create + a new child of a PCP Folder: + + <ol> + <li> + Let the parent folder create a new content by calling + <method>XContentCreator::createNewContent</method> on it. The content + type to use for new folders is + "application/vnd.sun.star.webdav-collection". To create a new DCP + Document, use the type "application/http-content". + </li> + <li> + Set a title at the new folder / document. ( Let the new child execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). + </li> + <li> + Let the new child ( not the parent! ) execute the command "insert". + This will commit the creation process and persist the newly created + content on the server. For documents, you need to supply the + implementation of an <type scope="com::sun::star::io">XInputStream</type> + with the command's parameters, that provides access to the stream data. + </li> + </ol> + + </p> + */ + interface com::sun::star::ucb::XContentCreator; +}; + +//============================================================================= + +}; }; }; }; + +#endif |