1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_ucb_HierarchyRootFolderContent_idl__ 24#define __com_sun_star_ucb_HierarchyRootFolderContent_idl__ 25 26#ifndef __com_sun_star_lang_XComponent_idl__ 27#include <com/sun/star/lang/XComponent.idl> 28#endif 29 30#ifndef __com_sun_star_ucb_XContent_idl__ 31#include <com/sun/star/ucb/XContent.idl> 32#endif 33 34#ifndef __com_sun_star_ucb_XCommandProcessor_idl__ 35#include <com/sun/star/ucb/XCommandProcessor.idl> 36#endif 37 38#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__ 39#include <com/sun/star/ucb/XCommandProcessor2.idl> 40#endif 41 42#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__ 43#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> 44#endif 45 46#ifndef __com_sun_star_beans_XPropertyContainer_idl__ 47#include <com/sun/star/beans/XPropertyContainer.idl> 48#endif 49 50#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ 51#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> 52#endif 53 54#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ 55#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> 56#endif 57 58#ifndef __com_sun_star_container_XChild_idl__ 59#include <com/sun/star/container/XChild.idl> 60#endif 61 62#ifndef __com_sun_star_ucb_XContentCreator_idl__ 63#include <com/sun/star/ucb/XContentCreator.idl> 64#endif 65 66//============================================================================= 67 68module com { module sun { module star { module ucb { 69 70//============================================================================= 71/** A HCP Root Folder is the root container for all other HCP Folders and HCP 72 Links. 73 74 <p>It always has the URL "vnd.sun.star.hier:/". A HCP Root Folder neither 75 can't be created nor deleted by a UCB client. 76 77 @see com::sun::star::ucb::HierarchyContentProvider 78 @see com::sun::star::ucb::HierarchyFolderContent 79 @see com::sun::star::ucb::HierarchyLinkContent 80*/ 81published service HierarchyRootFolderContent 82{ 83 //------------------------------------------------------------------------- 84 /** This interface is implemented according to the specification of 85 service <type>Content</type>. 86 */ 87 interface com::sun::star::lang::XComponent; 88 89 //------------------------------------------------------------------------- 90 /** This interface is implemented according to the specification of 91 service <type>Content</type>. 92 */ 93 interface com::sun::star::ucb::XContent; 94 95 //------------------------------------------------------------------------- 96 /** This interface is implemented according to the specification of 97 service <type>Content</type>. 98 99 <p> 100 101 <b>Supported Commands</b> 102 <ul> 103 <li> 104 getCommandInfo 105 </li> 106 <li> 107 getPropertySetInfo 108 </li> 109 <li> 110 getPropertyValues 111 </li> 112 <li> 113 setPropertyValues 114 </li> 115 <li> 116 open 117 </li> 118 <li> 119 transfer ( only transfers from one hierarchy folder to another supported ) 120 </li> 121 </ul> 122 123 <b>Supported Properties</b> 124 <ul> 125 <li> 126 string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" ) 127 </li> 128 <li> 129 boolean IsDocument ( read-only, always false ) 130 </li> 131 <li> 132 boolean IsFolder ( read-only, always true ) 133 </li> 134 <li> 135 string Title ( read-only, always an empty string ) 136 </li> 137 </ul> 138 139 </p> 140 */ 141 interface com::sun::star::ucb::XCommandProcessor; 142 143 //------------------------------------------------------------------------- 144 /** is an enhanced version of <type>XCommandProcessor</type> that has an 145 additional method for releasing command identifiers obtained via 146 <member>XCommandProcessor::createCommandIdentifier</member> to avoid 147 resource leaks. For a detailed description of the problem refer to 148 <member>XCommandProcessor2::releaseCommandIdentifier</member>. 149 150 <p>Where many existing <type>Content</type> implementations do not 151 (yet), every new implementation should support this interface. 152 */ 153 [optional] interface com::sun::star::ucb::XCommandProcessor2; 154 155 //------------------------------------------------------------------------- 156 /** This interface is implemented according to the specification of 157 service <type>Content</type>. 158 */ 159 interface com::sun::star::beans::XPropertiesChangeNotifier; 160 161 //------------------------------------------------------------------------- 162 /** This interface is implemented according to the specification of 163 service <type>Content</type>. 164 */ 165 interface com::sun::star::beans::XPropertyContainer; 166 167 //------------------------------------------------------------------------- 168 /** This interface is implemented according to the specification of 169 service <type>Content</type>. 170 */ 171 interface com::sun::star::beans::XPropertySetInfoChangeNotifier; 172 173 //------------------------------------------------------------------------- 174 /** This interface is implemented according to the specification of 175 service <type>Content</type>. 176 */ 177 interface com::sun::star::ucb::XCommandInfoChangeNotifier; 178 179 //------------------------------------------------------------------------- 180 /** This interface is implemented according to the specification of 181 service <type>Content</type>. 182 */ 183 interface com::sun::star::container::XChild; 184 185 //------------------------------------------------------------------------- 186 /** This interface is implemented according to the specification of 187 service <type>Content</type>. 188 189 <p> 190 191 A HCP Root Folder can create HCP Folders and HCP Links. To create 192 a new child of a HCP Root Folder: 193 194 <ol> 195 <li> 196 Let the parent folder create a new content by calling 197 <member>XContentCreator::createNewContent</member> on it. The content 198 type to use for new folders is "application/vnd.sun.star.hier-folder". 199 To create a new link, use the type "application/vnd.sun.star.hier-link". 200 </li> 201 <li> 202 Set a title at the new folder / link. ( Let the new child execute 203 the command "setPropertyValues", which sets at least the property 204 "Title" to a non-empty value ). For a link, you need to set the 205 property "TargetURL" as well to a non-empty value. 206 </li> 207 <li> 208 Let the new child ( not the parent! ) execute the command "insert". 209 This will commit the creation process. 210 </li> 211 </ol> 212 213 </p> 214 */ 215 interface com::sun::star::ucb::XContentCreator; 216}; 217 218//============================================================================= 219 220}; }; }; }; 221 222#endif 223