/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_ucb_XSimpleFileAccess_idl__ #define __com_sun_star_ucb_XSimpleFileAccess_idl__ #ifndef __com_sun_star_uno_XInterface_idl__ #include #endif #ifndef __com_sun_star_uno_RuntimeException_idl__ #include #endif #ifndef __com_sun_star_uno_Exception_idl__ #include #endif #ifndef __com_sun_star_ucb_CommandAbortedException_idl__ #include #endif #ifndef __com_sun_star_task_XInteractionHandler_idl__ #include #endif #ifndef __com_sun_star_util_DateTime_idl__ #include #endif #ifndef __com_sun_star_io_XOutputStream_idl__ #include #endif #ifndef __com_sun_star_io_XInputStream_idl__ #include #endif #ifndef __com_sun_star_io_XStream_idl__ #include #endif //============================================================================= module com { module sun { module star { module ucb { //============================================================================= /** This is the basic interface to read data from a stream. */ published interface XSimpleFileAccess: com::sun::star::uno::XInterface { //------------------------------------------------------------------------- /** Copies a file @param SourceURL URL of the file to be copied @param DestURL URL of the location the file should be copied to @see move */ void copy( [in] string SourceURL, [in] string DestURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Moves a file @param SourceURL URL of the file to be moved @param DestURL URL of the location the file should be moved to @see move */ void move( [in] string SourceURL, [in] string DestURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Removes a file. If the URL represents a folder, the folder will be removed, even if it's not empty. @param FileURL File/folder to be removed @see move */ void kill( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Checks if an URL represents a folder @param FileURL URL to be checked @return true, if the given URL represents a folder, otherwise false */ boolean isFolder( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Checks if a file is "read only" @param FileURL URL to be checked @return true, if the given File is "read only", false otherwise */ boolean isReadOnly( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Sets the "read only" of a file according to the boolean parameter, if the actual process has the right to do so. @param bReadOnly true; "read only" flag will be set, false; "read only" flag will be reset */ void setReadOnly( [in] string FileURL, [in] boolean bReadOnly ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Creates a new Folder @param NewFolderURL URL describing the location of the new folder */ void createFolder( [in] string NewFolderURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Returns the size of a file. @param FileURL URL of the file @return Size of the file in bytes */ long getSize( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Returns the content type of a file. @see XContent::getContentType @param FileURL URL of the file @return Content type of the file */ string getContentType( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Returns the last modified date for the file @param FileURL URL of the file @return Last modified date for the file */ ::com::sun::star::util::DateTime getDateTimeModified( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Returns the contents of a folder @param FolderURL URL of the folder @param bIncludeFolders true: Subfolders are included, false: No subfolders @return The content of a folder, each file as one string in a string sequence */ sequence getFolderContents( [in] string FolderURL, [in] boolean bIncludeFolders ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Checks if a file exists @param FileURL URL to be checked @return true, if the File exists, false otherwise */ boolean exists( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Opens file to read @param FileURL File to open @return An XInputStream, if the file can be opened for reading */ com::sun::star::io::XInputStream openFileRead( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Opens file to write. @param FileURL File to open @return An XOutputStream, if the file can be opened for writing @throws UnsupportedDataSinkException, if the file cannot be opened for random write access. Some resources do not allow random write access. To write data for those resources XSimpleFileAccess2::writeFile may be used. */ com::sun::star::io::XOutputStream openFileWrite( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Opens file to read and write @param FileURL File to open @return An XStream, if the file can be opened for reading and writing @throws UnsupportedDataSinkException, if the file cannot be opened for random write access. Some resources do not allow random write access. To write data for those resources XSimpleFileAccess2::writeFile may be used. */ com::sun::star::io::XStream openFileReadWrite( [in] string FileURL ) raises( com::sun::star::ucb::CommandAbortedException, com::sun::star::uno::Exception ); //------------------------------------------------------------------------- /** Sets an interaction handler to be used for further operations.

A default interaction handler is available as service InteractionHandler. The documentation of this service also contains further information about the interaction handler concept.

@see com::sun::star::task::InteractionHandler @param Handler The interaction handler to be set */ void setInteractionHandler( [in] com::sun::star::task::XInteractionHandler Handler ); }; //============================================================================= }; }; }; }; #endif