MessageHandler.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*-----------------------------------------------
  2. *本文件由代码生成器自动生成,
  3. *千万不要修改本文件的任何代码,
  4. *修改的的任何代码都会被覆盖掉!
  5. --------------------------------------------------*/
  6. using System.IO;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using Pomelo.DotNetClient;
  12. namespace pomelo.area
  13. {
  14. public class MessageHandler
  15. {
  16. private PomeloClient _socket;
  17. public HandleMessageResponse lastHandleMessageResponse { get { return _socket.GetLastResponse<HandleMessageResponse>(); } }
  18. static MessageHandler()
  19. {
  20. EventTypes.RegistPushType("area.messagePush.onMessageAddPush", typeof(OnMessageAddPush));
  21. EventTypes.RegistRequestType("area.messageHandler.handleMessageRequest", typeof(HandleMessageRequest), typeof(HandleMessageResponse));
  22. }
  23. public MessageHandler(PomeloClient socket)
  24. {
  25. this._socket = socket;
  26. }
  27. public void handleMessageRequest(string c2s_id,int c2s_type,int c2s_operate,Action<PomeloException,HandleMessageResponse> cb,object option = null)
  28. {
  29. var request = new HandleMessageRequest();
  30. request.c2s_id= c2s_id;
  31. request.c2s_type= c2s_type;
  32. request.c2s_operate= c2s_operate;
  33. _socket.request<HandleMessageResponse>(request, (object msg, out int s2c_code, out string s2c_msg) => {
  34. var rsp = msg as HandleMessageResponse;
  35. s2c_code = rsp.s2c_code;
  36. s2c_msg = rsp.s2c_msg;
  37. return s2c_code == 200;
  38. }, cb, option);
  39. }
  40. public void onMessageAddPush(Action<OnMessageAddPush> cb)
  41. {
  42. _socket.listen_once<OnMessageAddPush>(cb);
  43. }
  44. }
  45. }