| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef DBAUI_CONNECTIONLINEDATA_HXX |
| #define DBAUI_CONNECTIONLINEDATA_HXX |
| |
| #ifndef DBAUI_ENUMTYPES_HXX |
| #include "QEnumTypes.hxx" |
| #endif |
| #ifndef _VOS_REFERNCE_HXX_ |
| #include <vos/refernce.hxx> |
| #endif |
| #include <vector> |
| |
| #ifndef _VOS_REF_HXX_ |
| #include <vos/ref.hxx> |
| #endif |
| |
| #ifndef DBAUI_REFFUNCTOR_HXX |
| #include "RefFunctor.hxx" |
| #endif |
| #ifndef _RTL_USTRING_HXX_ |
| #include <rtl/ustring.hxx> |
| #endif |
| |
| namespace dbaui |
| { |
| |
| //================================================================== |
| // ConnData ---------->* ConnLineData |
| // ^1 ^1 |
| // | | |
| // Conn ---------->* ConnLine |
| //================================================================== |
| |
| |
| //================================================================== |
| /** |
| the class OConnectionLineData contains the data of a connection |
| e.g. the source and the destanation field |
| **/ |
| class OConnectionLineData : public ::vos::OReference |
| { |
| ::rtl::OUString m_aSourceFieldName; |
| ::rtl::OUString m_aDestFieldName; |
| |
| friend bool operator==(const OConnectionLineData& lhs, const OConnectionLineData& rhs); |
| friend bool operator!=(const OConnectionLineData& lhs, const OConnectionLineData& rhs) { return !(lhs == rhs); } |
| protected: |
| virtual ~OConnectionLineData(); |
| public: |
| OConnectionLineData(); |
| OConnectionLineData( const ::rtl::OUString& rSourceFieldName, const ::rtl::OUString& rDestFieldName ); |
| OConnectionLineData( const OConnectionLineData& rConnLineData ); |
| |
| // eine Kopie der eigenen Instanz liefern (das ist mir irgendwie angenehmer als ein virtueller Zuweisungsoperator) |
| void CopyFrom(const OConnectionLineData& rSource); |
| |
| // Memberzugriff (schreiben) |
| void SetFieldName(EConnectionSide nWhich, const ::rtl::OUString& strFieldName) |
| { |
| if (nWhich==JTCS_FROM) |
| m_aSourceFieldName = strFieldName; |
| else |
| m_aDestFieldName = strFieldName; |
| } |
| void SetSourceFieldName( const ::rtl::OUString& rSourceFieldName){ SetFieldName(JTCS_FROM, rSourceFieldName); } |
| void SetDestFieldName( const ::rtl::OUString& rDestFieldName ){ SetFieldName(JTCS_TO, rDestFieldName); } |
| |
| inline bool clearSourceFieldName() { SetSourceFieldName(::rtl::OUString()); return true;} |
| inline bool clearDestFieldName() { SetDestFieldName(::rtl::OUString()); return true;} |
| |
| // Memberzugriff (lesen) |
| ::rtl::OUString GetFieldName(EConnectionSide nWhich) const { return (nWhich == JTCS_FROM) ? m_aSourceFieldName : m_aDestFieldName; } |
| ::rtl::OUString GetSourceFieldName() const { return GetFieldName(JTCS_FROM); } |
| ::rtl::OUString GetDestFieldName() const { return GetFieldName(JTCS_TO); } |
| |
| bool Reset(); |
| OConnectionLineData& operator=( const OConnectionLineData& rConnLineData ); |
| }; |
| |
| //------------------------------------------------------------------------- |
| //------------------------------------------------------------------ |
| typedef ::vos::ORef< OConnectionLineData > OConnectionLineDataRef; |
| typedef ::std::vector< OConnectionLineDataRef > OConnectionLineDataVec; |
| } |
| #endif // DBAUI_CONNECTIONLINEDATA_HXX |
| |