00001 // OSB library ************************************************ -*- C++ -*- 00006 /* 00007 AUTHOR(S): Stephan Broennimann (vb) 00008 00009 RCS information 00010 $Name: OSB_060808 $ 00011 $Revision: 1.10.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 _PRODUCTITEMTYPE_H_ 00031 #define _PRODUCTITEMTYPE_H_ 00032 00033 // ************************************************************************ 00034 // included header files 00035 // + standard includes 00036 00037 // + libraries 00038 00039 // + local headers 00040 #include "productitem.h" 00041 00042 // + class declarations 00043 00044 // ************************************************************************ 00045 // namespace extensions 00046 namespace OSB_LIB { 00047 00048 // ************************************************************************ 00049 // class definitions 00059 struct PiType : public ProductItemBase::Type { 00073 enum Type { 00075 piDescItem = 1, 00077 piCallingCard = 2, 00079 piService = 3, 00081 piCredit = 4, 00083 piTariffSystem = 5, 00085 piTrunkItem = 6, 00087 piAnItem = 7, 00089 piE164Item = 8, 00091 piIp4Item = 9, 00093 piIpGroup = 10, 00095 piImsiItem = 11, 00097 piPricelist = 12, 00098 // reserved (resources only, no product item) 00099 // incoming trunk: 13 00100 // outgoing trunk: 14 00101 00103 piDevice = 20, 00105 piUimCard = 21, 00106 00108 piMaxType = piUimCard 00109 }; 00111 PiType( 00112 const ProductItemBase::Type& type = ProductItemBase::Type() 00113 ); 00115 PiType(Type type); 00117 operator Type() const; 00119 bool operator==(const ProductItemBase::Type& rhs) const; 00120 }; // struct PiType 00121 00122 // ************************************************************************ 00123 // free functions 00129 bool operator==(const ProductItemBase::Type& lhs, const PiType& rhs); 00130 } // namespace OSB_LIB 00131 00132 // ************************************************************************ 00133 // inline definitions 00134 namespace OSB_LIB { 00135 } // namespace OSB_LIB 00136 #endif // #ifndef _PRODUCTITEMTYPE_H_