| /************************************************************** |
| * |
| * 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_embed_FileSystemStorage_idl__ |
| #define __com_sun_star_embed_FileSystemStorage_idl__ |
| |
| #ifndef __com_sun_star_embed_BaseStorage_idl__ |
| #include <com/sun/star/embed/BaseStorage.idl> |
| #endif |
| |
| //============================================================================ |
| |
| module com { module sun { module star { module embed { |
| |
| //============================================================================ |
| /** This is a service that allows to get access to a file system folder using |
| storage hierarchy. |
| */ |
| published service FileSystemStorage |
| { |
| // ----------------------------------------------------------------------- |
| /** This service describes the base functionality of storages. |
| |
| <p> |
| Please see below the description of additional requirements for the |
| file system storage implementation. |
| </p> |
| |
| <dl> |
| <dt>interface <type scope="com::sun::star::lang">XComponent</type> |
| </dt> |
| <dd> |
| <p> |
| A file system storage is created either by |
| <type>StorageFactory</type> or by <type>XStorage</type> |
| interface and is controlled by refcounting. In case |
| refcounting is decreased to zero the storage will be |
| disposed automatically. |
| </p> |
| |
| <p> |
| In case a storage object is disposed the elements |
| ( substorages and substreams ) are not affected. |
| </p> |
| </dd> |
| <dt>interface <type>XStorage</type></dt> |
| <dd> |
| <dl> |
| <dt><method>XStorage::openStorageElement</method></dt> |
| <dd> |
| This method returns <type>FileSystemStorage</type> |
| service implementation. |
| </dd> |
| |
| <dt><method>XStorage::copyLastCommitTo</method></dt> |
| <dd> |
| Since this service implementation supports no transaction |
| this method just creates a copy of the storage in it's |
| current state. |
| </dd> |
| |
| <dt><method>XStorage::copyStorageElementLastCommitTo</method></dt> |
| <dd> |
| Since this service implementation supports no transaction |
| this method just creates a copy of the storage in it's |
| current state. |
| </dd> |
| |
| <dt><method>XStorage::removeStorageElement</method></dt> |
| <dd> |
| If the element is opened and it is a stream element |
| the removing will fail. If the element is opened and |
| it is a storage element, all the contents that can be |
| removed will be removed. |
| </dd> |
| </dl> |
| </dd> |
| <dt>property URL</dt> |
| <dd> |
| This property is not optional for this service. |
| </dd> |
| </dl> |
| |
| */ |
| service BaseStorage; |
| }; |
| |
| //============================================================================ |
| |
| }; }; }; }; |
| |
| #endif |
| |