Sha256: 8cda8de57bb3610f8894c18ea027a19000091fa8d6c97d0acd5451e057661480

Contents?: true

Size: 881 Bytes

Versions: 3

Compression:

Stored size: 881 Bytes

Contents

require 'eventmachine'

module Manymo
  class ADBConnectionVerifier
    include EM::Deferrable

    module ADBConnection
      def initialize(verifier)
        @verifier = verifier
        @packet = ADBPacket.new
      end

      def post_init
        #puts "Local adb socket opened. Sending CNXN packet."
        send_data ADBPacket.build("CNXN", 0x01000000, 0x00001000, "host::\x00").data
      end

      def receive_data(data)
        #puts "Client receive data!"
        remainder = @packet.consume(data)
        while @packet.complete? do
          @verifier.succeed
          @packet = ADBPacket.new
          remainder = @packet.consume(remainder)
        end
      end

      def unbind
        #@verifier.fail("Could not connect to adb over tunnel.")
      end
    end

    def initialize(port)
      EM.connect('127.0.0.1', port+1, ADBConnection, self)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
manymo-2.0.0.beta3 lib/manymo/adb_connection_verifier.rb
manymo-2.0.0.beta2 lib/manymo/adb_connection_verifier.rb
manymo-2.0.0.beta lib/manymo/adb_connection_verifier.rb