Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

FeeItemInfo.hpp

00001 #ifndef ZTT_DCS_FEE_ITEM_INFO_HPP
00002 #define ZTT_DCS_FEE_ITEM_INFO_HPP
00003 
00004 #include "FeeInfo.hpp"
00005 #include "dim/dis.hxx"
00006 #include "FeeGroupedChannel.hpp"
00007 #include <iostream>
00008 #include <boost/shared_ptr.hpp>
00009 
00010 namespace ztt { namespace dcs {
00011 
00015 #define FEE_ITEM_NO_LINK -1000.0  
00016 
00021 #define FEE_ITEM_TIMEOUT 10       
00022 
00023 
00024 
00040 class FeeItemInfo : public FeeInfo {
00041         public:
00042                 /*
00043                 struct CollectServices{
00044                 int valueint;
00045                 float valuefloat;
00046                 char servicename[256];
00047                 CollectServices(int valint,float valfloat, char* name){
00048                         valueint=valint;
00049                         valuefloat=valfloat;
00050                         strcpy(servicename,name);}
00051                 }collectServices;
00052                 */
00065 
00066                 /*FeeItemInfo(char* name, int time, float noLink, DimInfoHandler* pHandler)
00067                                 : mValue(FEE_ITEM_NO_LINK), mpFedService(NULL),
00068                                 FeeInfo(name, time, noLink, pHandler) {};*/
00081        FeeItemInfo(char* name, float noLink, DimInfoHandler* pHandler)
00082                : mValue(FEE_ITEM_NO_LINK), name(name), mpFedService(),feeGroup(),
00083                            FeeInfo(name, noLink, pHandler){}; 
00084 
00088            virtual ~FeeItemInfo() {
00089                  mpFedService.reset();
00090                  feeGroup.reset();
00091            };
00092 
00101                 virtual bool retrieveServiceValue();
00102 
00108                 virtual void initialize();
00109 
00115                 float& getRefFloatValue();
00116 
00122                 void setCorrespondingFedService(boost::shared_ptr<DimService> pService);
00123 
00124                 void setFeeGroupChannel(boost::shared_ptr<FeeGroupedChannel> groupedChannel);
00129                 char* name;
00130         private:
00134                 float mValue;
00135 
00139                 boost::shared_ptr<DimService> mpFedService;
00143                 boost::shared_ptr<FeeGroupedChannel> feeGroup;
00144                 
00145 
00146 }; // end class
00147 
00148 inline float& FeeItemInfo::getRefFloatValue() {
00149         return mValue;
00150 }
00151 
00152 inline void FeeItemInfo::setCorrespondingFedService(boost::shared_ptr<DimService> pService) {
00153         mpFedService = pService;
00154 }
00155 inline void FeeItemInfo::setFeeGroupChannel(boost::shared_ptr<FeeGroupedChannel> groupedChannel){
00156         feeGroup = groupedChannel;
00157 }
00158 
00159 } } // end namespace
00160 
00161 #endif

Generated on Fri Mar 30 02:54:33 2007 for InterComLayer by doxygen 1.3.5