コード例 #1
0
        public bool SendDeviceMonitoringRequest()
        {
            byte[] request = DeviceMonitorHelper.GetInstance().FormAdbRequest(RequestCommands.HOST_TRACK_DEVICES);

            if (DeviceMonitorHelper.GetInstance().Write(_socket, request) == false)
            {
                _socket.Close();
                throw new IOException("Sending Tracking request failed!");
            }

            SocketResponse resp = DeviceMonitorHelper.GetInstance().ReadAdbResponse(_socket, false /* readDiagString */);

            if (!resp.IOSuccess)
            {
                _socket.Close();
                throw new IOException("Failed to read the adb response!");
            }

            if (!resp.Okay)
            {
                //
            }

            return(resp.Okay);
        }
コード例 #2
0
 /// <summary>
 /// Single DeviceMonitorHelper
 /// </summary>
 /// <returns></returns>
 public static DeviceMonitorHelper GetInstance()
 {
     if (_instance == null)
     {
         lock (_lock)
         {
             _instance = new DeviceMonitorHelper();
         }
     }
     return(_instance);
 }
コード例 #3
0
 private Socket OpenAdbConnection()
 {
     try
     {
         Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         socket.Connect(DeviceMonitorHelper.GetInstance().SocketAddress);
         socket.NoDelay = true;
         return(socket);
     }
     catch (IOException ex)
     {
         // return null
     }
     return(null);
 }
コード例 #4
0
        private string Read(Socket socket, byte[] buffer)
        {
            bool isRead = DeviceMonitorHelper.GetInstance().Read(socket, buffer);

            return(isRead == false ? string.Empty : buffer.GetString(DeviceMonitorHelper.DEFAULT_ENCODING));
        }