1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir #ifndef DBAUI_CONNECTIONLINEDATA_HXX 28*cdf0e10cSrcweir #define DBAUI_CONNECTIONLINEDATA_HXX 29*cdf0e10cSrcweir 30*cdf0e10cSrcweir #ifndef DBAUI_ENUMTYPES_HXX 31*cdf0e10cSrcweir #include "QEnumTypes.hxx" 32*cdf0e10cSrcweir #endif 33*cdf0e10cSrcweir #ifndef _VOS_REFERNCE_HXX_ 34*cdf0e10cSrcweir #include <vos/refernce.hxx> 35*cdf0e10cSrcweir #endif 36*cdf0e10cSrcweir #include <vector> 37*cdf0e10cSrcweir 38*cdf0e10cSrcweir #ifndef _VOS_REF_HXX_ 39*cdf0e10cSrcweir #include <vos/ref.hxx> 40*cdf0e10cSrcweir #endif 41*cdf0e10cSrcweir 42*cdf0e10cSrcweir #ifndef DBAUI_REFFUNCTOR_HXX 43*cdf0e10cSrcweir #include "RefFunctor.hxx" 44*cdf0e10cSrcweir #endif 45*cdf0e10cSrcweir #ifndef _RTL_USTRING_HXX_ 46*cdf0e10cSrcweir #include <rtl/ustring.hxx> 47*cdf0e10cSrcweir #endif 48*cdf0e10cSrcweir 49*cdf0e10cSrcweir namespace dbaui 50*cdf0e10cSrcweir { 51*cdf0e10cSrcweir 52*cdf0e10cSrcweir //================================================================== 53*cdf0e10cSrcweir // ConnData ---------->* ConnLineData 54*cdf0e10cSrcweir // ^1 ^1 55*cdf0e10cSrcweir // | | 56*cdf0e10cSrcweir // Conn ---------->* ConnLine 57*cdf0e10cSrcweir //================================================================== 58*cdf0e10cSrcweir 59*cdf0e10cSrcweir 60*cdf0e10cSrcweir //================================================================== 61*cdf0e10cSrcweir /** 62*cdf0e10cSrcweir the class OConnectionLineData contains the data of a connection 63*cdf0e10cSrcweir e.g. the source and the destanation field 64*cdf0e10cSrcweir **/ 65*cdf0e10cSrcweir class OConnectionLineData : public ::vos::OReference 66*cdf0e10cSrcweir { 67*cdf0e10cSrcweir ::rtl::OUString m_aSourceFieldName; 68*cdf0e10cSrcweir ::rtl::OUString m_aDestFieldName; 69*cdf0e10cSrcweir 70*cdf0e10cSrcweir friend bool operator==(const OConnectionLineData& lhs, const OConnectionLineData& rhs); 71*cdf0e10cSrcweir friend bool operator!=(const OConnectionLineData& lhs, const OConnectionLineData& rhs) { return !(lhs == rhs); } 72*cdf0e10cSrcweir protected: 73*cdf0e10cSrcweir virtual ~OConnectionLineData(); 74*cdf0e10cSrcweir public: 75*cdf0e10cSrcweir OConnectionLineData(); 76*cdf0e10cSrcweir OConnectionLineData( const ::rtl::OUString& rSourceFieldName, const ::rtl::OUString& rDestFieldName ); 77*cdf0e10cSrcweir OConnectionLineData( const OConnectionLineData& rConnLineData ); 78*cdf0e10cSrcweir 79*cdf0e10cSrcweir // eine Kopie der eigenen Instanz liefern (das ist mir irgendwie angenehmer als ein virtueller Zuweisungsoperator) 80*cdf0e10cSrcweir void CopyFrom(const OConnectionLineData& rSource); 81*cdf0e10cSrcweir 82*cdf0e10cSrcweir // Memberzugriff (schreiben) 83*cdf0e10cSrcweir void SetFieldName(EConnectionSide nWhich, const ::rtl::OUString& strFieldName) 84*cdf0e10cSrcweir { 85*cdf0e10cSrcweir if (nWhich==JTCS_FROM) 86*cdf0e10cSrcweir m_aSourceFieldName = strFieldName; 87*cdf0e10cSrcweir else 88*cdf0e10cSrcweir m_aDestFieldName = strFieldName; 89*cdf0e10cSrcweir } 90*cdf0e10cSrcweir void SetSourceFieldName( const ::rtl::OUString& rSourceFieldName){ SetFieldName(JTCS_FROM, rSourceFieldName); } 91*cdf0e10cSrcweir void SetDestFieldName( const ::rtl::OUString& rDestFieldName ){ SetFieldName(JTCS_TO, rDestFieldName); } 92*cdf0e10cSrcweir 93*cdf0e10cSrcweir inline bool clearSourceFieldName() { SetSourceFieldName(::rtl::OUString()); return true;} 94*cdf0e10cSrcweir inline bool clearDestFieldName() { SetDestFieldName(::rtl::OUString()); return true;} 95*cdf0e10cSrcweir 96*cdf0e10cSrcweir // Memberzugriff (lesen) 97*cdf0e10cSrcweir ::rtl::OUString GetFieldName(EConnectionSide nWhich) const { return (nWhich == JTCS_FROM) ? m_aSourceFieldName : m_aDestFieldName; } 98*cdf0e10cSrcweir ::rtl::OUString GetSourceFieldName() const { return GetFieldName(JTCS_FROM); } 99*cdf0e10cSrcweir ::rtl::OUString GetDestFieldName() const { return GetFieldName(JTCS_TO); } 100*cdf0e10cSrcweir 101*cdf0e10cSrcweir bool Reset(); 102*cdf0e10cSrcweir OConnectionLineData& operator=( const OConnectionLineData& rConnLineData ); 103*cdf0e10cSrcweir }; 104*cdf0e10cSrcweir 105*cdf0e10cSrcweir //------------------------------------------------------------------------- 106*cdf0e10cSrcweir //------------------------------------------------------------------ 107*cdf0e10cSrcweir typedef ::vos::ORef< OConnectionLineData > OConnectionLineDataRef; 108*cdf0e10cSrcweir typedef ::std::vector< OConnectionLineDataRef > OConnectionLineDataVec; 109*cdf0e10cSrcweir } 110*cdf0e10cSrcweir #endif // DBAUI_CONNECTIONLINEDATA_HXX 111*cdf0e10cSrcweir 112