/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * 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 . */ #ifndef __com_sun_star_ucb_XSimpleFileAccess_idl__ #define __com_sun_star_ucb_XSimpleFileAccess_idl__ #include #include #include #include #include #include #include #include #include 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 a 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 FileURL URL of the file @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 com::sun::star::task::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 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */