1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_ucb_XContentIdentifierMapping_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_ucb_XContentIdentifierMapping_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_uno_XInterface_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/uno/XInterface.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski//============================================================================= 31*b1cdbd2cSJim Jagielski 32*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module ucb { 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski published interface XContent; 35*b1cdbd2cSJim Jagielski published interface XContentIdentifier; 36*b1cdbd2cSJim Jagielski 37*b1cdbd2cSJim Jagielski//============================================================================= 38*b1cdbd2cSJim Jagielski/** A mapping from a (source) set of <type>XContentIdentifier</type>s to 39*b1cdbd2cSJim Jagielski another (target) set of XContentIdentifiers. 40*b1cdbd2cSJim Jagielski 41*b1cdbd2cSJim Jagielski <p>For convenience and performance, mapping between the string 42*b1cdbd2cSJim Jagielski representations of source/target XContentIdentifiers, as well as mapping 43*b1cdbd2cSJim Jagielski between <type>XContent</type>s identified by source/target 44*b1cdbd2cSJim Jagielski XContentIdentifiers is also supported. 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski <p>This interface can be useful in cases where the identifieres (and 47*b1cdbd2cSJim Jagielski associated contents) returned by the various methods of an 48*b1cdbd2cSJim Jagielski <type>XContentAccess</type> need to be mapped to some other space of 49*b1cdbd2cSJim Jagielski identifiers (and associated contents). 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski @see XContent 52*b1cdbd2cSJim Jagielski @see XContentAccess 53*b1cdbd2cSJim Jagielski @see XContentIdentifier 54*b1cdbd2cSJim Jagielski*/ 55*b1cdbd2cSJim Jagielski 56*b1cdbd2cSJim Jagielskipublished interface XContentIdentifierMapping: com::sun::star::uno::XInterface 57*b1cdbd2cSJim Jagielski{ 58*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 59*b1cdbd2cSJim Jagielski /** Map the string representation of an <type>XContentIdentifier</type>. 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski @param Source The string representation of an XContentIdentifier 62*b1cdbd2cSJim Jagielski from the source set. 63*b1cdbd2cSJim Jagielski 64*b1cdbd2cSJim Jagielski @returns The string representation of the target set's 65*b1cdbd2cSJim Jagielski XContentIdentifier corresponding to the source identifier. The 66*b1cdbd2cSJim Jagielski returned string may be empty if either Source was empty already, or if 67*b1cdbd2cSJim Jagielski there's no applicable target to map to. 68*b1cdbd2cSJim Jagielski */ 69*b1cdbd2cSJim Jagielski string mapContentIdentifierString([in] string Source); 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 72*b1cdbd2cSJim Jagielski /** Map an <type>XContentIdentifier</type>. 73*b1cdbd2cSJim Jagielski 74*b1cdbd2cSJim Jagielski @param Source An XContentIdentifier from the source set. 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski @returns The target set's XContentIdentifier corresponding to the 77*b1cdbd2cSJim Jagielski source identifier. The returned XContentIdentifier may be null if 78*b1cdbd2cSJim Jagielski either Source was null already, or if there's no applicable target to 79*b1cdbd2cSJim Jagielski map to. 80*b1cdbd2cSJim Jagielski */ 81*b1cdbd2cSJim Jagielski XContentIdentifier mapContentIdentifier([in] XContentIdentifier Source); 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 84*b1cdbd2cSJim Jagielski /** Map the <type>XContent</type> identified by an 85*b1cdbd2cSJim Jagielski <type>XContentIdentifier</type>. 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski @param Source The XContent identified by an XContentIdentifier from 88*b1cdbd2cSJim Jagielski the source set. 89*b1cdbd2cSJim Jagielski 90*b1cdbd2cSJim Jagielski @returns The XContent identified by the target set's 91*b1cdbd2cSJim Jagielski XContentIdentifier corresponding to the source identifier. The 92*b1cdbd2cSJim Jagielski returned XContent may be null if either Source was null already, or if 93*b1cdbd2cSJim Jagielski there's no applicable target to map to. 94*b1cdbd2cSJim Jagielski */ 95*b1cdbd2cSJim Jagielski XContent mapContent([in] XContent Source); 96*b1cdbd2cSJim Jagielski 97*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 98*b1cdbd2cSJim Jagielski /** Map the content identifiers (or related data) contained in the columns 99*b1cdbd2cSJim Jagielski of a <type scope="com::sun::star::sdbc">XRow</type>. 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski @param Value On input, a sequence of anys corresponding to the columns 102*b1cdbd2cSJim Jagielski of the XRow (the first column goes into the zeroth position of the 103*b1cdbd2cSJim Jagielski sequence, and so on). On output, the same sequence, but with the 104*b1cdbd2cSJim Jagielski entries mapped as necessary. This is an inout parameter rather than a 105*b1cdbd2cSJim Jagielski comination of in parameter and return value for performance reasons 106*b1cdbd2cSJim Jagielski (assuming that in most cases most elements in the input sequence will 107*b1cdbd2cSJim Jagielski be returned unmodified). 108*b1cdbd2cSJim Jagielski 109*b1cdbd2cSJim Jagielski @returns <TRUE/> if any of the columns contain data that (potentially) 110*b1cdbd2cSJim Jagielski needs mapping (though maybe no mapping occured for the concrete input 111*b1cdbd2cSJim Jagielski data of this call). This information can be useful to decide whether, 112*b1cdbd2cSJim Jagielski for another row, a call to this function is at all necessary. 113*b1cdbd2cSJim Jagielski */ 114*b1cdbd2cSJim Jagielski boolean mapRow([inout] sequence< any > Value); 115*b1cdbd2cSJim Jagielski}; 116*b1cdbd2cSJim Jagielski 117*b1cdbd2cSJim Jagielski//============================================================================= 118*b1cdbd2cSJim Jagielski 119*b1cdbd2cSJim Jagielski}; }; }; }; 120*b1cdbd2cSJim Jagielski 121*b1cdbd2cSJim Jagielski#endif 122