LibreOffice Module dbaccess (master) 1
xmlConnectionData.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#include "xmlConnectionData.hxx"
21#include "xmlLogin.hxx"
22#include "xmlfilter.hxx"
23#include <xmloff/xmltoken.hxx>
25#include "xmlEnums.hxx"
28#include <osl/diagnose.h>
29
30namespace dbaxml
31{
32 using namespace ::com::sun::star::uno;
33 using namespace ::com::sun::star::xml::sax;
34
36 SvXMLImportContext( rImport )
37 ,m_bFoundOne(false)
38{
39 rImport.setNewFormat(true);
40}
41
43{
44
45}
46
47css::uno::Reference< css::xml::sax::XFastContextHandler > OXMLConnectionData::createFastChildContext(
48 sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& xAttrList )
49{
50 SvXMLImportContext *pContext = nullptr;
51
52 switch( nElement & TOKEN_MASK )
53 {
54 case XML_LOGIN:
55 GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
56 pContext = new OXMLLogin( GetOwnImport(), xAttrList );
57 break;
59 if ( !m_bFoundOne )
60 {
61 m_bFoundOne = true;
62 GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
63 pContext = new OXMLDatabaseDescription( GetOwnImport() );
64 }
65 break;
67 if ( !m_bFoundOne )
68 {
69 m_bFoundOne = true;
70 GetOwnImport().GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP );
71 pContext = new OXMLConnectionResource( GetOwnImport(), xAttrList );
72 }
73 break;
75 if ( !m_bFoundOne )
76 {
77 m_bFoundOne = true;
78 OSL_FAIL("Not supported yet!");
79 }
80 break;
81 }
82
83 return pContext;
84}
85
87{
88 return static_cast<ODBFilter&>(GetImport());
89}
90
91} // namespace dbaxml
92
93/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SvXMLImport & GetImport()
void setNewFormat(bool _bNewFormat)
Definition: xmlfilter.hxx:116
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext(sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
virtual ~OXMLConnectionData() override
OXMLConnectionData(ODBFilter &rImport)
XML_COMPOUND_DATABASE
XML_LOGIN
XML_CONNECTION_RESOURCE
XML_DATABASE_DESCRIPTION
#define PROGRESS_BAR_STEP
Definition: xmlEnums.hxx:21
constexpr sal_Int32 TOKEN_MASK