eis/inc/pmg/PlanFactory.h

91 lines
1.8 KiB
C
Raw Normal View History

/*********************************************************************
*
* <EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Shanghai Baosight Software Co., Ltd.
*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
* <EFBFBD><EFBFBD><EFBFBD>ʷ
* 1.0 2014-08-18 jamie <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD>
*
*********************************************************************/
#ifndef _PLANFACTORY_H
#define _PLANFACTORY_H
#include <pmg/Plan.h>
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:
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
virtual int planSeq(int caseNo,int eventNo,const Ice::ByteSeq& seq);
//<2F><><EFBFBD><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
virtual int planPDI(int caseNo,int eventNo,const Ice::ByteSeq& seq);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
virtual int planRoll(int caseNo,int eventNo,const Ice::ByteSeq& seq);
public:
//<2F>ƻ<EFBFBD><C6BB><EFBFBD>next
virtual int planNext(int eventNo,const Ice::ByteSeq& seq);
//<2F>ƻ<EFBFBD>ɾ<EFBFBD><C9BE>
virtual int planDel(int eventNo,const Ice::ByteSeq& seq);
//ִ<><D6B4>sql
virtual int exesql(int eventNo,const Ice::ByteSeq& seq);
//Ĭ<><C4AC><EFBFBD><EFBFBD>Ϣ
virtual int defaultMsg(int eventNo,const Ice::ByteSeq& seq);
public:
static PlanFactory* GetInstancePtr();
static PlanFactory& GetInstance();
static bool release(void);
private:
// <20><><EFBFBD><EFBFBD>: <20>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD>
virtual int dispatch(int planType,int caseNo,int eventNo,const Ice::ByteSeq& seq);
private:
static PlanFactory* mp_singleton;
private:
map<int,Plan*> mplan;
private:
DataAccess* mp_dataAccess;
AutoTele* mp_tele;
char almsg[512];
};
#endif