12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #pragma once
- #include "SpBase.h"
- #include "sp_ses.h"
- class SpEntity;
- class SpTransactionContext : public ITransactionContext
- {
- public:
- SpTransactionContext(sp_ses_uas_t *uas, int info, int method_id, int method_sig, int expire_time, iobuffer_t **p_pkt, int tsx_id);
- virtual ~SpTransactionContext();
- virtual bool IsOneWayCall();
- virtual DWORD GetRequestID();
- virtual ErrorCodeEnum GetReceiveBuffer(DWORD &dwMessageID, DWORD &dwMessageSignature, CAutoBuffer &Buffer);
- virtual ErrorCodeEnum SendAnswer(CAutoBuffer Buffer, bool bEnd=true);
- virtual ErrorCodeEnum SendAnswer(ErrorCodeEnum eErrorCode, DWORD dwUserError = 0);
- virtual ErrorCodeEnum SetExpireTime(DWORD dwMS);
- virtual ErrorCodeEnum GetExpireTime(DWORD &dwWholeTime,DWORD &dwLeftTime);
- DWORD GetExpireLeftTime();
- private:
- int m_info;
- int m_method_id;
- int m_method_sig;
- int m_expire_time;
- int m_timeout;
- iobuffer_t *m_pkt;
- sp_tsx_uas_t *m_tsx;
- };
- // for OnPreStart, OnPrePause, OnPreContinue, OnPreClose
- class SpMUITransactionContext : public ITransactionContext
- {
- public:
- enum {
- OP_START,
- OP_PAUSE,
- OP_SELFTEST,
- OP_CLOSE,
- OP_CONTINUE,
- };
- SpMUITransactionContext(SpEntity *pEntity, int op) : m_pEntity(pEntity), m_op(op) {}
- virtual ~SpMUITransactionContext(){};
- virtual bool IsOneWayCall() { return false; }
- virtual DWORD GetRequestID() { return 0; }
- virtual ErrorCodeEnum GetReceiveBuffer(DWORD &dwMessageID, DWORD &dwMessageSignature, CAutoBuffer &Buffer) { return Error_NotImpl; }
- virtual ErrorCodeEnum SendAnswer(CAutoBuffer Buffer, bool bEnd=true) { return Error_NotInit; }
- virtual ErrorCodeEnum SendAnswer(ErrorCodeEnum eErrorCode, DWORD dwUserError = 0);
- virtual ErrorCodeEnum SetExpireTime(DWORD dwMS) { return Error_NotImpl; }
- virtual ErrorCodeEnum GetExpireTime(DWORD &dwWholeTime,DWORD &dwLeftTime) { return Error_NotImpl; }
- private:
- SpEntity *m_pEntity;
- int m_op;
- };
|