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_HierarchyDataReadWriteAccess_idl__ 24#define __com_sun_star_ucb_HierarchyDataReadWriteAccess_idl__ 25 26#ifndef __com_sun_star_ucb_HierarchyDataReadAccess_idl__ 27#include <com/sun/star/ucb/HierarchyDataReadAccess.idl> 28#endif 29#ifndef __com_sun_star_container_XNameContainer_idl__ 30#include <com/sun/star/container/XNameContainer.idl> 31#endif 32#ifndef __com_sun_star_lang_XSingleServiceFactory_idl__ 33#include <com/sun/star/lang/XSingleServiceFactory.idl> 34#endif 35#ifndef __com_sun_star_util_XChangesBatch_idl__ 36#include <com/sun/star/util/XChangesBatch.idl> 37#endif 38 39//============================================================================= 40 41module com { module sun { module star { module ucb { 42 43//============================================================================= 44/** provides read and write access to a fragment of the hierarchy data. 45*/ 46published service HierarchyDataReadWriteAccess 47{ 48 //------------------------------------------------------------------------- 49 /** provides read access to a fragment of the hierarchy data 50 */ 51 service HierarchyDataReadAccess; 52 53 //------------------------------------------------------------------------- 54 /** allows adding and removing of hierarchy data nodes, replacing of 55 the value of hierarchy data node members, as well as obtaining the 56 value of hieryrchy data node members. 57 58 <p>Adding and removing must only be supported if the access object 59 points to the "Children" data member of a node or to the root node. 60 It will insert a new node or or remove an existing one. If supported 61 on data nodes, adding must add new data members to the node, removing 62 must remove data members. However, the mandatory data members (Title, 63 TargetURL, Children) must never be removable. 64 65 <p>Replacing and getting values must be supported be every data node. 66 */ 67 interface com::sun::star::container::XNameContainer; 68 69 //------------------------------------------------------------------------- 70 /** gives access to all contents provided by this provider. 71 72 <p><member scope="com::sun::star::lang">XSingleServiceFactory::createInstance</member> 73 will create a new empty hierarchy data node. After it was created 74 it's data members can be filled. Last, the node can be inserted as child 75 of another node using 76 <member scope="com::sun::star::container">XNameContainer::insertByName</member>. 77 78 <p>There are no special arguments that must be supported by 79 <member scope="com::sun::star::lang">XSingleServiceFactory::createInstanceWithArguments</member> 80 */ 81 interface com::sun::star::lang::XSingleServiceFactory; 82 83 //------------------------------------------------------------------------- 84 /** allows managing changes within the hierarchy. 85 86 <p><member scope="com::sun::star::util">XChangesBatch::getPendingChanges</member> 87 reports all changes within the hierarchy that are done through (direct 88 or indirect) descendants of this element. The same set of changes is 89 committed to persistent storage and/or made visible to other objects 90 accessing the same data set, when 91 <member scope="com::sun::star::util">XChangesBatch::commitChanges</member> 92 is invoked. 93 */ 94 interface com::sun::star::util::XChangesBatch; 95}; 96 97//============================================================================= 98 99}; }; }; }; 100 101#endif 102