diff options
-rw-r--r-- | offapi/com/sun/star/ucb/FileContent.idl | 264 | ||||
-rw-r--r-- | offapi/com/sun/star/ucb/FileContentProvider.idl | 141 |
2 files changed, 405 insertions, 0 deletions
diff --git a/offapi/com/sun/star/ucb/FileContent.idl b/offapi/com/sun/star/ucb/FileContent.idl new file mode 100644 index 000000000..28d12e899 --- /dev/null +++ b/offapi/com/sun/star/ucb/FileContent.idl @@ -0,0 +1,264 @@ +/************************************************************************* + * + * $RCSfile: FileContent.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: abi $ $Date: 2001-04-27 09:27:32 $ + * + * 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_FileContent_idl__ +#define __com_sun_star_ucb_FileContent_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_ucb_XContentCreator_idl__ +#include <com/sun/star/ucb/XContentCreator.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 File Content represents either a directory or a file in the local file + system. Exactly which of these two can be determined by requesting property + IsFolder or IsDocument. + + @see com::sun::star::ucb::FileContentProvider +*/ +service FileContent +{ + //------------------------------------------------------------------------- + /** 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> + + An object representing a directory in the file system is able + to create a new object, which in turn can become the representation + of a physical file/directory being contained in the initial directory. + The precise way is the following: + <ol> + <li> + Let the parent folder create a new content by calling + <member>XContentCreator::createNewContent</member> on it. The content + type to use for new directories is + "application/vnd.sun.staroffice.fsys-folder". To create a new file + use the type "application/vnd.sun.staroffice.fsys-file". + As return value you get a new file content object. + </li> + <li> + Set a title at the new object by letting it execute + the command "setPropertyValues", which sets at least the property + "Title" to a non-empty value ). + </li> + <li> + Let the new object ( not the parent! ) execute the command "insert". + This will create the corresponding physical file or directory. + For files, 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; + + //------------------------------------------------------------------------- + /** 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> + <li> + transfer + </li> + </ul> + + <b>Supported Properties</b> + <ul> + <li> + string ContentType ( read-only, either "application/vnd.sun.staroffice.fsys-folder" or "application/vnd.sun.staroffice.fsys-folder" ) + </li> + <li> + boolean IsDocument ( read-only ) + </li> + <li> + boolean IsFolder ( read-only ) + </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> + boolean IsReadOnly + </li> + <li> + hyper Size + </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/FileContentProvider.idl b/offapi/com/sun/star/ucb/FileContentProvider.idl new file mode 100644 index 000000000..9649798ad --- /dev/null +++ b/offapi/com/sun/star/ucb/FileContentProvider.idl @@ -0,0 +1,141 @@ +/************************************************************************* + * + * $RCSfile: FileContentProvider.idl,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: abi $ $Date: 2001-04-27 09:27:32 $ + * + * 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_FileContentProvider_idl__ +#define __com_sun_star_ucb_FileContentProvider_idl__ + +#ifndef __com_sun_star_ucb_XContentProvider_idl__ +#include <com/sun/star/ucb/XContentProvider.idl> +#endif +#ifndef __com_sun_star_ucb_XFileIdentifierConverter_idl__ +#include <com/sun/star/ucb/XFileIdentifierConverter.idl> +#endif +#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__ +#include <com/sun/star/ucb/XContentIdentifierFactory.idl> +#endif +#ifndef __com_sun_star_beans_XPropertySet_idl__ +#include <com/sun/star/beans/XPropertySet.idl> +#endif + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** The File Content Provider (FCP) implements a Content Provider + for the Universal Content Broker (UCB). The served contents enable + access to the local file system. + In addition, it implements a XPropertySet giving two kinds of meta-information + about the environment of the FCP, namely property HostName containing the + name of the computer, and property <type>FileSystemNotation</type> determining which + system dependent notation the file system identifier follow. + The FCP is able to restrict access to the local file system to a number + of directories shown to the client under configurable aliasnames. + + @see com::sun::star::ucb::UniversalContentBroker + @see com::sun::star::ucb::ContentProvider + @see com::sun::star::ucb::Content +*/ +service FileContentProvider +{ + //------------------------------------------------------------------------- + /** provides an object representing either a directory or a file in the local + file system. See <type>FileContent</type>. + */ + + interface com::sun::star::ucb::XContentProvider; + + //------------------------------------------------------------------------- + /** This interface is implemented according to the specification of + service <type>ContentProvider</type>. + */ + + interface com::sun::star::ucb::XContentIdentifierFactory; + + //------------------------------------------------------------------------- + /** + <p> + <b>Supported Properties</b> + <ul> + <li> + string HostName ( read-only ) + </li> + <li> + long FileSystemNotation ( read-only, for allowed values <type>FileSystemNotation</type> ) + </li> + </ul> + </p> + */ + + interface com::sun::star::beans::XPropertySet; + + //------------------------------------------------------------------------- + /** specifies methods to convert between (file) URLs and file paths in system + dependent notation + */ + + interface com::sun::star::ucb::XFileIdentifierConverter; +}; + +//============================================================================= + +}; }; }; }; + +#endif |