1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_ucb_ListActionType_idl__ 28#define __com_sun_star_ucb_ListActionType_idl__ 29 30 31//============================================================================= 32 33module com { module sun { module star { module ucb { 34 35//============================================================================= 36/** These values are used to specify the type of change happened to a list. 37 38 <p>A change happened is sended from an <type>XDynamicResultSet</type> 39 as <type>ListAction</type> to a <type>XDynamicResultSetListener</type>. 40 41 <p>The values are contained in <member>ListAction::ListActionType</member>. 42*/ 43 44published constants ListActionType 45{ 46 //------------------------------------------------------------------------- 47 /** First notification to a single listener for purpose of initialization. 48 49 <p>This type of notification is required to be sended first and only once 50 to a new listener. 51 52 <p>The member <member>ListAction::ActionInfo</member> is required to 53 contain a struct <type>WelcomeDynamicResultSetStruct</type>. 54 This struct contains two 55 <type scope="com::sun::star::sdbc">XResultSet</type>s (old and new). 56 During and after the notification only the new set is valid for access. 57 But the listener is required to remind both 58 <type scope="com::sun::star::sdbc">XResultSet</type>s as he will not get 59 another chance to get them again. 60 61 <p>The members <member>ListAction::Count</member> and 62 <member>ListAction::Position</member> are not used. 63 */ 64 const long WELCOME = 20; 65 66 //------------------------------------------------------------------------- 67 /** One or more rows were inserted into the list. 68 69 <p>This action is related to <member>ContentAction::INSERTED</member>. 70 71 <p>The members <member>ListAction::Count</member> and 72 <member>ListAction::Position</member> contain the position and count of 73 newly inserted rows. If the count is greater than one, the inserted rows 74 have to be one after the other. 75 76 <p> <member>ListAction::ActionInfo</member> could contain something but 77 this is not required. For example, it could contain the properties of 78 the new rows (i.e. for remote optimizing), but this is not required 79 nor unrestrictly recommended. 80 81 <p>@todo ... further description of allowed contents for 82 <member>ListAction::ActionInfo</member> is needed 83 */ 84 const long INSERTED = 21; 85 86 //------------------------------------------------------------------------- 87 /** One or more rows were removed from the list. 88 89 <p>This action is related to <member>ContentAction::REMOVED</member>. 90 91 <p>The members <member>ListAction::Count</member> and 92 <member>ListAction::Position</member> contain the position and count of the 93 removed rows. If the count is greater than one, the removed rows have to be 94 one after the other. 95 96 <p>The member <member>ListAction::ListActionType</member> is not used. 97 */ 98 const long REMOVED = 22; 99 100 101 //------------------------------------------------------------------------- 102 /** The whole list was destroyed and independently rebuild. 103 104 <p>If 'CLEARED' is sended you don't need to refer to the old ResultSet. 105 106 <p>The members <member>ListAction::ListActionType</member>, 107 <member>ListAction::Count</member> and <member>ListAction::Position</member> 108 are ignored. 109 */ 110 const long CLEARED = 23; 111 112 //------------------------------------------------------------------------- 113 /** One or more rows were moved to another position. 114 115 <p>The members <member>ListAction::Count</member> and 116 <member>ListAction::Position</member> contain the position and count of the 117 moved rows. If the count is greater than one, the moved rows have to be 118 one after the other. 119 120 <p><member>ListAction::ListActionType</member> is required to contain a 'long', 121 which gives the shift of position. 122 (i.e. When two rows at position 3 and 4 are moved for a shift '+1', 123 they will appear at the positions 4 and 5. In this action is included, that 124 the row on old position 5 now appears on position 3. 125 No other notification is needed, to explain or complete this action). 126 */ 127 const long MOVED = 24; 128 129 //------------------------------------------------------------------------- 130 /** The properties of one or more rows have changed. 131 132 <p>This action is related to a <type scope="com::sun::star::beans">PropertyChangeEvent</type>. 133 134 <p>The members <member>ListAction::Count</member> and 135 <member>ListAction::Position</member> contain the position and count of the 136 rows, whose properties have changed. If the count is greater than one, the 137 rows with modified properties have to be one after the other. 138 139 <p> <member>ListAction::ActionInfo</member> could contain something but 140 this is not required. For example, it could contain the new properties 141 (i.e. for remote optimizing), but this is not required nor unrestrictly 142 recommended. 143 144 <p>@todo ... further description of allowed contents for 145 <member>ListAction::ActionInfo</member> is needed 146 */ 147 const long PROPERTIES_CHANGED = 25; 148 149 //------------------------------------------------------------------------- 150 /*??????????????????????????? we probably will not need this 151 152 The identity of a row has changed. 153 154 <p>This action is related to <type>ContentAction</type> == EXCHANGED. 155 156 <p>The members <member>ListAction::Count</member> and 157 <member>ListAction::Position</member> contain the position and count of the 158 rows, whose identity have changed. If the count is greater than one, the 159 rows with changed identity have to be one after the other. 160 161 <p><member>ListAction::ListActionType</member> must contain the new identities 162 163 <p>@todo ... 164 165 const long EXCHANGED = 26; 166 */ 167 168 //------------------------------------------------------------------------- 169 /*??????????????????????????? we probably will need this 170 After a completely notified Iteration send 'COMPLETED'. 171 172 <p>This notification is required to be send, to indicate, that now the full 173 result is reached. 174 175 <p>E.g. while a new given list is sorted, some intermediate states are 176 notified. After the last portion of sorting is done and notified you have 177 to send 'COMPLETED'. So a listener has the possibility to wait for 178 'COMPLETED' e.g. to print the full result. ) 179 180 <p>The members <member>ListAction::ListActionType</member>, 181 <member>ListAction::Count</member> and <member>ListAction::Position</member> 182 are useless. 183 */ 184 const long COMPLETED = 27; 185}; 186 187//============================================================================= 188 189}; }; }; }; 190 191#endif 192