/********************************************************************* * * 版权所有: Shanghai Baosight Software Co., Ltd. * * 概述: * 版本历史 * 1.0 2014-08-18 jamie 增加注释 * *********************************************************************/ #ifndef _PLANFACTORY_H #define _PLANFACTORY_H #include using namespace baosight; class PLAN_TYPE { public: static const int SEQ = 0; static const int PDI = 1; static const int ROLL = 2; }; class PLAN_CASE { public: static const int REQUEST = 0; static const int RECEIVE = 1; static const int REVOKE = 2; static const int CREATE = 3; static const int ADJUST = 4; static const int ANSWER = 5; }; static string CASE_INFO[10] = { "request","receive","revoke","create","adjust","answer",}; class PlanFactory { private: PlanFactory(); virtual ~PlanFactory(); public: //处理计划顺相关事件 virtual int planSeq(int caseNo,int eventNo,const Ice::ByteSeq& seq); //处理原始数据相关事件 virtual int planPDI(int caseNo,int eventNo,const Ice::ByteSeq& seq); //处理轧辊数据相关事件 virtual int planRoll(int caseNo,int eventNo,const Ice::ByteSeq& seq); public: //计划置next virtual int planNext(int eventNo,const Ice::ByteSeq& seq); //计划删除 virtual int planDel(int eventNo,const Ice::ByteSeq& seq); //执行sql virtual int exesql(int eventNo,const Ice::ByteSeq& seq); //默认消息 virtual int defaultMsg(int eventNo,const Ice::ByteSeq& seq); public: static PlanFactory* GetInstancePtr(); static PlanFactory& GetInstance(); static bool release(void); private: // 概述: 计划功能分派 virtual int dispatch(int planType,int caseNo,int eventNo,const Ice::ByteSeq& seq); private: static PlanFactory* mp_singleton; private: map mplan; private: DataAccess* mp_dataAccess; AutoTele* mp_tele; char almsg[512]; }; #endif