EasyConnectLink.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #ifndef ECLINK_H
  2. #define ECLINK_H
  3. #include "IUserLinkPlayer.h"
  4. #include "AudioPlayer.h"
  5. #include "AudioRecoder.h"
  6. #include "VideoPlayer.h"
  7. #ifdef USE_EASYCONNECT
  8. #include "ECSDKFramework.h"
  9. #include "SDKListener.h"
  10. #include "MirrorListener.h"
  11. #include "ECSDKTouchKeyManager.h"
  12. #include "APPListener.h"
  13. #include "OTAListener.h"
  14. #include "ToolKitListener.h"
  15. #include "Thread.h"
  16. #endif
  17. class EasyConnectLink : public IUserLinkPlayer
  18. {
  19. public:
  20. EasyConnectLink();
  21. virtual ~EasyConnectLink();
  22. #ifdef USE_EASYCONNECT
  23. protected:
  24. virtual bool init(LinkMode linkMode);
  25. virtual bool release();
  26. virtual bool start();
  27. virtual bool stop();
  28. virtual bool start_mirror();
  29. virtual bool stop_mirror();
  30. virtual bool set_background();
  31. virtual bool set_foreground();
  32. virtual bool get_audio_focus();
  33. virtual bool release_audio_focus();
  34. virtual void set_inserted(bool inserted, PhoneType phoneType);
  35. virtual void send_screen_size(int width, int height);
  36. virtual void record_audio_callback(unsigned char *data, int len);
  37. virtual void send_car_bluetooth(const string& name, const string& address, const string& pin);
  38. virtual void send_phone_bluetooth(const string& address);
  39. virtual void send_car_wifi(WifiInfo& info){}
  40. virtual void send_touch(int x, int y, TouchCode touchCode);
  41. virtual void send_multi_touch(int x1, int y1, TouchCode touchCode1, int x2, int y2, TouchCode touchCode2){}
  42. virtual bool send_key(KeyCode keyCode);
  43. virtual bool send_wheel(WheelCode wheel, bool foucs);
  44. virtual bool send_night_mode(bool night);
  45. virtual bool send_right_hand_driver(bool right){}
  46. virtual bool open_page(AppPage appPage);
  47. virtual void request_status(RequestAppStatus requestAppStatus, void *reserved = nullptr);
  48. virtual void send_license(const string& license);
  49. virtual void send_input_text(const string& text);
  50. virtual void send_input_selection(const int start, const int stop);
  51. virtual void send_input_action(const int actionId, const int keyCode);
  52. private:
  53. //EClinkPlayer *m_pEClinkPlayer;
  54. static void mirror_direction_callback(int direction, void* parameter);
  55. static void mirror_status_callback(int status, void* parameter);
  56. static void qr_callback_func(string qr, void* parameter);
  57. static void license_auth_success_func(int code, string msg, void* parameter);
  58. static void license_auth_failed_func(int code, string msg, void* parameter);
  59. void start_video_callback_func(bool start, int width, int height);
  60. void video_data_callback_func(unsigned char* data, int length);
  61. void start_audio_callback_func(bool start, int type, int rate, int bit, int channel);
  62. void audio_data_callback_func(int type, unsigned char* data, int length);
  63. void start_rec_callback_func(bool start, int rate, int bit, int channel);
  64. void rec_data_callback_func(string& recData);
  65. void status_callback_func(int status, int type);
  66. void appstatus_callback_func(ECStatusMessage status);
  67. void phonecall_callback_func(ECCallType type, const string name, const string number);
  68. void inputstart_callback_func(int inputType, int imeOptions, string rawText, int minLines, int maxLines, int maxLength);
  69. void inputselection_callback_func(int start, int stop);
  70. void phoneinfo_callback_func(const string& info);
  71. void vr_textinfo_callback_func(int vrtype, int sequence, string plainText, string htmlText);
  72. void carcmd_callback_func(int cmd);
  73. private:
  74. MirrorListener mirrorListener;
  75. VideoPlayer videoplayer;
  76. AudioPlayer audioPlayer;
  77. AudioRecoder audioRecoder;
  78. APPListener appListener;
  79. OTAListener otaListener;
  80. SDKListener sdkListener;
  81. ToolKitListener toolkitListener;
  82. std::mutex mMutex;
  83. string mQRCode;
  84. string mRecData;
  85. BlueToothInfo mBlueToothInfo;
  86. string mLicense;
  87. bool mHasInitRec;
  88. AudioInfo mAudioInfo;
  89. #endif
  90. };
  91. #endif // ECLINK_H