00001 // OSB library ************************************************ -*- C++ -*- 00007 /* 00008 AUTHOR(S): Stephan Broennimann (vb) 00009 00010 RCS information 00011 $Name: OSB_060808 $ 00012 $Revision: 1.9 $ 00013 00014 License 00015 OSB rating and billing library for communication networks 00016 Copyright (C) 2004, 2005, 2006 OSB systems 00017 00018 This file may be distributed and/or modify under the terms of the 00019 GNU General Public License (GPL) as published by the Free Software 00020 Foundation which is provided in the file LICENSE.GPL included in the 00021 packaging of this file. 00022 00023 The file is distributed in the hope that it will be useful, but WITHOUT 00024 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00025 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00026 for more details. 00027 00028 Holders of a OSB Commercial License may use this file under the terms 00029 and conditions of this commercial license. 00030 */ 00031 #ifndef _DISTUTILS_H_ 00032 #define _DISTUTILS_H_ 00033 00034 // ************************************************************************ 00035 // included header files 00036 // + standard includes 00037 00038 // + libraries 00039 #include <nwaddress.h> 00040 00041 // + local headers 00042 #include "osbcombos.h" 00043 #include "tautils.h" 00044 00045 // ************************************************************************ 00046 // class declarations 00047 namespace OSB_LIB { 00048 class ConnectionPt; 00049 class E164; 00050 } 00051 00052 // ************************************************************************ 00053 // namespace extensions 00054 namespace OSB_GUI { 00055 00056 // ************************************************************************ 00057 // forward declarations 00058 00059 // ************************************************************************ 00060 // type definitions 00061 00062 // ************************************************************************ 00063 // class definitions 00064 00069 class CpStatusProxy : public ToCfgTsStatusProxy { 00070 public: 00076 explicit CpStatusProxy( 00077 OSB_LIB::ConnectionPt& cp 00078 ); 00079 private: 00081 CpStatusProxy& operator=(const CpStatusProxy&); 00082 public: 00084 OSB_LIB::ToCfgTsBase& toCfgTs(); 00089 void setStatus( 00090 OSB_LIB::CfgStatus newStatus, 00091 OSB_LIB::OsbErrors& errors 00092 ); 00093 // documentation from base 00094 bool setReleaseTs( 00095 const OSB_LIB::DateTime& ts, 00096 OSB_LIB::OsbErrors& errors 00097 ); 00098 private: 00100 OSB_LIB::ConnectionPt& cp_; 00101 }; // class CpStatusProxy 00102 00107 class E164StatusProxy : public ToCfgTsStatusProxy { 00108 public: 00114 explicit E164StatusProxy( 00115 OSB_LIB::E164& e164 00116 ); 00118 E164StatusProxy& operator=(const E164StatusProxy&); 00119 public: 00121 OSB_LIB::ToCfgTsBase& toCfgTs(); 00126 void setStatus( 00127 OSB_LIB::CfgStatus newStatus, 00128 OSB_LIB::OsbErrors& errors 00129 ); 00130 // documentation from base 00131 bool setReleaseTs( 00132 const OSB_LIB::DateTime& ts, 00133 OSB_LIB::OsbErrors& errors 00134 ); 00135 private: 00137 OSB_LIB::E164& e164_; 00138 }; // class E164StatusProxy 00139 00143 class CmbTon 00144 : public ValueCombo< OSB_LIB::NwAddress::Ton > 00145 { 00146 public: 00148 explicit CmbTon( 00149 QWidget* parent, 00150 const char* name = "cmbTon_" 00151 ); 00152 public: 00160 void populate(); 00161 }; // class CmbTon 00162 } // namespace OSB_GUI 00163 00164 // ************************************************************************ 00165 // inline definitions 00166 namespace OSB_GUI { 00167 } // namespace OSB_GUI 00168 #endif // #ifndef _DISTUTILS_H_