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
28#ifndef __com_sun_star_configuration_backend_XCompositeLayer_idl__
29#define __com_sun_star_configuration_backend_XCompositeLayer_idl__
30
31#ifndef __com_sun_star_configuration_backend_XLayer_idl__
32#include <com/sun/star/configuration/backend/XLayer.idl>
33#endif
34
35#ifndef __com_sun_star_lang_NullPointerException_idl__
36#include <com/sun/star/lang/NullPointerException.idl>
37#endif
38
39#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
40#include <com/sun/star/lang/IllegalArgumentException.idl>
41#endif
42
43#ifndef __com_sun_star_lang_WrappedTargetException_idl__
44#include <com/sun/star/lang/WrappedTargetException.idl>
45#endif
46
47#ifndef __com_sun_star_configuration_backend_MalformedDataException_idl__
48#include <com/sun/star/configuration/backend/MalformedDataException.idl>
49#endif
50
51//==============================================================================
52
53module com { module sun { module star { module configuration { module backend {
54
55//==============================================================================
56
57/**
58  provides read access to layers that contain sublayers accessible through an
59  additional criterion (for instance the locale they contain data for).
60
61    @since OOo 1.1.2
62  */
63published interface XCompositeLayer : XLayer
64{
65    //--------------------------------------------------------------------------
66
67    /**
68      Returns a list of the criteria that can be used to access the
69      sublayers.
70
71      @return
72            a list supported sublayer identifiers
73
74      @throws com::sun::star::lang::WrappedTargetException
75            if an error occurs in the retrieval of the data.
76      */
77    sequence<string> listSubLayerIds()
78        raises (com::sun::star::lang::WrappedTargetException) ;
79
80    //--------------------------------------------------------------------------
81
82    /**
83      Describes the content of a particular sublayer to
84      an <type>XLayerHandler</type>.
85
86      @param aHandler
87            Handler object that will receive calls
88            describing the contents of the sublayer.
89
90      @param aSubLayerId
91            Identifier of the sublayer to be read.
92            <p> Must be one the identifiers returned by
93                <member>XCompositeLayer::listSubLayerIds()</member>
94            </p>
95
96      @throws com::sun::star::lang::NullPointerException
97              if a <NULL/> handler is passed.
98      @throws com::sun::star::lang::IllegalArgumentException
99              if the identifier is invalid.
100      @throws com::sun::star::lang::WrappedTargetException
101              if an error occurs in the access to or processing of the data.
102      @throws com::sun::star::configuration::backend::MalformedDataException
103              if the data read from the layer is rejected as invalid by the
104              <type>XLayerHandler</type>.
105      */
106    void readSubLayerData([in] XLayerHandler aHandler, [in] string aSubLayerId)
107        raises (com::sun::star::lang::NullPointerException,
108                com::sun::star::lang::IllegalArgumentException,
109                com::sun::star::lang::WrappedTargetException,
110                MalformedDataException) ;
111
112    //--------------------------------------------------------------------------
113} ;
114
115//==============================================================================
116
117} ; } ; } ; } ; } ;
118#endif
119