SDKInterface.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[1/22/2017];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __SDK_INTERFACE__
  19. #define __SDK_INTERFACE__
  20. #include <stdio.h>
  21. #include <iostream>
  22. #include <string>
  23. #include <XPhonePlus/BaseMonitor.h>
  24. #include <Common/common.pb.h>
  25. #include "CrossPlatformDefine/PlatformDef.h"
  26. #pragma comment(lib,"E:\\lyfz-project.org\\common\\WXSDK\\bin\\XPhonePlus.lib")
  27. typedef struct __TASK_INFO__
  28. {
  29. INT nTaskId; // 任务id;
  30. XPhonePlus::XPhone_TaskType TaskType; // 任务类型;
  31. XPhonePlus::XPhone_TaskAction TaskAction; // 任务动作;
  32. XPhonePlus::XPhone_TaskStatus TaskStatus; // 任务状态;
  33. __TASK_INFO__()
  34. {
  35. nTaskId = -1;
  36. TaskType = XPhonePlus::TaskType_Unknow;
  37. TaskAction = XPhonePlus::TaskAction_Unknow;
  38. TaskStatus = XPhonePlus::TaskStatusn_Unknow;
  39. }
  40. }TaskInfo, *pTaskInfo;
  41. #pragma once
  42. class SDKInterface :
  43. public IXPhoneCommonRecvMsg,
  44. public IXPhoneScreenShow,
  45. public IXPhoneDeviceEvent
  46. {
  47. public:
  48. SDKInterface();
  49. ~SDKInterface();
  50. private:
  51. bool m_bInit;
  52. static bool m_bShortCut;
  53. static std::shared_ptr<IXPhoneDevice> m_XPhoneDevice;
  54. static IXPhoneMonitorAddin *m_pMonitor;
  55. // 任务id,自己维护;
  56. std::vector<TaskInfo> m_taskinfo;
  57. bool IsTaskIdExist(INT nTaskId);
  58. bool IsTaskTypeExist(XPhonePlus::XPhone_TaskType TaskType);
  59. void StopTask(INT nTaskId);
  60. INT GetMaxTaskId();
  61. TaskInfo *GetTaskInfo(INT nTaskId);
  62. public:
  63. static void SavePng(const byte*pBuffer, int iLen, const XCHAR* strSavePath);
  64. public:
  65. bool Init();
  66. inline bool IsConnect(){ return m_bInit; }
  67. virtual void OnScreenShow(const byte* buffer, int iBufferLen) override;
  68. virtual void OnRecvTcpMsg(const XString& strDeviceIdentify, const byte* buffer, int iBufferLen) override;
  69. virtual void OnCommonDisconnect(const XString& strDeviceIdentify) override;
  70. virtual void XPhoneDeviceChanged(std::shared_ptr<IXPhoneDevice> pXPhoneDevice, enum XDeviceChange changeType) override;
  71. public:
  72. // 一键亮屏, 锁屏;
  73. void BrightScreen(bool bBright = true);
  74. // 切换微信至前台;
  75. inline void SwitchForground(){
  76. if (!m_bInit || m_XPhoneDevice == NULL)
  77. return;
  78. m_XPhoneDevice->SwitchForground();
  79. }
  80. // Home键;
  81. inline void HomeBtnPress(){
  82. if (!m_bInit || m_XPhoneDevice == NULL)
  83. return;
  84. OutputDebugString(_T("ddd\n"));
  85. m_XPhoneDevice->ExecuteHomeCommand();
  86. };
  87. // Back键;
  88. inline void BackBtnPress(){
  89. if (!m_bInit || m_XPhoneDevice == NULL)
  90. return;
  91. m_XPhoneDevice->ExecuteBackCommand();
  92. };
  93. // Menu键;
  94. inline void MenuBtnPress(){
  95. if (!m_bInit || m_XPhoneDevice == NULL)
  96. return;
  97. m_XPhoneDevice->ExecuteMenuCommand();
  98. };
  99. // 点赞任务只能一个;
  100. void StartDianZan();
  101. void StopDianZan();
  102. // 获取微信好友列表;
  103. void GetContactList();
  104. // 获取微信群列表;
  105. void GetChatroomList();
  106. };
  107. #endif // __SDK_INTERFACE__;