| /************************************************************** |
| * |
| * 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_packages_PackageFolder_idl__ |
| #define __com_sun_star_packages_PackageFolder_idl__ |
| |
| #ifndef __com_sun_star_container_XNamed_idl__ |
| #include <com/sun/star/container/XNamed.idl> |
| #endif |
| |
| #ifndef __com_sun_star_container_XChild_idl__ |
| #include <com/sun/star/container/XChild.idl> |
| #endif |
| |
| #ifndef __com_sun_star_container_XNameContainer_idl__ |
| #include <com/sun/star/container/XNameContainer.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_XPropertySet_idl__ |
| #include <com/sun/star/beans/XPropertySet.idl> |
| #endif |
| |
| #ifndef __com_sun_star_container_XEnumerationAccess_udl__ |
| #include <com/sun/star/container/XEnumerationAccess.idl> |
| #endif |
| //============================================================================= |
| |
| module com { module sun { module star { module packages { |
| |
| //============================================================================= |
| /** |
| The PackageFolder service represents a single folder or directory within |
| a Package. Instances of this service can only be constructed by an |
| implementation of the Package service and not via the service manager. |
| */ |
| published service PackageFolder |
| { |
| /** |
| This interface is used to get or set the name of the folder. |
| */ |
| interface com::sun::star::container::XNamed; |
| /** |
| The getParent method of XChild will return the PackageFolder that |
| contains this PackageFolder or nothing if this PackageFolder is |
| the root PackageFolder. |
| |
| setParent will move the PackageFolder. |
| */ |
| interface com::sun::star::container::XChild; |
| /** |
| This interface describes all of the PackageFolders and PackageStreams |
| which are contained within this instance of the PackageFolder service. |
| |
| XElementAccess::getElementType returns service PackageStream |
| XNameAccess::getByName returns either a PackageFolder or a PackageStream |
| as a css::uno::Any |
| XNameAccess::getElementNames returns an uno::Sequence of strings containing |
| the names of all children stored in the PackageFolder |
| */ |
| interface com::sun::star::container::XNameContainer; |
| /** |
| This interface will return an implementation of service |
| PackageFolderEnumeration, which represents an iterator over the children |
| of the PackageFolder, or the PackageStreams and PackageFolders contained |
| within this instance of the PackageFolder service. |
| |
| This provides a "snapshot" of the contents of the |
| PackageFolder at the time of construction. It is the responsibility of the |
| caller to ensure that any given member of the enumeration refers to a valid |
| PackageStream or PackageFolder. |
| |
| */ |
| interface com::sun::star::container::XEnumerationAccess; |
| |
| /** |
| This interface provides access to the properties of the package entry. |
| Currently, this only supports one entry which is a string called |
| MediaType. This contains the MIME type of the stream (eg. "text/html"). |
| For PackageFolders, this is always an empty string. |
| */ |
| interface com::sun::star::beans::XPropertySet; |
| }; |
| }; }; }; }; |
| |
| #endif |