EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EVECollectDisp.h
Go to the documentation of this file.
1 #ifndef __EVECOLLECTDISP_H_INCL__
2 #define __EVECOLLECTDISP_H_INCL__
3 
4 #include "../common/EVEPktDispatch.h"
5 #include "../common/PyLookupDump.h"
6 
7 class DoDestinyAction;
8 
10 : public EVEPacketDispatcher {
11 public:
13  virtual ~EVECollectDispatcher();
14 
16 
17 protected:
18  virtual void Handle_AuthenticationReq(const PyPacket *packet, AuthenticationReq **call);
19  virtual void Handle_AuthenticationRsp(const PyPacket *packet, AuthenticationRsp **call);
20  virtual void Handle_CallReq(const PyPacket *packet, PyCallStream **call);
21  virtual void Handle_CallRsp(const PyPacket *packet, PyRepTuple **res);
22  virtual void Handle_Notify(const PyPacket *packet, EVENotificationStream **notify);
23  virtual void Handle_SessionChange(const PyPacket *packet, SessionChangeNotification **notify);
24  virtual void Handle_ErrorResponse(const PyPacket *packet, ErrorResponseBody **body);
25  virtual void Handle_Other(PyPacket **packet);
26 
27  std::map<uint32, std::string> pendingCalls;
28  std::map<uint32, std::string> pendingBinds;
29 
30  //
31  // call/notify dispatcher
32  //
33  typedef void (EVECollectDispatcher::* _CallReqDispatch)(const PyPacket *packet, PyCallStream **call);
34  typedef void (EVECollectDispatcher::* _CallRspDispatch)(const PyPacket *packet, PyRepTuple **res);
35  typedef void (EVECollectDispatcher::* _NotifyDispatch)(const PyPacket *packet, EVENotificationStream **notify);
36  std::map<std::string, _CallReqDispatch> m_callReqDisp;
37  std::map<std::string, _CallRspDispatch> m_callRspDisp;
38  std::map<std::string, _NotifyDispatch> m_notifyDisp;
39 
40 #define CALL_REQ_HANDLER(c) virtual void Req_##c(const PyPacket *packet, PyCallStream **res);
41 #define CALL_RSP_HANDLER(c) virtual void Rsp_##c(const PyPacket *packet, PyRepTuple **res);
42 #define BOUND_CALL_RSP_HANDLER(c) virtual void Bound_Rsp_##c(const PyPacket *packet, PyRepTuple **res);
43 #define NOTIFY_HANDLER(n) virtual void Notify_##n(const PyPacket *packet, EVENotificationStream **notify);
44  #include "method_types.h"
45 
46  //
47  // Destiny update dispatcher
48  //
49  typedef void (EVECollectDispatcher::* _DestinyDispatch)(const PyPacket *packet, DoDestinyAction *action);
50  std::map<std::string, _DestinyDispatch> m_destinyDisp;
51 
52 #define DESTINY_HANDLER(n) virtual void Destiny_##n(const PyPacket *packet, DoDestinyAction *action);
53  #include "destiny_types.h"
54 
55  void _DumpBalls(const byte *data, uint32 len);
56 };
57 
58 #endif
59 
60 
61 
void(EVECollectDispatcher::* _CallReqDispatch)(const PyPacket *packet, PyCallStream **call)
virtual void Handle_Notify(const PyPacket *packet, EVENotificationStream **notify)
std::map< uint32, std::string > pendingBinds
virtual void Handle_Other(PyPacket **packet)
virtual void Handle_CallRsp(const PyPacket *packet, PyRepTuple **res)
void _DumpBalls(const byte *data, uint32 len)
void(EVECollectDispatcher::* _NotifyDispatch)(const PyPacket *packet, EVENotificationStream **notify)
void(EVECollectDispatcher::* _CallRspDispatch)(const PyPacket *packet, PyRepTuple **res)
virtual ~EVECollectDispatcher()
std::map< std::string, _CallReqDispatch > m_callReqDisp
virtual void Handle_ErrorResponse(const PyPacket *packet, ErrorResponseBody **body)
virtual void Handle_CallReq(const PyPacket *packet, PyCallStream **call)
std::map< uint32, std::string > pendingCalls
std::map< std::string, _NotifyDispatch > m_notifyDisp
virtual void Handle_AuthenticationReq(const PyPacket *packet, AuthenticationReq **call)
unsigned __int32 uint32
Definition: eve-compat.h:50
virtual void Handle_AuthenticationRsp(const PyPacket *packet, AuthenticationRsp **call)
virtual void Handle_SessionChange(const PyPacket *packet, SessionChangeNotification **notify)
PyLookupResolver lookResolver
std::map< std::string, _DestinyDispatch > m_destinyDisp
void(EVECollectDispatcher::* _DestinyDispatch)(const PyPacket *packet, DoDestinyAction *action)
std::map< std::string, _CallRspDispatch > m_callRspDisp