nwaddresstocp.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00014 /*
00015   AUTHOR(S): Stephan Broennimann (vb)
00016 
00017   RCS information
00018    $Name: OSB_060808 $
00019    $Revision: 1.16 $
00020 
00021   License
00022    OSB rating and billing library for communication networks
00023    Copyright (C) 2004, 2005, 2006  OSB systems
00024 
00025    This file may be distributed and/or modify under the terms of the
00026    GNU General Public License (GPL) as published by the Free Software
00027    Foundation which is provided in the file LICENSE.GPL included in the
00028    packaging of this file.
00029 
00030    The file is distributed in the hope that it will be useful, but WITHOUT
00031    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00032    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00033    for more details.
00034 
00035    Holders of a OSB Commercial License may use this file under the terms
00036    and conditions of this commercial license.
00037  */
00038 #ifndef _NWADDRESSTOCP_H_
00039 #define _NWADDRESSTOCP_H_
00040 
00041 // ************************************************************************
00042 // included header files
00043 // + standard includes
00044 
00045 // + local headers
00046 #include "cpmapper.h"
00047 
00048 // ************************************************************************
00049 // class declarations
00050 namespace OSB_LIB {
00051     class NwAddress;
00052 }
00053 
00054 // ************************************************************************
00055 // namespace extensions
00056 namespace OSB_LIB {
00057 
00058 // ************************************************************************
00059 // class definitions
00060 
00064     class NwAddrToCp {
00065     public:
00079         Id<ConnectionPt> map2Cp(
00080             const NwAddress& nwa,
00081             const DateTime&  ts
00082         );
00083     };                                  // class NwAddrToCp
00084 
00091     class CalledPartyToCp : public CpMapper {
00093         static const CpmType cpmType_ = cpmCalledParty;
00094     public:
00095         // Documentation from base class.
00096         typedef std::auto_ptr<CalledPartyToCp> AutoPtr;
00097     public:
00098         // Documentation from base class.
00099         AutoPtr clone() const;
00100         // Documentation from base class.
00101         Type type() const { return Type(cpmType_); }
00102 
00114         virtual Id<ConnectionPt> map2Cp(Cdr& cdr) const;
00115     private:
00116         // Documentation from base class.
00117         virtual CpMapper* clone_() const;
00118     };                                  // class CalledPartyToCp
00119 
00126     class CallingPartyToCp : public CpMapper {
00128         static const CpmType cpmType_ = cpmCallingParty;
00129     public:
00130         // Documentation from base class.
00131         typedef std::auto_ptr<CallingPartyToCp> AutoPtr;
00132     public:
00133         // Documentation from base class.
00134         AutoPtr clone() const;
00135         // Documentation from base class.
00136         Type type() const { return Type(cpmType_); }
00137 
00149         virtual Id<ConnectionPt> map2Cp(Cdr& cdr) const;
00150     private:
00151         // Documentation from base class.
00152         virtual CpMapper* clone_() const;
00153     };                                  // class CallingPartyToCp
00154 
00161     class ServedPartyToCp : public CpMapper {
00163         static const CpmType cpmType_ = cpmServedParty;
00164     public:
00165         // Documentation from base class.
00166         typedef std::auto_ptr<ServedPartyToCp> AutoPtr;
00167     public:
00168         // Documentation from base class.
00169         AutoPtr clone() const;
00170         // Documentation from base class.
00171         Type type() const { return Type(cpmType_); }
00172 
00184         virtual Id<ConnectionPt> map2Cp(Cdr& cdr) const;
00185     private:
00186         // Documentation from base class.
00187         virtual CpMapper* clone_() const;
00188     };                                  // class ServedPartyToCp
00189 }                                       // namespace OSB_LIB
00190 #endif                                  // #ifndef _NWADDRESSTOCP_H_

Generated on Sat Sep 2 14:06:33 2006 for OSB Library by  doxygen 1.4.7