1*05236b1aSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*05236b1aSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*05236b1aSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*05236b1aSAndrew Rist  * distributed with this work for additional information
6*05236b1aSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*05236b1aSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*05236b1aSAndrew Rist  * "License"); you may not use this file except in compliance
9*05236b1aSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*05236b1aSAndrew Rist  *
11*05236b1aSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*05236b1aSAndrew Rist  *
13*05236b1aSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*05236b1aSAndrew Rist  * software distributed under the License is distributed on an
15*05236b1aSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*05236b1aSAndrew Rist  * KIND, either express or implied.  See the License for the
17*05236b1aSAndrew Rist  * specific language governing permissions and limitations
18*05236b1aSAndrew Rist  * under the License.
19*05236b1aSAndrew Rist  *
20*05236b1aSAndrew Rist  *************************************************************/
21*05236b1aSAndrew Rist 
22*05236b1aSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef XMLSCRIPT_XMLBAS_IMPORT_HXX
25cdf0e10cSrcweir #define XMLSCRIPT_XMLBAS_IMPORT_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include <com/sun/star/xml/sax/XDocumentHandler.hpp>
28cdf0e10cSrcweir #include <com/sun/star/document/XImporter.hpp>
29cdf0e10cSrcweir #include <com/sun/star/frame/XModel.hpp>
30cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
31cdf0e10cSrcweir #ifndef _COM_SUN_STAR_SCRIPT_XLIBRYARYCONTAINER2_HPP_
32cdf0e10cSrcweir #include <com/sun/star/script/XLibraryContainer2.hpp>
33cdf0e10cSrcweir #endif
34cdf0e10cSrcweir #include <com/sun/star/uno/XComponentContext.hpp>
35cdf0e10cSrcweir #include <com/sun/star/xml/input/XRoot.hpp>
36cdf0e10cSrcweir #include <cppuhelper/implbase1.hxx>
37cdf0e10cSrcweir #include <cppuhelper/implbase3.hxx>
38cdf0e10cSrcweir #include <osl/mutex.hxx>
39cdf0e10cSrcweir #include <rtl/ustrbuf.hxx>
40cdf0e10cSrcweir 
41cdf0e10cSrcweir 
42cdf0e10cSrcweir //.........................................................................
43cdf0e10cSrcweir namespace xmlscript
44cdf0e10cSrcweir {
45cdf0e10cSrcweir //.........................................................................
46cdf0e10cSrcweir 
47cdf0e10cSrcweir     // =============================================================================
48cdf0e10cSrcweir     // class BasicElementBase
49cdf0e10cSrcweir     // =============================================================================
50cdf0e10cSrcweir 
51cdf0e10cSrcweir     class BasicImport;
52cdf0e10cSrcweir 
53cdf0e10cSrcweir     typedef ::cppu::WeakImplHelper1<
54cdf0e10cSrcweir         ::com::sun::star::xml::input::XElement > BasicElementBase_BASE;
55cdf0e10cSrcweir 
56cdf0e10cSrcweir     class BasicElementBase : public BasicElementBase_BASE
57cdf0e10cSrcweir     {
58cdf0e10cSrcweir     protected:
59cdf0e10cSrcweir         BasicImport* m_pImport;
60cdf0e10cSrcweir         BasicElementBase* m_pParent;
61cdf0e10cSrcweir         ::rtl::OUString m_aLocalName;
62cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes > m_xAttributes;
63cdf0e10cSrcweir 
64cdf0e10cSrcweir         bool getBoolAttr( sal_Bool* pRet, const ::rtl::OUString& rAttrName,
65cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes,
66cdf0e10cSrcweir             sal_Int32 nUid );
67cdf0e10cSrcweir 
68cdf0e10cSrcweir     public:
69cdf0e10cSrcweir         BasicElementBase( const ::rtl::OUString& rLocalName,
70cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes,
71cdf0e10cSrcweir             BasicElementBase* pParent, BasicImport* pImport );
72cdf0e10cSrcweir         virtual ~BasicElementBase();
73cdf0e10cSrcweir 
74cdf0e10cSrcweir         // XElement
75cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL getParent()
76cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
77cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getLocalName()
78cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
79cdf0e10cSrcweir         virtual sal_Int32 SAL_CALL getUid()
80cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
81cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes > SAL_CALL getAttributes()
82cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
83cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement(
84cdf0e10cSrcweir             sal_Int32 nUid, const ::rtl::OUString& rLocalName,
85cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes )
86cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
87cdf0e10cSrcweir         virtual void SAL_CALL characters( const ::rtl::OUString& rChars )
88cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
89cdf0e10cSrcweir         virtual void SAL_CALL ignorableWhitespace(
90cdf0e10cSrcweir             const ::rtl::OUString& rWhitespaces )
91cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
92cdf0e10cSrcweir         virtual void SAL_CALL processingInstruction(
93cdf0e10cSrcweir             const ::rtl::OUString& rTarget, const ::rtl::OUString& rData )
94cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
95cdf0e10cSrcweir         virtual void SAL_CALL endElement()
96cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
97cdf0e10cSrcweir     };
98cdf0e10cSrcweir 
99cdf0e10cSrcweir 
100cdf0e10cSrcweir     // =============================================================================
101cdf0e10cSrcweir     // class BasicLibrariesElement
102cdf0e10cSrcweir     // =============================================================================
103cdf0e10cSrcweir 
104cdf0e10cSrcweir     class BasicLibrariesElement : public BasicElementBase
105cdf0e10cSrcweir     {
106cdf0e10cSrcweir     private:
107cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 > m_xLibContainer;
108cdf0e10cSrcweir 
109cdf0e10cSrcweir     public:
110cdf0e10cSrcweir         BasicLibrariesElement( const ::rtl::OUString& rLocalName,
111cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes,
112cdf0e10cSrcweir             BasicElementBase* pParent, BasicImport* pImport,
113cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 >& rxLibContainer );
114cdf0e10cSrcweir 
115cdf0e10cSrcweir         // XElement
116cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement(
117cdf0e10cSrcweir             sal_Int32 nUid, const ::rtl::OUString& rLocalName,
118cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes )
119cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
120cdf0e10cSrcweir         virtual void SAL_CALL endElement()
121cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
122cdf0e10cSrcweir     };
123cdf0e10cSrcweir 
124cdf0e10cSrcweir 
125cdf0e10cSrcweir     // =============================================================================
126cdf0e10cSrcweir     // class BasicEmbeddedLibraryElement
127cdf0e10cSrcweir     // =============================================================================
128cdf0e10cSrcweir 
129cdf0e10cSrcweir     class BasicEmbeddedLibraryElement : public BasicElementBase
130cdf0e10cSrcweir     {
131cdf0e10cSrcweir     private:
132cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 > m_xLibContainer;
133cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xLib;
134cdf0e10cSrcweir         ::rtl::OUString m_aLibName;
135cdf0e10cSrcweir         bool m_bReadOnly;
136cdf0e10cSrcweir 
137cdf0e10cSrcweir     public:
138cdf0e10cSrcweir         BasicEmbeddedLibraryElement( const ::rtl::OUString& rLocalName,
139cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes,
140cdf0e10cSrcweir             BasicElementBase* pParent, BasicImport* pImport,
141cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer2 >& rxLibContainer,
142cdf0e10cSrcweir             const ::rtl::OUString& rLibName, bool bReadOnly );
143cdf0e10cSrcweir 
144cdf0e10cSrcweir         // XElement
145cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement(
146cdf0e10cSrcweir             sal_Int32 nUid, const ::rtl::OUString& rLocalName,
147cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes )
148cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
149cdf0e10cSrcweir         virtual void SAL_CALL endElement()
150cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
151cdf0e10cSrcweir     };
152cdf0e10cSrcweir 
153cdf0e10cSrcweir 
154cdf0e10cSrcweir     // =============================================================================
155cdf0e10cSrcweir     // class BasicModuleElement
156cdf0e10cSrcweir     // =============================================================================
157cdf0e10cSrcweir 
158cdf0e10cSrcweir     class BasicModuleElement : public BasicElementBase
159cdf0e10cSrcweir     {
160cdf0e10cSrcweir     private:
161cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xLib;
162cdf0e10cSrcweir         ::rtl::OUString m_aName;
163cdf0e10cSrcweir 
164cdf0e10cSrcweir     public:
165cdf0e10cSrcweir         BasicModuleElement( const ::rtl::OUString& rLocalName,
166cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes,
167cdf0e10cSrcweir             BasicElementBase* pParent, BasicImport* pImport,
168cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& rxLib,
169cdf0e10cSrcweir             const ::rtl::OUString& rName );
170cdf0e10cSrcweir 
171cdf0e10cSrcweir         // XElement
172cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startChildElement(
173cdf0e10cSrcweir             sal_Int32 nUid, const ::rtl::OUString& rLocalName,
174cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes )
175cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
176cdf0e10cSrcweir         virtual void SAL_CALL endElement()
177cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
178cdf0e10cSrcweir     };
179cdf0e10cSrcweir 
180cdf0e10cSrcweir 
181cdf0e10cSrcweir     // =============================================================================
182cdf0e10cSrcweir     // class BasicSourceCodeElement
183cdf0e10cSrcweir     // =============================================================================
184cdf0e10cSrcweir 
185cdf0e10cSrcweir     class BasicSourceCodeElement : public BasicElementBase
186cdf0e10cSrcweir     {
187cdf0e10cSrcweir     private:
188cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xLib;
189cdf0e10cSrcweir         ::rtl::OUString m_aName;
190cdf0e10cSrcweir         ::rtl::OUStringBuffer m_aBuffer;
191cdf0e10cSrcweir 
192cdf0e10cSrcweir     public:
193cdf0e10cSrcweir         BasicSourceCodeElement( const ::rtl::OUString& rLocalName,
194cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes,
195cdf0e10cSrcweir             BasicElementBase* pParent, BasicImport* pImport,
196cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& rxLib,
197cdf0e10cSrcweir             const ::rtl::OUString& rName );
198cdf0e10cSrcweir 
199cdf0e10cSrcweir         // XElement
200cdf0e10cSrcweir         virtual void SAL_CALL characters( const ::rtl::OUString& rChars )
201cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
202cdf0e10cSrcweir         virtual void SAL_CALL endElement()
203cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
204cdf0e10cSrcweir     };
205cdf0e10cSrcweir 
206cdf0e10cSrcweir 
207cdf0e10cSrcweir     // =============================================================================
208cdf0e10cSrcweir     // class BasicImport
209cdf0e10cSrcweir     // =============================================================================
210cdf0e10cSrcweir 
211cdf0e10cSrcweir     typedef ::cppu::WeakImplHelper1<
212cdf0e10cSrcweir         ::com::sun::star::xml::input::XRoot > BasicImport_BASE;
213cdf0e10cSrcweir 
214cdf0e10cSrcweir     class BasicImport : public BasicImport_BASE
215cdf0e10cSrcweir     {
216cdf0e10cSrcweir         friend class BasicElementBase;
217cdf0e10cSrcweir         friend class BasicLibrariesElement;
218cdf0e10cSrcweir         friend class BasicEmbeddedLibraryElement;
219cdf0e10cSrcweir         friend class BasicModuleElement;
220cdf0e10cSrcweir 
221cdf0e10cSrcweir     private:
222cdf0e10cSrcweir         sal_Int32 XMLNS_UID;
223cdf0e10cSrcweir         sal_Int32 XMLNS_XLINK_UID;
224cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel > m_xModel;
225cdf0e10cSrcweir         sal_Bool m_bOasis;
226cdf0e10cSrcweir 
227cdf0e10cSrcweir     public:
228cdf0e10cSrcweir         BasicImport( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& rxModel, sal_Bool bOasis );
229cdf0e10cSrcweir         virtual ~BasicImport();
230cdf0e10cSrcweir 
231cdf0e10cSrcweir         // XRoot
232cdf0e10cSrcweir         virtual void SAL_CALL startDocument(
233cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XNamespaceMapping >& xNamespaceMapping )
234cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
235cdf0e10cSrcweir         virtual void SAL_CALL endDocument()
236cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
237cdf0e10cSrcweir         virtual void SAL_CALL processingInstruction(
238cdf0e10cSrcweir             const ::rtl::OUString& rTarget, const ::rtl::OUString& rData )
239cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
240cdf0e10cSrcweir         virtual void SAL_CALL setDocumentLocator(
241cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator >& xLocator )
242cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
243cdf0e10cSrcweir         virtual ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XElement > SAL_CALL startRootElement(
244cdf0e10cSrcweir             sal_Int32 nUid, const ::rtl::OUString& rLocalName,
245cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::input::XAttributes >& xAttributes )
246cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
247cdf0e10cSrcweir     };
248cdf0e10cSrcweir 
249cdf0e10cSrcweir 
250cdf0e10cSrcweir     // =============================================================================
251cdf0e10cSrcweir     // class XMLBasicImporterBase
252cdf0e10cSrcweir     // =============================================================================
253cdf0e10cSrcweir 
254cdf0e10cSrcweir     typedef ::cppu::WeakImplHelper3<
255cdf0e10cSrcweir         ::com::sun::star::lang::XServiceInfo,
256cdf0e10cSrcweir         ::com::sun::star::document::XImporter,
257cdf0e10cSrcweir         ::com::sun::star::xml::sax::XDocumentHandler > XMLBasicImporterBase_BASE;
258cdf0e10cSrcweir 
259cdf0e10cSrcweir     class XMLBasicImporterBase : public XMLBasicImporterBase_BASE
260cdf0e10cSrcweir     {
261cdf0e10cSrcweir     private:
262cdf0e10cSrcweir         ::osl::Mutex                                                                        m_aMutex;
263cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >        m_xContext;
264cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler >    m_xHandler;
265cdf0e10cSrcweir         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >                 m_xModel;
266cdf0e10cSrcweir         sal_Bool                                                                            m_bOasis;
267cdf0e10cSrcweir 
268cdf0e10cSrcweir     public:
269cdf0e10cSrcweir         XMLBasicImporterBase(
270cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext, sal_Bool bOasis );
271cdf0e10cSrcweir         virtual ~XMLBasicImporterBase();
272cdf0e10cSrcweir 
273cdf0e10cSrcweir         // XServiceInfo
274cdf0e10cSrcweir         virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
275cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
276cdf0e10cSrcweir 
277cdf0e10cSrcweir         // XImporter
278cdf0e10cSrcweir         virtual void SAL_CALL setTargetDocument( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& rxDoc )
279cdf0e10cSrcweir             throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
280cdf0e10cSrcweir 
281cdf0e10cSrcweir         // XDocumentHandler
282cdf0e10cSrcweir         virtual void SAL_CALL startDocument()
283cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
284cdf0e10cSrcweir         virtual void SAL_CALL endDocument()
285cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
286cdf0e10cSrcweir         virtual void SAL_CALL startElement( const ::rtl::OUString& aName,
287cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttribs )
288cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
289cdf0e10cSrcweir         virtual void SAL_CALL endElement( const ::rtl::OUString& aName )
290cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
291cdf0e10cSrcweir         virtual void SAL_CALL characters( const ::rtl::OUString& aChars )
292cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
293cdf0e10cSrcweir         virtual void SAL_CALL ignorableWhitespace( const ::rtl::OUString& aWhitespaces )
294cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
295cdf0e10cSrcweir         virtual void SAL_CALL processingInstruction( const ::rtl::OUString& aTarget, const ::rtl::OUString& aData )
296cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
297cdf0e10cSrcweir         virtual void SAL_CALL setDocumentLocator( const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XLocator >& xLocator )
298cdf0e10cSrcweir             throw (::com::sun::star::xml::sax::SAXException, ::com::sun::star::uno::RuntimeException);
299cdf0e10cSrcweir     };
300cdf0e10cSrcweir 
301cdf0e10cSrcweir 
302cdf0e10cSrcweir     // =============================================================================
303cdf0e10cSrcweir     // class XMLBasicImporter
304cdf0e10cSrcweir     // =============================================================================
305cdf0e10cSrcweir 
306cdf0e10cSrcweir     class XMLBasicImporter : public XMLBasicImporterBase
307cdf0e10cSrcweir     {
308cdf0e10cSrcweir     public:
309cdf0e10cSrcweir         XMLBasicImporter(
310cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext );
311cdf0e10cSrcweir         virtual ~XMLBasicImporter();
312cdf0e10cSrcweir 
313cdf0e10cSrcweir         // XServiceInfo
314cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getImplementationName(  )
315cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
316cdf0e10cSrcweir         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  )
317cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
318cdf0e10cSrcweir     };
319cdf0e10cSrcweir 
320cdf0e10cSrcweir 
321cdf0e10cSrcweir     // =============================================================================
322cdf0e10cSrcweir     // class XMLOasisBasicImporter
323cdf0e10cSrcweir     // =============================================================================
324cdf0e10cSrcweir 
325cdf0e10cSrcweir     class XMLOasisBasicImporter : public XMLBasicImporterBase
326cdf0e10cSrcweir     {
327cdf0e10cSrcweir     public:
328cdf0e10cSrcweir         XMLOasisBasicImporter(
329cdf0e10cSrcweir             const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext );
330cdf0e10cSrcweir         virtual ~XMLOasisBasicImporter();
331cdf0e10cSrcweir 
332cdf0e10cSrcweir         // XServiceInfo
333cdf0e10cSrcweir         virtual ::rtl::OUString SAL_CALL getImplementationName(  )
334cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
335cdf0e10cSrcweir         virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  )
336cdf0e10cSrcweir             throw (::com::sun::star::uno::RuntimeException);
337cdf0e10cSrcweir     };
338cdf0e10cSrcweir 
339cdf0e10cSrcweir //.........................................................................
340cdf0e10cSrcweir }	// namespace xmlscript
341cdf0e10cSrcweir //.........................................................................
342cdf0e10cSrcweir 
343cdf0e10cSrcweir #endif // XMLSCRIPT_XMLBAS_IMPORT_HXX
344