1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: apiaccessobj.cxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_configmgr.hxx"
34 #include "apiaccessobj.hxx"
36 #include "apiserviceinfo.hxx"
37 #include "confsvccomponent.hxx"
41 //-----------------------------------------------------------------------------
44 //========================================================================
46 //========================================================================
48 const AsciiServiceName c_aUserContainerServices[] =
50 "com.sun.star.configuration.UserAdministration",
51 "com.sun.star.configuration.ConfigurationContainer",
52 "com.sun.star.configuration.ConfigurationUpdateAccess",
53 "com.sun.star.configuration.ConfigurationAccess",
56 const AsciiServiceName c_aContainerServices[] =
58 "com.sun.star.configuration.ConfigurationContainer",
59 "com.sun.star.configuration.ConfigurationUpdateAccess",
60 "com.sun.star.configuration.ConfigurationAccess",
63 const AsciiServiceName c_aUpdateServices[] =
65 "com.sun.star.configuration.ConfigurationUpdateAccess",
66 "com.sun.star.configuration.ConfigurationAccess",
70 const AsciiServiceName c_aAccessServices[] =
72 "com.sun.star.configuration.ConfigurationAccess",
76 const AsciiServiceName c_aNoServices[] =
80 //-----------------------------------------------------------------------------
82 ServiceInfo const aInnerGroupInfoSI =
84 "com.sun.star.configuration.configmgr.OInnerGroupInfoAccess",
87 ServiceInfo const aInnerGroupUpdateSI =
89 "com.sun.star.configuration.configmgr.OInnerGroupUpdateAccess",
92 ServiceInfo const aInnerSetInfoSI =
94 "com.sun.star.configuration.configmgr.OInnerSetInfoAccess",
97 ServiceInfo const aInnerTreeSetSI =
99 "com.sun.star.configuration.configmgr.OInnerTreeSetUpdateAccess",
102 ServiceInfo const aInnerValueSetSI =
104 "com.sun.star.configuration.configmgr.OInnerValueSetUpdateAccess",
107 //-----------------------------------------------------------------------------
109 ServiceInfo const aSetElementGroupInfoSI =
111 "com.sun.star.configuration.configmgr.OSetElementGroupInfoAccess",
114 ServiceInfo const aSetElementGroupUpdateSI =
116 "com.sun.star.configuration.configmgr.OSetElementGroupUpdateAccess",
119 ServiceInfo const aSetElementSetInfoSI =
121 "com.sun.star.configuration.configmgr.OSetElementSetInfoAccess",
124 ServiceInfo const aSetElementTreeSetSI =
126 "com.sun.star.configuration.configmgr.OSetElementTreeSetUpdateAccess",
129 ServiceInfo const aSetElementValueSetSI =
131 "com.sun.star.configuration.configmgr.OSetElementValueSetUpdateAccess",
134 //-----------------------------------------------------------------------------
136 ServiceInfo const aRootElementGroupInfoSI =
138 "com.sun.star.configuration.configmgr.ORootElementGroupInfoAccess",
141 ServiceInfo const aRootElementGroupUpdateSI =
143 "com.sun.star.configuration.configmgr.ORootElementGroupUpdateAccess",
146 ServiceInfo const aRootElementSetInfoSI =
148 "com.sun.star.configuration.configmgr.ORootElementSetInfoAccess",
151 ServiceInfo const aRootElementTreeSetUpdateSI =
153 "com.sun.star.configuration.configmgr.ORootElementTreeSetUpdateAccess",
156 ServiceInfo const aRootElementValueSetUpdateSI =
158 "com.sun.star.configuration.configmgr.ORootElementValueSetUpdateAccess",
161 //-----------------------------------------------------------------------------
163 ServiceInfo const aRootElementReadAccessSI =
165 "com.sun.star.configuration.configmgr.ORootElementReadAccess",
168 ServiceInfo const aRootElementUpdateAccessSI =
170 "com.sun.star.configuration.configmgr.ORootElementUpdateAccess",
173 ServiceInfo const aRootElementAdminAccessSI =
175 "com.sun.star.configuration.configmgr.ORootElementUserAdminAccess",
176 c_aUserContainerServices
179 //========================================================================
180 //= service info static members
181 //========================================================================
183 //-----------------------------------------------------------------------------
185 //-----------------------------------------------------------------------------
188 ServiceImplementationInfo
const *
189 const OInnerElement
<NodeGroupInfoAccess
>::s_pServiceInfo
= &aInnerGroupInfoSI
;
192 ServiceImplementationInfo
const *
193 const OInnerElement
<NodeGroupAccess
>::s_pServiceInfo
= &aInnerGroupUpdateSI
;
196 ServiceImplementationInfo
const *
197 const OInnerElement
<NodeSetInfoAccess
>::s_pServiceInfo
= &aInnerSetInfoSI
;
200 ServiceImplementationInfo
const *
201 const OInnerElement
<NodeTreeSetAccess
>::s_pServiceInfo
= &aInnerTreeSetSI
;
204 ServiceImplementationInfo
const *
205 const OInnerElement
<NodeValueSetAccess
>::s_pServiceInfo
= &aInnerValueSetSI
;
208 //-----------------------------------------------------------------------------
210 //-----------------------------------------------------------------------------
213 ServiceImplementationInfo
const *
214 const OSetElement
<NodeGroupInfoAccess
>::s_pServiceInfo
= &aSetElementGroupInfoSI
;
217 ServiceImplementationInfo
const *
218 const OSetElement
<NodeGroupAccess
>::s_pServiceInfo
= &aSetElementGroupUpdateSI
;
221 ServiceImplementationInfo
const *
222 const OSetElement
<NodeSetInfoAccess
>::s_pServiceInfo
= &aSetElementSetInfoSI
;
225 ServiceImplementationInfo
const *
226 const OSetElement
<NodeTreeSetAccess
>::s_pServiceInfo
= &aSetElementTreeSetSI
;
229 ServiceImplementationInfo
const *
230 const OSetElement
<NodeValueSetAccess
>::s_pServiceInfo
= &aSetElementValueSetSI
;
232 //-----------------------------------------------------------------------------
234 //-----------------------------------------------------------------------------
237 ServiceImplementationInfo
const *
238 const OReadRootElement
<NodeGroupInfoAccess
>::s_pServiceInfo
= &aRootElementGroupInfoSI
;
241 ServiceImplementationInfo
const *
242 const OUpdateRootElement
<NodeGroupAccess
>::s_pServiceInfo
= &aRootElementGroupUpdateSI
;
245 ServiceImplementationInfo
const *
246 const OReadRootElement
<NodeSetInfoAccess
>::s_pServiceInfo
= &aRootElementSetInfoSI
;
249 ServiceImplementationInfo
const *
250 const OUpdateRootElement
<NodeTreeSetAccess
>::s_pServiceInfo
= &aRootElementTreeSetUpdateSI
;
253 ServiceImplementationInfo
const *
254 const OUpdateRootElement
<NodeValueSetAccess
>::s_pServiceInfo
= &aRootElementValueSetUpdateSI
;
258 //========================================================================
260 //========================================================================
262 //-----------------------------------------------------------------------------
264 //-----------------------------------------------------------------------------
266 template class OInnerElement<NodeGroupInfoAccess>; // OInnerGroupInfoAccess
267 template class OInnerElement<NodeGroupAccess>; // OInnerGroupUpdateAccess
268 template class OInnerElement<NodeSetInfoAccess>; // OInnerSetInfoAccess
269 template class OInnerElement<NodeTreeSetAccess>; // OInnerTreeSetUpdateAccess
270 template class OInnerElement<NodeValueSetAccess>; // OInnerValueSetUpdateAccess
272 //-----------------------------------------------------------------------------
274 //-----------------------------------------------------------------------------
275 template class OSetElement<NodeGroupInfoAccess>; // OSetElementGroupInfoAccess
276 template class OSetElement<NodeGroupAccess>; // OSetElementGroupUpdateAccess
277 template class OSetElement<NodeSetInfoAccess>; // OSetElementSetInfoAccess
278 template class OSetElement<NodeTreeSetAccess>; // OSetElementTreeSetUpdateAccess
279 template class OSetElement<NodeValueSetAccess>; // OSetElementValueSetUpdateAccess
281 //-----------------------------------------------------------------------------
283 //-----------------------------------------------------------------------------
285 template class OReadRootElement<NodeGroupInfoAccess>; // ORootElementGroupInfoAccess
286 template class OUpdateRootElement<NodeGroupAccess>; // ORootElementGroupUpdateAccess
287 template class OReadRootElement<NodeSetInfoAccess>; // ORootElementSetInfoAccess
288 template class OUpdateRootElement<NodeTreeSetAccess>; // ORootElementTreeSetUpdateAccess
289 template class OUpdateRootElement<NodeValueSetAccess>; // ORootElementValueSetUpdateAccess
291 //-----------------------------------------------------------------------------