merge the formfield patch from ooo-build
[ooovba.git] / configmgr / source / api2 / elementimpl.hxx
blob1fe4e99cfc95967740401da13f561da3353ab2f3
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: elementimpl.hxx,v $
10 * $Revision: 1.6 $
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 #ifndef CONFIGMGR_API_ELEMENTIMPL_HXX_
32 #define CONFIGMGR_API_ELEMENTIMPL_HXX_
34 #include <com/sun/star/container/XChild.hpp>
35 #include <com/sun/star/container/XNamed.hpp>
36 #include <com/sun/star/configuration/XTemplateInstance.hpp>
37 #include <com/sun/star/lang/XLocalizable.hpp>
38 #include <com/sun/star/util/XChangesBatch.hpp>
40 namespace configmgr
42 namespace css = ::com::sun::star;
43 namespace uno = ::com::sun::star::uno;
45 /* implementations of the interfaces supported by a (parent) node
46 within the configuration tree.
47 (read-only operation)
49 namespace configapi
51 //-------------------------------------------------------------------------
52 class NodeAccess;
53 class NodeElement;
54 class InnerElement;
55 class TreeElement;
56 class SetElement;
57 class RootElement;
58 class UpdateRootElement;
59 //-------------------------------------------------------------------------
61 // XComponent and XInterface (EOL handling)
62 //---------------------------------------------------------------------
63 void implDispose( SetElement& rElement)
64 throw(uno::RuntimeException);
66 void implDispose( RootElement& rElement)
67 throw(uno::RuntimeException);
69 void implDisposeObject( NodeAccess& aNode, SetElement& rElement)
70 throw(uno::RuntimeException);
72 void implDisposeObject( NodeAccess& aNode, RootElement& rElement)
73 throw(uno::RuntimeException);
75 void implDisposeObject( NodeAccess& aNode, InnerElement& rElement)
76 throw(uno::RuntimeException);
78 // XTypeProvider
79 //---------------------------------------------------------------------
80 uno::Sequence<sal_Int8> implGetImplementationId(NodeAccess& rNode, NodeElement& rElement ) throw(uno::RuntimeException);
82 // XChild
83 //---------------------------------------------------------------------
84 uno::Reference< uno::XInterface > implGetParent(NodeAccess& rNode, InnerElement& rElement)
85 throw(uno::RuntimeException);
87 uno::Reference< uno::XInterface > implGetParent(NodeAccess& rNode, SetElement& rElement)
88 throw(uno::RuntimeException);
90 void implSetParent(NodeAccess& rNode, InnerElement& rElement, const uno::Reference< uno::XInterface >& Parent ) // generally not supported
91 throw(css::lang::NoSupportException, css::uno::RuntimeException);
93 void implSetParent(NodeAccess& rNode, SetElement& rElement, const uno::Reference< uno::XInterface >& Parent ) // maybe supported
94 throw(css::lang::NoSupportException, css::uno::RuntimeException);
96 // XNamed
97 //---------------------------------------------------------------------
98 rtl::OUString implGetName(NodeAccess& rNode, NodeElement& rElement)
99 throw(uno::RuntimeException);
101 void implSetName(NodeAccess& rNode, NodeElement& rElement, const rtl::OUString& aName ) // generally not supported (! - missing exception)
102 throw(uno::RuntimeException);
104 void implSetName(NodeAccess& rNode, SetElement& rElement, const rtl::OUString& aName ) // maybe supported
105 throw(uno::RuntimeException);
107 // XServiceInfo
108 //---------------------------------------------------------------------
109 rtl::OUString implGetImplementationName( NodeAccess& rNode, NodeElement& rElement )
110 throw(uno::RuntimeException);
112 sal_Bool implSupportsService( NodeAccess& rNode, NodeElement& rElement, const rtl::OUString& ServiceName )
113 throw(uno::RuntimeException);
115 uno::Sequence< rtl::OUString > implGetSupportedServiceNames( NodeAccess& rNode, NodeElement& rElement )
116 throw(uno::RuntimeException);
118 // Root only only
119 //-------------------------------------------------------------------------
121 // XLocalizable
122 //---------------------------------------------------------------------
124 css::lang::Locale implGetLocale( RootElement& rElement )
125 throw(uno::RuntimeException);
127 void implSetLocale( RootElement& rElement, const css::lang::Locale& eLocale )
128 throw(uno::RuntimeException);
130 // XChangesBatch
131 //---------------------------------------------------------------------
133 void implCommitChanges( UpdateRootElement& rElement )
134 throw(css::lang::WrappedTargetException, uno::RuntimeException);
136 sal_Bool implHasPendingChanges( RootElement& rElement )
137 throw(uno::RuntimeException);
139 uno::Sequence< css::util::ElementChange > implGetPendingChanges( RootElement& rElement )
140 throw(uno::RuntimeException);
142 // Set only
143 //-------------------------------------------------------------------------
144 // XTemplateInstance
145 //---------------------------------------------------------------------
146 rtl::OUString implGetTemplateName(SetElement& rElement)
147 throw(uno::RuntimeException);
149 // XUnoTunnel
150 //---------------------------------------------------------------------
151 sal_Int64 implGetSomething(SetElement& rElement, const uno::Sequence< sal_Int8 >& aIdentifier )
152 throw(uno::RuntimeException);
154 //-------------------------------------------------------------------------
158 #endif // CONFIGMGR_API_BASEACCESSIMPL_HXX_