diff options
Diffstat (limited to 'connectivity/inc/connectivity/CommonTools.hxx')
-rw-r--r-- | connectivity/inc/connectivity/CommonTools.hxx | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/connectivity/inc/connectivity/CommonTools.hxx b/connectivity/inc/connectivity/CommonTools.hxx deleted file mode 100644 index 494db79b06..0000000000 --- a/connectivity/inc/connectivity/CommonTools.hxx +++ /dev/null @@ -1,220 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _CONNECTIVITY_COMMONTOOLS_HXX_ -#define _CONNECTIVITY_COMMONTOOLS_HXX_ - -#include <rtl/ustring.hxx> -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/uno/Any.hxx> -#ifndef _VECTOR_ -#include <vector> -#endif -#include <cppuhelper/weakref.hxx> -#include <comphelper/stl_types.hxx> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/sdbcx/XColumnsSupplier.hpp> -#include <osl/interlck.h> -#include <jvmaccess/virtualmachine.hxx> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include "connectivity/dbtoolsdllapi.hxx" - -namespace com { namespace sun { namespace star { namespace util { - struct Date; - struct DateTime; - struct Time; -} -}}} - -namespace connectivity -{ - //------------------------------------------------------------------------------ - OOO_DLLPUBLIC_DBTOOLS sal_Bool match(const sal_Unicode* pWild, const sal_Unicode* pStr, const sal_Unicode cEscape); - inline sal_Bool match(const ::rtl::OUString &rWild, const ::rtl::OUString &rStr, const sal_Unicode cEscape) - { - return match(rWild.getStr(), rStr.getStr(), cEscape); - } - //------------------------------------------------------------------------------ - OOO_DLLPUBLIC_DBTOOLS rtl::OUString toString(const ::com::sun::star::uno::Any& rValue); - OOO_DLLPUBLIC_DBTOOLS rtl::OUString toDateString(const ::com::sun::star::util::Date& rDate); - OOO_DLLPUBLIC_DBTOOLS rtl::OUString toTimeString(const ::com::sun::star::util::Time& rTime); - OOO_DLLPUBLIC_DBTOOLS rtl::OUString toDateTimeString(const ::com::sun::star::util::DateTime& rDateTime); - - // typedefs - typedef std::vector< ::com::sun::star::uno::WeakReferenceHelper > OWeakRefArray; - typedef ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XColumnsSupplier> OSQLTable; - - DECLARE_STL_MAP(::rtl::OUString,OSQLTable,comphelper::UStringMixLess, OSQLTables); - - // ------------------------------------------------------------------------- - // class ORefVector allows reference counting on a std::vector - // ------------------------------------------------------------------------- - template< class VectorVal > class ORefVector - { - std::vector< VectorVal > m_vector; - oslInterlockedCount m_refCount; - - protected: - virtual ~ORefVector(){} - public: - typedef std::vector< VectorVal > Vector; - - ORefVector() : m_refCount(0) {} - ORefVector(size_t _st) : m_vector(_st) , m_refCount(0) {} - ORefVector(const ORefVector& _rRH) : m_vector(_rRH.m_vector),m_refCount(0) - { - } - ORefVector& operator=(const ORefVector& _rRH) - { - if ( &_rRH != this ) - { - m_vector = _rRH.m_vector; - } - return *this; - } - - std::vector< VectorVal > & get() { return m_vector; } - std::vector< VectorVal > const & get() const { return m_vector; } - - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - void acquire() - { - osl_incrementInterlockedCount( &m_refCount ); - } - void release() - { - if (! osl_decrementInterlockedCount( &m_refCount )) - delete this; - } - - }; - // ------------------------------------------------------------------------- - // class ORowVector incudes refcounting and initialze himself - // with at least one element. This first element is reserved for - // the bookmark - // ------------------------------------------------------------------------- - template< class VectorVal > class ORowVector : public ORefVector< VectorVal > - { - public: - ORowVector() : ORefVector< VectorVal >(1){} - ORowVector(size_t _st) : ORefVector< VectorVal >(_st+1) - {} - }; - - typedef ORefVector< ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> > OSQLColumns; - - // ======================================================================================= - // search from __first to __last the column with the name _rVal - // when no such column exist __last is returned - OOO_DLLPUBLIC_DBTOOLS - OSQLColumns::Vector::const_iterator find( OSQLColumns::Vector::const_iterator __first, - OSQLColumns::Vector::const_iterator __last, - const ::rtl::OUString& _rVal, - const ::comphelper::UStringMixEqual& _rCase); - // ======================================================================================= - // search from __first to __last the column with the realname _rVal - // when no such column exist __last is returned - OOO_DLLPUBLIC_DBTOOLS - OSQLColumns::Vector::const_iterator findRealName( OSQLColumns::Vector::const_iterator __first, - OSQLColumns::Vector::const_iterator __last, - const ::rtl::OUString& _rVal, - const ::comphelper::UStringMixEqual& _rCase); - - // ======================================================================================= - // the first two find methods are much faster than the one below - // ======================================================================================= - // search from __first to __last the column with the property _rProp equals the value _rVal - // when no such column exist __last is returned - OOO_DLLPUBLIC_DBTOOLS - OSQLColumns::Vector::const_iterator find( OSQLColumns::Vector::const_iterator __first, - OSQLColumns::Vector::const_iterator __last, - const ::rtl::OUString& _rProp, - const ::rtl::OUString& _rVal, - const ::comphelper::UStringMixEqual& _rCase); - - OOO_DLLPUBLIC_DBTOOLS void checkDisposed(sal_Bool _bThrow) throw ( ::com::sun::star::lang::DisposedException ); - - - /** creates a java virtual machine - @param _rxFactory - The ORB. - @return - The JavaVM. - */ - OOO_DLLPUBLIC_DBTOOLS ::rtl::Reference< jvmaccess::VirtualMachine > getJavaVM(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory); - - /** return <TRUE/> if the java class exists, otherwise <FALSE/>. - @param _pJVM - The JavaVM. - @param _sClassName - The class name to look for. - */ - OOO_DLLPUBLIC_DBTOOLS sal_Bool existsJavaClassByName( const ::rtl::Reference< jvmaccess::VirtualMachine >& _pJVM,const ::rtl::OUString& _sClassName ); -} - -//================================================================================== - -#define DECLARE_SERVICE_INFO() \ - virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException); \ - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException); \ - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \ - -#define IMPLEMENT_SERVICE_INFO(classname, implasciiname, serviceasciiname) \ - ::rtl::OUString SAL_CALL classname::getImplementationName( ) throw (::com::sun::star::uno::RuntimeException) \ - { \ - return ::rtl::OUString::createFromAscii(implasciiname); \ - } \ - ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL classname::getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException) \ - { \ - ::com::sun::star::uno::Sequence< ::rtl::OUString > aSupported(1); \ - aSupported[0] = ::rtl::OUString::createFromAscii(serviceasciiname); \ - return aSupported; \ - } \ - sal_Bool SAL_CALL classname::supportsService( const ::rtl::OUString& _rServiceName ) throw(::com::sun::star::uno::RuntimeException) \ - { \ - Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames()); \ - const ::rtl::OUString* pSupported = aSupported.getConstArray(); \ - const ::rtl::OUString* pEnd = pSupported + aSupported.getLength(); \ - for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported) \ - ; \ - \ - return pSupported != pEnd; \ - } \ - -//================================================================================== - -#endif // _CONNECTIVITY_COMMONTOOLS_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |