rpevalts.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00006 /*
00007   AUTHOR(S): Stephan Broennimann (vb)
00008 
00009   RCS information
00010    $Name: OSB_060808 $
00011    $Revision: 1.9.2.1 $
00012 
00013   License
00014    OSB rating and billing library for communication networks
00015    Copyright (C) 2004, 2005, 2006  OSB systems
00016 
00017    This file may be distributed and/or modify under the terms of the
00018    GNU General Public License (GPL) as published by the Free Software
00019    Foundation which is provided in the file LICENSE.GPL included in the
00020    packaging of this file.
00021 
00022    The file is distributed in the hope that it will be useful, but WITHOUT
00023    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00024    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00025    for more details.
00026 
00027    Holders of a OSB Commercial License may use this file under the terms
00028    and conditions of this commercial license.
00029  */
00030 #ifndef _RPEVALTS_H_
00031 #define _RPEVALTS_H_
00032 
00033 // ************************************************************************
00034 // included header files
00035 // + standard includes
00036 
00037 // + libraries
00038 
00039 // + local headers
00040 #include "osbid.h"
00041 #include "rpeval.h"
00042 
00043 // + class declarations
00044 namespace OSB_LIB {
00045     class TariffSystem;
00046 }
00047 
00048 // ************************************************************************
00049 // namespace extensions
00050 namespace OSB_LIB {
00051 
00052 // ************************************************************************
00053 // forward declarations
00054 
00055 // ************************************************************************
00056 // type definitions
00057 
00058 // ************************************************************************
00059 // class definitions
00060 
00067     class RpEvalFixedTs : public RatedPartyEval {
00068         // The evaluator type: RpEvalType::rpeFixedTs.
00069         static const Type type_;
00070     public:
00072         RpEvalFixedTs(
00073             const Oid&    oid,
00074             const RpType& rpType
00075         );
00076 
00077     public:
00081         Type type() const;
00082 
00084         int numParam() const;
00085 
00091         bool requiresCache() const;
00092 
00103         Result getParty(
00104             const Cdr&        cdr,
00105                   RatedParty* rp,
00106                   OsbError*   error
00107         ) const;
00108 
00110         Id<TariffSystem> tsId() const;
00111 
00113         void setTsId(const Id<TariffSystem>& tsId);
00114 
00115     private:
00125         bool setParam(
00126                   int          index,
00127             const std::string& param
00128         );
00129 
00137         std::string getParam(int index) const;
00138     private:
00140         Id<TariffSystem> tsId_;
00141     };                                  // class RpEvalFixedTs
00142 }                                       // namespace OSB_LIB
00143 
00144 // ************************************************************************
00145 // inline definitions
00146 namespace OSB_LIB {
00147 }                                       // namespace OSB_LIB
00148 #endif                                  // #ifndef _RPEVALTS_H_

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