Further simplify message handling by abstracting message mapping to library code.

This commit is contained in:
Simo Kinnunen
2014-02-02 20:37:48 +09:00
parent b9ca8b04e1
commit 5c1c9fd344
8 changed files with 79 additions and 75 deletions

View File

@@ -17,11 +17,11 @@ var wireutil = {
, absent: 'ABSENT'
}[type]]
}
, envelope: function(type, message) {
return new wire.Envelope(type, message.encode()).encodeNB()
, envelope: function(message) {
return new wire.Envelope(message.$code, message.encode()).encodeNB()
}
, makeDeviceLogMessage: function(serial, entry) {
var message = new wire.DeviceLogMessage(
return wireutil.envelope(new wire.DeviceLogMessage(
serial
, entry.timestamp / 1000
, entry.priority
@@ -29,37 +29,38 @@ var wireutil = {
, entry.pid
, entry.message
, entry.identifier
)
return wireutil.envelope(wire.MessageType.DeviceLogMessage, message)
))
}
, makeGroupMessage: function(channel, timeout, requirements) {
var message = new wire.GroupMessage(
return wireutil.envelope(new wire.GroupMessage(
channel
, timeout
, requirements
)
return wireutil.envelope(wire.MessageType.GroupMessage, message)
))
}
, makeUngroupMessage: function(requirements) {
var message = new wire.UngroupMessage(requirements)
return wireutil.envelope(wire.MessageType.UngroupMessage, message)
return wireutil.envelope(new wire.UngroupMessage(
requirements
))
}
, makeJoinGroupMessage: function(serial) {
var message = new wire.JoinGroupMessage(serial)
return wireutil.envelope(wire.MessageType.JoinGroupMessage, message)
return wireutil.envelope(new wire.JoinGroupMessage(
serial
))
}
, makeLeaveGroupMessage: function(serial) {
var message = new wire.LeaveGroupMessage(serial)
return wireutil.envelope(wire.MessageType.LeaveGroupMessage, message)
return wireutil.envelope(new wire.LeaveGroupMessage(
serial
))
}
, makeDevicePokeMessage: function(serial, channel) {
var message = new wire.DevicePokeMessage(serial, channel)
return wireutil.envelope(wire.MessageType.DevicePokeMessage, message)
return wireutil.envelope(new wire.DevicePokeMessage(
serial
, channel
))
}
, makeDeviceIdentityMessage: function(serial, identity) {
var message = new wire.DeviceIdentityMessage(
return wireutil.envelope(new wire.DeviceIdentityMessage(
serial
, identity.platform
, identity.manufacturer
@@ -80,60 +81,49 @@ var wireutil = {
, identity.display.secure
, identity.display.url
)
)
return wireutil.envelope(wire.MessageType.DeviceIdentityMessage, message)
))
}
, makeDevicePropertiesMessage: function(serial, properties) {
var message = new wire.DevicePropertiesMessage(
return wireutil.envelope(new wire.DevicePropertiesMessage(
serial
, Object.keys(properties).map(function(key) {
return new wire.DeviceProperty(key, properties[key])
})
)
return wireutil.envelope(
wire.MessageType.DevicePropertiesMessage
, message
)
))
}
, makeDeviceStatusMessage: function(serial, type, provider) {
var message = new wire.DeviceStatusMessage(
return wireutil.envelope(new wire.DeviceStatusMessage(
serial
, wireutil.toDeviceStatus(type)
, provider
)
return wireutil.envelope(wire.MessageType.DeviceStatusMessage, message)
))
}
, makeProbeMessage: function() {
var message = new wire.ProbeMessage()
return wireutil.envelope(wire.MessageType.ProbeMessage, message)
return wireutil.envelope(new wire.ProbeMessage())
}
, makeShellCommandMessage: function(channel, command) {
var message = new wire.ShellCommandMessage(channel, command)
return wireutil.envelope(wire.MessageType.ShellCommandMessage, message)
return wireutil.envelope(new wire.ShellCommandMessage(
channel
, command
))
}
, makeShellCommandDataMessage: function(serial, seq, chunk) {
var message = new wire.ShellCommandDataMessage(serial, seq, chunk)
return wireutil.envelope(
wire.MessageType.ShellCommandDataMessage
, message
)
return wireutil.envelope(new wire.ShellCommandDataMessage(
serial
, seq
, chunk
))
}
, makeShellCommandDoneMessage: function(serial) {
var message = new wire.ShellCommandDoneMessage(serial)
return wireutil.envelope(
wire.MessageType.ShellCommandDoneMessage
, message
)
return wireutil.envelope(new wire.ShellCommandDoneMessage(
serial
))
}
, makeShellCommandFailMessage: function(serial, reason) {
var message = new wire.ShellCommandFailMessage(serial, reason)
return wireutil.envelope(
wire.MessageType.ShellCommandFailMessage
, message
)
return wireutil.envelope(new wire.ShellCommandFailMessage(
serial
, reason
))
}
}