SpServerSessionFunction.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "SpTransactionContext.h"
  3. #include "sp_ses.h"
  4. #include "sp_mod.h"
  5. class SpServerSessionFunction : public IServerSessionFunction
  6. {
  7. public:
  8. SpServerSessionFunction(SpEntity *pEntity, CServerSessionBase *pServerSessionBase, int remote_epid, int remote_svc_id, int conn_id);
  9. virtual ~SpServerSessionFunction();
  10. ErrorCodeEnum Begin();
  11. virtual const char *GetRemoteEntityName();
  12. virtual SessionStateEnum GetCurrentState();
  13. virtual ErrorCodeEnum CloseSession();
  14. static int __get_method_attr(sp_ses_uas_t *uas, int method_id, int method_sig, int *overlap, void *user_data);
  15. static void __on_req(sp_ses_uas_t *uas, int tsx_id, int method_id, int method_sig, int timeout, iobuffer_t **req_pkt, void *user_data);
  16. static void __on_info(sp_ses_uas_t *uas, int method_id, int method_sig, iobuffer_t **info_pkt, void *user_data);
  17. static void __on_close(sp_ses_uas_t *uas, int error, void *user_data);
  18. static void __on_destroy(sp_ses_uas_t *uas, void *user_data);
  19. int get_method_attr(int method_id, int method_sig, int *overlap);
  20. void on_req(int tsx_id, int method_id, int method_sig, int timeout, iobuffer_t **req_pkt);
  21. void on_info(int method_id, int method_sig, iobuffer_t **info_pkt);
  22. void on_close(int error);
  23. void on_destroy();
  24. private:
  25. CServerSessionBase *m_pServerSessionBase;
  26. sp_ses_uas_t *m_uas;
  27. sp_entity_t *m_remote_ent;
  28. };