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 // MARKER(update_precomp.py): autogen include statement, do not remove 29 #include "precompiled_connectivity.hxx" 30 #include <connectivity/virtualdbtools.hxx> 31 #include "parsenode_s.hxx" 32 #include <connectivity/sqlnode.hxx> 33 34 using namespace ::com::sun::star::uno; 35 using namespace ::com::sun::star::util; 36 using namespace ::com::sun::star::beans; 37 using namespace ::com::sun::star::lang; 38 using namespace ::com::sun::star::sdbc; 39 40 //........................................................................ 41 namespace connectivity 42 { 43 //........................................................................ 44 45 //================================================================ 46 //= OSimpleParseNode 47 //================================================================ 48 //---------------------------------------------------------------- 49 OSimpleParseNode::OSimpleParseNode(const OSQLParseNode* _pNode, sal_Bool _bTakeOwnership) 50 :m_pFullNode(_pNode) 51 ,m_bOwner(_bTakeOwnership) 52 { 53 OSL_ENSURE(m_pFullNode, "OSimpleParseNode::OSimpleParseNode: invalid node given!"); 54 } 55 56 //---------------------------------------------------------------- 57 OSimpleParseNode::~OSimpleParseNode() 58 { 59 if (m_bOwner) 60 delete m_pFullNode; 61 } 62 63 //---------------------------------------------------------------- 64 oslInterlockedCount SAL_CALL OSimpleParseNode::acquire() 65 { 66 return ORefBase::acquire(); 67 } 68 69 //---------------------------------------------------------------- 70 oslInterlockedCount SAL_CALL OSimpleParseNode::release() 71 { 72 return ORefBase::release(); 73 } 74 75 //---------------------------------------------------------------- 76 void OSimpleParseNode::parseNodeToStr(::rtl::OUString& _rString, const Reference< XConnection >& _rxConnection,const IParseContext* _pContext) const 77 { 78 m_pFullNode->parseNodeToStr( _rString, _rxConnection, _pContext ); 79 } 80 81 //---------------------------------------------------------------- 82 void OSimpleParseNode::parseNodeToPredicateStr(::rtl::OUString& _rString, const Reference< XConnection >& _rxConnection, 83 const Reference< XNumberFormatter >& _rxFormatter, const Reference< XPropertySet >& _rxField, 84 const Locale& _rIntl, const sal_Char _cDecSeparator,const IParseContext* _pContext) const 85 { 86 m_pFullNode->parseNodeToPredicateStr( _rString, _rxConnection, _rxFormatter, _rxField, _rIntl, _cDecSeparator, _pContext ); 87 } 88 89 //........................................................................ 90 } // namespace connectivity 91 //........................................................................ 92 93 94