ratedparty.h

Go to the documentation of this file.
00001 // OSB library ************************************************ -*- C++ -*-
00007 /*
00008   AUTHOR(S): Stephan Broennimann (vb)
00009 
00010   RCS information
00011    $Name: OSB_060808 $
00012    $Revision: 1.7 $
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 _RATEDPARTY_H_
00032 #define _RATEDPARTY_H_
00033 
00034 // ************************************************************************
00035 // included header files
00036 // + standard includes
00037 
00038 // + libraries
00039 
00040 // + local headers
00041 #include "resourcefwd.h"
00042 #include "osbtype.h"
00043 
00044 // + class declarations
00045 namespace OSB_LIB {
00046     class Contract;
00047     class PersProduct;
00048     class TsVersion;
00049 }
00050 
00051 // ************************************************************************
00052 // namespace extensions
00053 namespace OSB_LIB {
00054 
00055 // ************************************************************************
00056 // forward declarations
00057 
00058 // ************************************************************************
00059 // type definitions
00060 
00061 // ************************************************************************
00062 // class definitions
00063 
00071     struct RatedParty {
00072     public:
00074         typedef TypeId<RatedParty> Type;
00075 
00076     public:
00078         explicit inline RatedParty(const Type& type = Type());
00079     public:
00081         Type type_;
00090         Id2<TsVersion> tsVersion_;
00092         Id<Contract> contractId_;
00094         Id<PersProduct> persProductId_;
00095 
00104         ResourceKey resourceKey_;
00105 
00106     public:
00108         void clear();
00109     };
00110 }                                       // namespace OSB_LIB
00111 
00112 // ************************************************************************
00113 // inline definitions
00114 namespace OSB_LIB {
00115     inline RatedParty::RatedParty(const Type& type)
00116       : type_(type)
00117     {
00118         // empty
00119     }
00120 }                                       // namespace OSB_LIB
00121 #endif                                  // #ifndef _RATEDPARTY_H_

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