Class: CresIP::Register
- Inherits:
-
Object
- Object
- CresIP::Register
- Defined in:
- lib/cresip/register.rb
Instance Attribute Summary collapse
-
#header ⇒ Object
readonly
Returns the value of attribute header.
-
#payload ⇒ Object
readonly
Returns the value of attribute payload.
Instance Method Summary collapse
-
#initialize(header = PacketHeader.new, payload = "\x02") ⇒ Register
constructor
A new instance of Register.
- #reg_success? ⇒ Boolean
- #register(ipid = 5, type = 0x0a) ⇒ Object
- #registering? ⇒ Boolean
- #respond(success = true) ⇒ Object
- #to_binary_s ⇒ Object
- #type ⇒ Object
Constructor Details
#initialize(header = PacketHeader.new, payload = "\x02") ⇒ Register
Returns a new instance of Register.
17 18 19 20 21 22 23 24 |
# File 'lib/cresip/register.rb', line 17 def initialize(header = PacketHeader.new, payload = "\x02") @header = header @payload = payload if @header.type == nil @header.packet_type = PacketTypes[:register] end end |
Instance Attribute Details
#header ⇒ Object (readonly)
Returns the value of attribute header.
26 27 28 |
# File 'lib/cresip/register.rb', line 26 def header @header end |
#payload ⇒ Object (readonly)
Returns the value of attribute payload.
26 27 28 |
# File 'lib/cresip/register.rb', line 26 def payload @payload end |
Instance Method Details
#reg_success? ⇒ Boolean
36 37 38 |
# File 'lib/cresip/register.rb', line 36 def reg_success? @header.type == :register_success && @payload.length == 4 end |
#register(ipid = 5, type = 0x0a) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/cresip/register.rb', line 51 def register(ipid = 5, type = 0x0a) # IPID Range: 0x03..0xFE head = PacketHeader.new # I think 0x0A is a switcher register response # and 0x01 is touch screen head.packet_type = type payload = if type == 0x0a # 0a000a00 ipid a342400200000000 "\x00#{ipid.chr}\xa3\x42\x40\x02\x00\x00\x00\x00" else # 0100077F00000100 ipid 40 "\x7F\x00\x00\x01\x00#{ipid.chr}\x40" end Register.new(head, payload) end |
#registering? ⇒ Boolean
32 33 34 |
# File 'lib/cresip/register.rb', line 32 def registering? @header.type == :register_response end |
#respond(success = true) ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# File 'lib/cresip/register.rb', line 40 def respond(success = true) head = PacketHeader.new head.packet_type = PacketTypes[:register_success] if success Register.new(head, "\x00\x00\x00\x03") else Register.new(head, "\xff\xff\x02") end end |
#to_binary_s ⇒ Object
68 69 70 71 |
# File 'lib/cresip/register.rb', line 68 def to_binary_s @header.packet_size = @payload.bytesize "#{@header.to_binary_s}#{@payload}" end |
#type ⇒ Object
28 29 30 |
# File 'lib/cresip/register.rb', line 28 def type @header.type end |