package net.northking.cctp.upperComputer.webSocket.thread;

import net.northking.cctp.upperComputer.webSocket.entity.CmdRequest;

public interface MessageHandler {

    /**
     * 消息处理相关
     */
    public void addQueue(CmdRequest request);

    /**
     * 退出相关
     */
    public void stopAndExit();

    /**
     *以下是处理前端指令相关
     */
    public void handleScreenOn(CmdRequest request);

    public void changeScreenSize(CmdRequest request);

    public void changeScreenQuality(CmdRequest request);

    public void startRecordScreen(CmdRequest request);

    public void stopRecordScreen(CmdRequest request);

    public void screenShot(CmdRequest request);

    public void touchDown(CmdRequest request);

    public void touchMove(CmdRequest request);

    public void touchUp(CmdRequest request);

    public void inputKeyPress(CmdRequest request);

    public void inputType(CmdRequest request);

    public void inputSetText(CmdRequest request);

    public void clipboardPast(CmdRequest request);

    public void clipboardCopy(CmdRequest request);

    public void rotationScreen(CmdRequest request);

    public void restartDevice(CmdRequest request);

    public void deviceOpenCamera(CmdRequest request);

    public void openSetting(CmdRequest request);

    public void setWifiStatus(CmdRequest request);

    public void openBrowser(CmdRequest request);

    public void installApp(CmdRequest request);

    public void inputKeyDown(CmdRequest request);

    public void inputKeyUp(CmdRequest request);

    public void getAppList(CmdRequest request);

    public void uninstallApp(CmdRequest request);

    public void sendShellToDevice(CmdRequest request);

    public void startLogcat(CmdRequest request);

    public void stopLogcat(CmdRequest request);

    public void startPerf(CmdRequest request);

    public void stopPerf(CmdRequest request);

    public void closeADBDebug(CmdRequest request);

    public void openADBDebug(CmdRequest request);

    public void pullFileFromDevice(CmdRequest request);

    public void pushFileToDevice(CmdRequest request) ;

    public void getFileList(CmdRequest request) ;

    public void downloadLogcat(CmdRequest request);

    public void startUiNode(CmdRequest request);

    public void stopUiNode(CmdRequest request);

    //掉线相关
    public void clearAndCloseDeviceAgentConnection();  //断开原有的设备agent的连接

    public void reConnectDeviceAgent();//重新连接设备agent

    void startHandMessage();

    void notifyDeviceOfflineToWeb();

    void notifyDeviceOnlineToWeb();
}
