UNPKG

@cygnus-reach/reach-protocol

Version:

Improve the Reachâ„  remote support experience with straightforward device interactions via the Reach Protocol.

1,365 lines (1,360 loc) • 346 kB
'use strict'; var rxjs = require('rxjs'); var runtime = require('@protobuf-ts/runtime'); // tslint:disable: promise-function-async /** * A CompletablePromise is a Promise whose fulfillment or rejection * can be triggered externally. * * @param T - the type of the object the promise can be fulfilled with. */ class CompletablePromise { /** * Create a new CompletablePromise that is already in the fulfilled state. * * @param value - the value to fulfill the promise with. */ static resolved(value) { const cp = new CompletablePromise(); cp.fulfill(value); return cp; } /** * Construct a new CompletablePromise. */ constructor() { /** The current state of the backing promise object. */ this.stateField = 'pending'; /** * Fulfill the completable promise with some value. * * @param value - The value to fulfill the promise with. */ this.fulfill = (value) => { // no-op }; /** * Reject the completable promise with an error. * * @param reason - The reason to reject the completable promise. */ this.reject = (reason) => { // no-op }; this.promise = new Promise((onFulfilled, onRejected) => { this.fulfill = (value) => { this.stateField = 'resolved'; onFulfilled(value); }; this.reject = (reason) => { this.stateField = 'rejected'; onRejected(reason); }; }); } /** * Get the current state of the CompletablePromise. * * @returns 'pending' | 'resolved' | 'rejected'. */ get state() { return this.stateField; } /** * Attaches a single callback for both the resolution and rejection * of the promise. */ finally(onfinally) { if (this.promise.finally) { return this.promise.finally(onfinally); } return Promise.reject('Finally is not supported on this platform'); } /** * Attaches callbacks for the resolution and/or rejection of the Promise. */ then(onfulfilled, onrejected) { return this.promise.then(onfulfilled, onrejected); } /** * Attaches callbacks for just the rejection of the Promise. */ catch(onrejected) { return this.promise.catch(onrejected); } wait() { return this; } } const DEFAULT_PARAM_VALUES_PER_MESSAGE = 1; const DEFAULT_MAX_BYTES_PER_MESSAGE = 244; const DEFAULT_MAX_FILE_TRANSFER_BUFFER = 194; const DEFAULT_TRANSFER_BYTES = 100; const DEFAULT_MESSAGES_PER_ACK = 1; const DEFAULT_TIMEOUT_MS = 5000; // ReachProtoVersion is replaced by the MAJOR, MINOR and PATCH, below. // 5: device info extended with sizes structure // 6: device info entries made redundant by sizes are deleted. // 7: Added file erase and time service // 10: Skipped up to make incompatible change to BufferSizes // 11: Changes to improve the compatibility of v10 // 12: Renamed "reply" messages as "response" messages. // 13: Restored param_info_enum_count // 14: Adding WiFi service // 15: 32 character challenge key // 16: Replaced number_of_objects; with client_id // 17: Add description and timeout to CommandInfo // 18: Generalize device description len to description len // 19: Remove parameter key // 20: Added protocol_version_string, deprecated protocol_version. // 21: Added separate version numbers for MAJOR, MINOR and PATCH. // 0x101: starting on ahsoka changes // 0x102: merging 676 into ahsoka // 0x103: Reworked FileTransfer start with checksum and preferred ack rate. // 0x104: Added discover notifications. // 0x105: Renamed discover notifications. // 0x106: Changed CONFIG_PARAM_NOTIFY handling to expect an array of up to 8. // 0x107: Replaced CONFIG_PARAM_NOTIFY with ENABLE and DISABLE // 0x108: Removed and reserved obsolete messages_per_ack // 0.2.1: Unionzed Parameter Descriptions // 0.2.2: File erase, removed integer proto version // 0.2.3: Stream support /** * / The major version generally changes to signal a break in compatibility * * @generated from protobuf enum cr.ReachProto_MAJOR_Version */ exports.ReachProto_MAJOR_Version = void 0; (function (ReachProto_MAJOR_Version) { /** * MAJOR_V0 = 0; // Must have a zero * * @generated from protobuf enum value: MAJOR_VERSION = 0; */ ReachProto_MAJOR_Version[ReachProto_MAJOR_Version["MAJOR_VERSION"] = 0] = "MAJOR_VERSION"; })(exports.ReachProto_MAJOR_Version || (exports.ReachProto_MAJOR_Version = {})); /** * / The minor version changes at a release which is not completely compatible * * @generated from protobuf enum cr.ReachProto_MINOR_Version */ exports.ReachProto_MINOR_Version = void 0; (function (ReachProto_MINOR_Version) { /** * /< Must have a zero * * @generated from protobuf enum value: MINOR_V0 = 0; */ ReachProto_MINOR_Version[ReachProto_MINOR_Version["MINOR_V0"] = 0] = "MINOR_V0"; /** * /< Update at a release or a big change * * @generated from protobuf enum value: MINOR_VERSION = 2; */ ReachProto_MINOR_Version[ReachProto_MINOR_Version["MINOR_VERSION"] = 2] = "MINOR_VERSION"; })(exports.ReachProto_MINOR_Version || (exports.ReachProto_MINOR_Version = {})); /** * / The patch version changes every time a hex file goes out the door. * * @generated from protobuf enum cr.ReachProto_PATCH_Version */ exports.ReachProto_PATCH_Version = void 0; (function (ReachProto_PATCH_Version) { /** * /< Must have a zero * * @generated from protobuf enum value: PATCH_V0 = 0; */ ReachProto_PATCH_Version[ReachProto_PATCH_Version["PATCH_V0"] = 0] = "PATCH_V0"; /** * /< Update when something changes * * @generated from protobuf enum value: PATCH_VERSION = 3; */ ReachProto_PATCH_Version[ReachProto_PATCH_Version["PATCH_VERSION"] = 3] = "PATCH_VERSION"; })(exports.ReachProto_PATCH_Version || (exports.ReachProto_PATCH_Version = {})); /** * / These values identify the type of the Reach message. * * @generated from protobuf enum cr.ReachMessageTypes */ exports.ReachMessageTypes = void 0; (function (ReachMessageTypes) { /** * /< No Valid Message * * @generated from protobuf enum value: INVALID = 0; */ ReachMessageTypes[ReachMessageTypes["INVALID"] = 0] = "INVALID"; /** * /< Inform client of an error condition * * @generated from protobuf enum value: ERROR_REPORT = 1; */ ReachMessageTypes[ReachMessageTypes["ERROR_REPORT"] = 1] = "ERROR_REPORT"; /** * /< Test the link to the server * * @generated from protobuf enum value: PING = 2; */ ReachMessageTypes[ReachMessageTypes["PING"] = 2] = "PING"; /** * /< Open the communication with a server * * @generated from protobuf enum value: GET_DEVICE_INFO = 3; */ ReachMessageTypes[ReachMessageTypes["GET_DEVICE_INFO"] = 3] = "GET_DEVICE_INFO"; /** * / Parameters * * /< Get a list of all of the parameters in the repository * * @generated from protobuf enum value: DISCOVER_PARAMETERS = 5; */ ReachMessageTypes[ReachMessageTypes["DISCOVER_PARAMETERS"] = 5] = "DISCOVER_PARAMETERS"; /** * /< An extension to discover used by verbose parameters * * @generated from protobuf enum value: DISCOVER_PARAM_EX = 6; */ ReachMessageTypes[ReachMessageTypes["DISCOVER_PARAM_EX"] = 6] = "DISCOVER_PARAM_EX"; /** * /< Get the values of a set of parameters * * @generated from protobuf enum value: READ_PARAMETERS = 7; */ ReachMessageTypes[ReachMessageTypes["READ_PARAMETERS"] = 7] = "READ_PARAMETERS"; /** * /< Change the values of a set of parameters * * @generated from protobuf enum value: WRITE_PARAMETERS = 8; */ ReachMessageTypes[ReachMessageTypes["WRITE_PARAMETERS"] = 8] = "WRITE_PARAMETERS"; /** * /< Sent from the server to the client when a parameter has changed * * @generated from protobuf enum value: PARAMETER_NOTIFICATION = 10; */ ReachMessageTypes[ReachMessageTypes["PARAMETER_NOTIFICATION"] = 10] = "PARAMETER_NOTIFICATION"; /** * /< Find out how notifications are setup * * @generated from protobuf enum value: DISCOVER_NOTIFICATIONS = 11; */ ReachMessageTypes[ReachMessageTypes["DISCOVER_NOTIFICATIONS"] = 11] = "DISCOVER_NOTIFICATIONS"; /** * /< setup parameter notifications * * @generated from protobuf enum value: PARAM_ENABLE_NOTIFY = 50; */ ReachMessageTypes[ReachMessageTypes["PARAM_ENABLE_NOTIFY"] = 50] = "PARAM_ENABLE_NOTIFY"; /** * /< disable parameter notifications * * @generated from protobuf enum value: PARAM_DISABLE_NOTIFY = 51; */ ReachMessageTypes[ReachMessageTypes["PARAM_DISABLE_NOTIFY"] = 51] = "PARAM_DISABLE_NOTIFY"; /** * / File Transfers * * /< Get a list of supported files * * @generated from protobuf enum value: DISCOVER_FILES = 12; */ ReachMessageTypes[ReachMessageTypes["DISCOVER_FILES"] = 12] = "DISCOVER_FILES"; /** * /< Begin a file transfer * * @generated from protobuf enum value: TRANSFER_INIT = 13; */ ReachMessageTypes[ReachMessageTypes["TRANSFER_INIT"] = 13] = "TRANSFER_INIT"; /** * /< (bi-directional) sends the requested data * * @generated from protobuf enum value: TRANSFER_DATA = 14; */ ReachMessageTypes[ReachMessageTypes["TRANSFER_DATA"] = 14] = "TRANSFER_DATA"; /** * /< (bi-directional) Clears Sender to Send More Data * * @generated from protobuf enum value: TRANSFER_DATA_NOTIFICATION = 15; */ ReachMessageTypes[ReachMessageTypes["TRANSFER_DATA_NOTIFICATION"] = 15] = "TRANSFER_DATA_NOTIFICATION"; /** * /< Set file size to zero. * * @generated from protobuf enum value: ERASE_FILE = 16; */ ReachMessageTypes[ReachMessageTypes["ERASE_FILE"] = 16] = "ERASE_FILE"; /** * / Commands * * /< Get a list of supported commands * * @generated from protobuf enum value: DISCOVER_COMMANDS = 17; */ ReachMessageTypes[ReachMessageTypes["DISCOVER_COMMANDS"] = 17] = "DISCOVER_COMMANDS"; /** * /< Reqeuest excecution of a command * * @generated from protobuf enum value: SEND_COMMAND = 18; */ ReachMessageTypes[ReachMessageTypes["SEND_COMMAND"] = 18] = "SEND_COMMAND"; /** * Command Line Interface * * /< Inform the other side (bi-directional) of a command line. * * @generated from protobuf enum value: CLI_NOTIFICATION = 20; */ ReachMessageTypes[ReachMessageTypes["CLI_NOTIFICATION"] = 20] = "CLI_NOTIFICATION"; /** * Streams * * /< Get a list of supported streams * * @generated from protobuf enum value: DISCOVER_STREAMS = 25; */ ReachMessageTypes[ReachMessageTypes["DISCOVER_STREAMS"] = 25] = "DISCOVER_STREAMS"; /** * /< Open a stream * * @generated from protobuf enum value: OPEN_STREAM = 26; */ ReachMessageTypes[ReachMessageTypes["OPEN_STREAM"] = 26] = "OPEN_STREAM"; /** * /< Close a stream * * @generated from protobuf enum value: CLOSE_STREAM = 27; */ ReachMessageTypes[ReachMessageTypes["CLOSE_STREAM"] = 27] = "CLOSE_STREAM"; /** * /< Inform the other side (bi-directional) of data on a stream. * * @generated from protobuf enum value: STREAM_DATA_NOTIFICATION = 28; */ ReachMessageTypes[ReachMessageTypes["STREAM_DATA_NOTIFICATION"] = 28] = "STREAM_DATA_NOTIFICATION"; /** * Time * * /< Set the real time clock * * @generated from protobuf enum value: SET_TIME = 30; */ ReachMessageTypes[ReachMessageTypes["SET_TIME"] = 30] = "SET_TIME"; /** * /< Read the real time clock * * @generated from protobuf enum value: GET_TIME = 31; */ ReachMessageTypes[ReachMessageTypes["GET_TIME"] = 31] = "GET_TIME"; /** * WiFi * * /< Get a list of WiFi acces points * * @generated from protobuf enum value: DISCOVER_WIFI = 40; */ ReachMessageTypes[ReachMessageTypes["DISCOVER_WIFI"] = 40] = "DISCOVER_WIFI"; /** * /< Connect or disconnect to an access point * * @generated from protobuf enum value: WIFI_CONNECT = 41; */ ReachMessageTypes[ReachMessageTypes["WIFI_CONNECT"] = 41] = "WIFI_CONNECT"; })(exports.ReachMessageTypes || (exports.ReachMessageTypes = {})); /** * / binary bit masks or'ed together into the DeviceInfoResponse.services * * @generated from protobuf enum cr.ServiceIds */ exports.ServiceIds = void 0; (function (ServiceIds) { /** * /< No services. Device info service is required. * * @generated from protobuf enum value: NO_SVC_ID = 0; */ ServiceIds[ServiceIds["NO_SVC_ID"] = 0] = "NO_SVC_ID"; /** * /< Set this bit when the device supports the parameter service * * @generated from protobuf enum value: PARAMETER_REPO = 1; */ ServiceIds[ServiceIds["PARAMETER_REPO"] = 1] = "PARAMETER_REPO"; /** * /< Set this bit when the device supports the file service * * @generated from protobuf enum value: FILES = 2; */ ServiceIds[ServiceIds["FILES"] = 2] = "FILES"; /** * /< Set this bit when the device supports the stream service * * @generated from protobuf enum value: STREAMS = 4; */ ServiceIds[ServiceIds["STREAMS"] = 4] = "STREAMS"; /** * /< Set this bit when the device supports the command service * * @generated from protobuf enum value: COMMANDS = 8; */ ServiceIds[ServiceIds["COMMANDS"] = 8] = "COMMANDS"; /** * /< Set this bit when the device supports the command line interface * * @generated from protobuf enum value: CLI = 16; */ ServiceIds[ServiceIds["CLI"] = 16] = "CLI"; /** * /< Set this bit when the device supports the time service * * @generated from protobuf enum value: TIME = 32; */ ServiceIds[ServiceIds["TIME"] = 32] = "TIME"; /** * /< Set this bit when the device supports the WiFi service * * @generated from protobuf enum value: WIFI = 64; */ ServiceIds[ServiceIds["WIFI"] = 64] = "WIFI"; })(exports.ServiceIds || (exports.ServiceIds = {})); /** * / binary bit masks or'ed together into the DeviceInfoResponse.endpoints * * @generated from protobuf enum cr.EndpointIds */ exports.EndpointIds = void 0; (function (EndpointIds) { /** * /< No other endpoints * * @generated from protobuf enum value: NO_ENDPOINTS = 0; */ EndpointIds[EndpointIds["NO_ENDPOINTS"] = 0] = "NO_ENDPOINTS"; /** * /< This is the first of multiple endpoints. * * @generated from protobuf enum value: ONE = 1; */ EndpointIds[EndpointIds["ONE"] = 1] = "ONE"; /** * /< This is the second of multiple endpoints. * * @generated from protobuf enum value: TWO = 2; */ EndpointIds[EndpointIds["TWO"] = 2] = "TWO"; /** * /< This is the third of multiple endpoints. * * @generated from protobuf enum value: THREE = 4; */ EndpointIds[EndpointIds["THREE"] = 4] = "THREE"; /** * /< This is the fourth of multiple endpoints. * * @generated from protobuf enum value: FOUR = 8; */ EndpointIds[EndpointIds["FOUR"] = 8] = "FOUR"; })(exports.EndpointIds || (exports.EndpointIds = {})); /** * / These are the types of data that can be stored as parameters. * * @generated from protobuf enum cr.ParameterDataType */ exports.ParameterDataType = void 0; (function (ParameterDataType) { /** * /< Unsigned 32 bit integer. * * @generated from protobuf enum value: UINT32 = 0; */ ParameterDataType[ParameterDataType["UINT32"] = 0] = "UINT32"; /** * /< Signed 32 bit integer. * * @generated from protobuf enum value: INT32 = 1; */ ParameterDataType[ParameterDataType["INT32"] = 1] = "INT32"; /** * /< 32 bit floating point. * * @generated from protobuf enum value: FLOAT32 = 2; */ ParameterDataType[ParameterDataType["FLOAT32"] = 2] = "FLOAT32"; /** * /< Unsigned 64 bit integer. * * @generated from protobuf enum value: UINT64 = 3; */ ParameterDataType[ParameterDataType["UINT64"] = 3] = "UINT64"; /** * /< Signed 64 bit integer. * * @generated from protobuf enum value: INT64 = 4; */ ParameterDataType[ParameterDataType["INT64"] = 4] = "INT64"; /** * /< 64 bit floating point. * * @generated from protobuf enum value: FLOAT64 = 5; */ ParameterDataType[ParameterDataType["FLOAT64"] = 5] = "FLOAT64"; /** * /< boolean (0 or 1) * * @generated from protobuf enum value: BOOL = 6; */ ParameterDataType[ParameterDataType["BOOL"] = 6] = "BOOL"; /** * /< ASCII or UTF-8. Null Terminated. * * @generated from protobuf enum value: STRING = 7; */ ParameterDataType[ParameterDataType["STRING"] = 7] = "STRING"; /** * /< An extended description gives names to 32 bit integer values. * * @generated from protobuf enum value: ENUMERATION = 8; */ ParameterDataType[ParameterDataType["ENUMERATION"] = 8] = "ENUMERATION"; /** * /< An extended description gives names to up to 64 bit positions. * * @generated from protobuf enum value: BIT_FIELD = 9; */ ParameterDataType[ParameterDataType["BIT_FIELD"] = 9] = "BIT_FIELD"; /** * /< An array of bytes. * * @generated from protobuf enum value: BYTE_ARRAY = 10; */ ParameterDataType[ParameterDataType["BYTE_ARRAY"] = 10] = "BYTE_ARRAY"; })(exports.ParameterDataType || (exports.ParameterDataType = {})); /** * / permissions * * @generated from protobuf enum cr.AccessLevel */ exports.AccessLevel = void 0; (function (AccessLevel) { /** * /< No permission * * @generated from protobuf enum value: NO_ACCESS = 0; */ AccessLevel[AccessLevel["NO_ACCESS"] = 0] = "NO_ACCESS"; /** * /< Read permission * * @generated from protobuf enum value: READ = 1; */ AccessLevel[AccessLevel["READ"] = 1] = "READ"; /** * /< Write permission * * @generated from protobuf enum value: WRITE = 2; */ AccessLevel[AccessLevel["WRITE"] = 2] = "WRITE"; /** * /< Read and write permission * * @generated from protobuf enum value: READ_WRITE = 3; */ AccessLevel[AccessLevel["READ_WRITE"] = 3] = "READ_WRITE"; })(exports.AccessLevel || (exports.AccessLevel = {})); /** * / The types of memory in which parameters are stored. RAM and NVM (Non Volatile Memory) are most common. * * @generated from protobuf enum cr.StorageLocation */ exports.StorageLocation = void 0; (function (StorageLocation) { /** * /< unknown, not used * * @generated from protobuf enum value: STORAGE_LOCATION_INVALID = 0; */ StorageLocation[StorageLocation["STORAGE_LOCATION_INVALID"] = 0] = "STORAGE_LOCATION_INVALID"; /** * /< RAM, volatile, not saved on reboot. * * @generated from protobuf enum value: RAM = 1; */ StorageLocation[StorageLocation["RAM"] = 1] = "RAM"; /** * /< Flash or some other method saved over reboot * * @generated from protobuf enum value: NONVOLATILE = 2; */ StorageLocation[StorageLocation["NONVOLATILE"] = 2] = "NONVOLATILE"; /** * /< In case a device has two RAM locations * * @generated from protobuf enum value: RAM_EXTENDED = 3; */ StorageLocation[StorageLocation["RAM_EXTENDED"] = 3] = "RAM_EXTENDED"; /** * /< In case a device has two non volatile locations * * @generated from protobuf enum value: NONVOLATILE_EXTENDED = 4; */ StorageLocation[StorageLocation["NONVOLATILE_EXTENDED"] = 4] = "NONVOLATILE_EXTENDED"; })(exports.StorageLocation || (exports.StorageLocation = {})); /** * / WiFi security type * * @generated from protobuf enum cr.WiFiSecurity */ exports.WiFiSecurity = void 0; (function (WiFiSecurity) { /** * /< No security * * @generated from protobuf enum value: OPEN = 0; */ WiFiSecurity[WiFiSecurity["OPEN"] = 0] = "OPEN"; /** * /< WEP * * @generated from protobuf enum value: WEP = 1; */ WiFiSecurity[WiFiSecurity["WEP"] = 1] = "WEP"; /** * /< WPA * * @generated from protobuf enum value: WPA = 2; */ WiFiSecurity[WiFiSecurity["WPA"] = 2] = "WPA"; /** * /< WPA2 * * @generated from protobuf enum value: WPA2 = 3; */ WiFiSecurity[WiFiSecurity["WPA2"] = 3] = "WPA2"; /** * /< WPA3 * * @generated from protobuf enum value: WPA3 = 4; */ WiFiSecurity[WiFiSecurity["WPA3"] = 4] = "WPA3"; })(exports.WiFiSecurity || (exports.WiFiSecurity = {})); /** * / WiFi Band * * @generated from protobuf enum cr.WiFiBand */ exports.WiFiBand = void 0; (function (WiFiBand) { /** * /< Not specified * * @generated from protobuf enum value: NO_BAND = 0; */ WiFiBand[WiFiBand["NO_BAND"] = 0] = "NO_BAND"; /** * /< 2.4GHz * * @generated from protobuf enum value: BAND_2 = 2; */ WiFiBand[WiFiBand["BAND_2"] = 2] = "BAND_2"; /** * /< 5GHz * * @generated from protobuf enum value: BAND_5 = 5; */ WiFiBand[WiFiBand["BAND_5"] = 5] = "BAND_5"; })(exports.WiFiBand || (exports.WiFiBand = {})); /** * / Reach uses these error codes. * * @generated from protobuf enum cr.ErrorCodes */ exports.ErrorCodes = void 0; (function (ErrorCodes) { /** * /< Normal conclusion, no problem. * * @generated from protobuf enum value: NO_ERROR = 0; */ ErrorCodes[ErrorCodes["NO_ERROR"] = 0] = "NO_ERROR"; /** * /< No data was produced * * @generated from protobuf enum value: NO_DATA = 1; */ ErrorCodes[ErrorCodes["NO_DATA"] = 1] = "NO_DATA"; /** * /< The read failed. * * @generated from protobuf enum value: READ_FAILED = 2; */ ErrorCodes[ErrorCodes["READ_FAILED"] = 2] = "READ_FAILED"; /** * /< The write failed. * * @generated from protobuf enum value: WRITE_FAILED = 3; */ ErrorCodes[ErrorCodes["WRITE_FAILED"] = 3] = "WRITE_FAILED"; /** * /< returned by weak implementations * * @generated from protobuf enum value: NOT_IMPLEMENTED = 4; */ ErrorCodes[ErrorCodes["NOT_IMPLEMENTED"] = 4] = "NOT_IMPLEMENTED"; /** * /< not yet used * * @generated from protobuf enum value: RESERVED_1 = 5; */ ErrorCodes[ErrorCodes["RESERVED_1"] = 5] = "RESERVED_1"; /** * /< not yet used * * @generated from protobuf enum value: RESERVED_2 = 6; */ ErrorCodes[ErrorCodes["RESERVED_2"] = 6] = "RESERVED_2"; /** * /< access not allowed * * @generated from protobuf enum value: PERMISSION_DENIED = 7; */ ErrorCodes[ErrorCodes["PERMISSION_DENIED"] = 7] = "PERMISSION_DENIED"; /** * /< Requested a size larger than the buffer. * * @generated from protobuf enum value: BUFFER_TOO_SMALL = 8; */ ErrorCodes[ErrorCodes["BUFFER_TOO_SMALL"] = 8] = "BUFFER_TOO_SMALL"; /** * /< Some function parameter is out of range * * @generated from protobuf enum value: INVALID_PARAMETER = 9; */ ErrorCodes[ErrorCodes["INVALID_PARAMETER"] = 9] = "INVALID_PARAMETER"; /** * /< Received data does not match checksum * * @generated from protobuf enum value: CHECKSUM_MISMATCH = 10; */ ErrorCodes[ErrorCodes["CHECKSUM_MISMATCH"] = 10] = "CHECKSUM_MISMATCH"; /** * /< Protobuf decoding failed * * @generated from protobuf enum value: DECODING_FAILED = 11; */ ErrorCodes[ErrorCodes["DECODING_FAILED"] = 11] = "DECODING_FAILED"; /** * /< Protobuf encoding failed * * @generated from protobuf enum value: ENCODING_FAILED = 12; */ ErrorCodes[ErrorCodes["ENCODING_FAILED"] = 12] = "ENCODING_FAILED"; /** * /< The current state machine does not handle this case. * * @generated from protobuf enum value: INVALID_STATE = 13; */ ErrorCodes[ErrorCodes["INVALID_STATE"] = 13] = "INVALID_STATE"; /** * /< handler signals no response is necessary * * @generated from protobuf enum value: NO_RESPONSE = 14; */ ErrorCodes[ErrorCodes["NO_RESPONSE"] = 14] = "NO_RESPONSE"; /** * /< bad file ID * * @generated from protobuf enum value: BAD_FILE = 15; */ ErrorCodes[ErrorCodes["BAD_FILE"] = 15] = "BAD_FILE"; /** * /< A received packet has an unexpected serial number * * @generated from protobuf enum value: PACKET_COUNT_ERR = 16; */ ErrorCodes[ErrorCodes["PACKET_COUNT_ERR"] = 16] = "PACKET_COUNT_ERR"; /** * /< Access denied due to challenge key * * @generated from protobuf enum value: CHALLENGE_FAILED = 17; */ ErrorCodes[ErrorCodes["CHALLENGE_FAILED"] = 17] = "CHALLENGE_FAILED"; /** * /< not yet used * * @generated from protobuf enum value: RESERVED_3 = 18; */ ErrorCodes[ErrorCodes["RESERVED_3"] = 18] = "RESERVED_3"; /** * /< Some required resource is not available. * * @generated from protobuf enum value: NO_RESOURCE = 19; */ ErrorCodes[ErrorCodes["NO_RESOURCE"] = 19] = "NO_RESOURCE"; /** * /< The ID provided is not valid * * @generated from protobuf enum value: INVALID_ID = 20; */ ErrorCodes[ErrorCodes["INVALID_ID"] = 20] = "INVALID_ID"; /** * /< The requested operation is incomplete and must be retried. * * @generated from protobuf enum value: INCOMPLETE = 21; */ ErrorCodes[ErrorCodes["INCOMPLETE"] = 21] = "INCOMPLETE"; /** * /< Operation cancellation * * @generated from protobuf enum value: ABORT = 1000; */ ErrorCodes[ErrorCodes["ABORT"] = 1000] = "ABORT"; })(exports.ErrorCodes || (exports.ErrorCodes = {})); /** * / Describes file transfer state machine * * @generated from protobuf enum cr.FileTransferState */ exports.FileTransferState = void 0; (function (FileTransferState) { /** * /< FILE_TRANSFER_INVALID * * @generated from protobuf enum value: FILE_TRANSFER_INVALID = 0; */ FileTransferState[FileTransferState["FILE_TRANSFER_INVALID"] = 0] = "FILE_TRANSFER_INVALID"; /** * /< IDLE * * @generated from protobuf enum value: IDLE = 1; */ FileTransferState[FileTransferState["IDLE"] = 1] = "IDLE"; /** * /< INIT * * @generated from protobuf enum value: INIT = 2; */ FileTransferState[FileTransferState["INIT"] = 2] = "INIT"; /** * /< DATA * * @generated from protobuf enum value: DATA = 3; */ FileTransferState[FileTransferState["DATA"] = 3] = "DATA"; /** * /< COMPLETE * * @generated from protobuf enum value: COMPLETE = 4; */ FileTransferState[FileTransferState["COMPLETE"] = 4] = "COMPLETE"; })(exports.FileTransferState || (exports.FileTransferState = {})); /** * / This describes the offset of each member of the BufferSizes message when packed for transmission * * @generated from protobuf enum cr.SizesOffsets */ exports.SizesOffsets = void 0; (function (SizesOffsets) { /** * /< uint16_t, little endian * * @generated from protobuf enum value: MAX_MESSAGE_SIZE_OFFSET = 0; */ SizesOffsets[SizesOffsets["MAX_MESSAGE_SIZE_OFFSET"] = 0] = "MAX_MESSAGE_SIZE_OFFSET"; /** * /< uint16_t, little endian * * @generated from protobuf enum value: BIG_DATA_BUFFER_SIZE_OFFSET = 2; */ SizesOffsets[SizesOffsets["BIG_DATA_BUFFER_SIZE_OFFSET"] = 2] = "BIG_DATA_BUFFER_SIZE_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: PARAMETER_BUFFER_COUNT_OFFSET = 4; */ SizesOffsets[SizesOffsets["PARAMETER_BUFFER_COUNT_OFFSET"] = 4] = "PARAMETER_BUFFER_COUNT_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: NUM_PARAMS_IN_RESPONSE_OFFSET = 5; */ SizesOffsets[SizesOffsets["NUM_PARAMS_IN_RESPONSE_OFFSET"] = 5] = "NUM_PARAMS_IN_RESPONSE_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: DESCRIPTION_LEN_OFFSET = 6; */ SizesOffsets[SizesOffsets["DESCRIPTION_LEN_OFFSET"] = 6] = "DESCRIPTION_LEN_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: MAX_PARAM_BYTES_OFFSET = 7; */ SizesOffsets[SizesOffsets["MAX_PARAM_BYTES_OFFSET"] = 7] = "MAX_PARAM_BYTES_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: PARAM_INFO_DESCRIPTION_LEN_OFFSET = 8; */ SizesOffsets[SizesOffsets["PARAM_INFO_DESCRIPTION_LEN_OFFSET"] = 8] = "PARAM_INFO_DESCRIPTION_LEN_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: MEDIUM_STRING_LEN_OFFSET = 9; */ SizesOffsets[SizesOffsets["MEDIUM_STRING_LEN_OFFSET"] = 9] = "MEDIUM_STRING_LEN_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: SHORT_STRING_LEN_OFFSET = 10; */ SizesOffsets[SizesOffsets["SHORT_STRING_LEN_OFFSET"] = 10] = "SHORT_STRING_LEN_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: PARAM_NOTIFY_CONFIG_COUNT_OFFSET = 11; */ SizesOffsets[SizesOffsets["PARAM_NOTIFY_CONFIG_COUNT_OFFSET"] = 11] = "PARAM_NOTIFY_CONFIG_COUNT_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: NUM_DESCRIPTORS_IN_RESPONSE_OFFSET = 12; */ SizesOffsets[SizesOffsets["NUM_DESCRIPTORS_IN_RESPONSE_OFFSET"] = 12] = "NUM_DESCRIPTORS_IN_RESPONSE_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: NUM_PARAM_NOTIFICATIONS_OFFSET = 13; */ SizesOffsets[SizesOffsets["NUM_PARAM_NOTIFICATIONS_OFFSET"] = 13] = "NUM_PARAM_NOTIFICATIONS_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: NUM_COMMANDS_IN_RESPONSE_OFFSET = 14; */ SizesOffsets[SizesOffsets["NUM_COMMANDS_IN_RESPONSE_OFFSET"] = 14] = "NUM_COMMANDS_IN_RESPONSE_OFFSET"; /** * /< uint8_t * * @generated from protobuf enum value: COUNT_PARAM_DESC_IN_RESPONSE_OFFSET = 15; */ SizesOffsets[SizesOffsets["COUNT_PARAM_DESC_IN_RESPONSE_OFFSET"] = 15] = "COUNT_PARAM_DESC_IN_RESPONSE_OFFSET"; /** * /< just the size * * @generated from protobuf enum value: STRUCTURE_SIZE = 16; */ SizesOffsets[SizesOffsets["STRUCTURE_SIZE"] = 16] = "STRUCTURE_SIZE"; })(exports.SizesOffsets || (exports.SizesOffsets = {})); // @generated message type with reflection information, may provide speed optimized methods class ReachMessageHeader$Type extends runtime.MessageType { constructor() { super("cr.ReachMessageHeader", [ { no: 1, name: "message_type", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }, { no: 2, name: "endpoint_id", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }, { no: 3, name: "client_id", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }, { no: 4, name: "remaining_objects", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }, { no: 5, name: "transaction_id", kind: "scalar", T: 13 /*ScalarType.UINT32*/ } ]); } create(value) { const message = globalThis.Object.create((this.messagePrototype)); message.messageType = 0; message.endpointId = 0; message.clientId = 0; message.remainingObjects = 0; message.transactionId = 0; if (value !== undefined) runtime.reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* uint32 message_type */ 1: message.messageType = reader.uint32(); break; case /* uint32 endpoint_id */ 2: message.endpointId = reader.uint32(); break; case /* uint32 client_id */ 3: message.clientId = reader.uint32(); break; case /* uint32 remaining_objects */ 4: message.remainingObjects = reader.uint32(); break; case /* uint32 transaction_id */ 5: message.transactionId = reader.uint32(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* uint32 message_type = 1; */ if (message.messageType !== 0) writer.tag(1, runtime.WireType.Varint).uint32(message.messageType); /* uint32 endpoint_id = 2; */ if (message.endpointId !== 0) writer.tag(2, runtime.WireType.Varint).uint32(message.endpointId); /* uint32 client_id = 3; */ if (message.clientId !== 0) writer.tag(3, runtime.WireType.Varint).uint32(message.clientId); /* uint32 remaining_objects = 4; */ if (message.remainingObjects !== 0) writer.tag(4, runtime.WireType.Varint).uint32(message.remainingObjects); /* uint32 transaction_id = 5; */ if (message.transactionId !== 0) writer.tag(5, runtime.WireType.Varint).uint32(message.transactionId); let u = options.writeUnknownFields; if (u !== false) (u == true ? runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message cr.ReachMessageHeader */ const ReachMessageHeader = new ReachMessageHeader$Type(); // @generated message type with reflection information, may provide speed optimized methods class ReachMessage$Type extends runtime.MessageType { constructor() { super("cr.ReachMessage", [ { no: 1, name: "header", kind: "message", T: () => ReachMessageHeader }, { no: 2, name: "payload", kind: "scalar", T: 12 /*ScalarType.BYTES*/ } ]); } create(value) { const message = globalThis.Object.create((this.messagePrototype)); message.payload = new Uint8Array(0); if (value !== undefined) runtime.reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* cr.ReachMessageHeader header */ 1: message.header = ReachMessageHeader.internalBinaryRead(reader, reader.uint32(), options, message.header); break; case /* bytes payload */ 2: message.payload = reader.bytes(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* cr.ReachMessageHeader header = 1; */ if (message.header) ReachMessageHeader.internalBinaryWrite(message.header, writer.tag(1, runtime.WireType.LengthDelimited).fork(), options).join(); /* bytes payload = 2; */ if (message.payload.length) writer.tag(2, runtime.WireType.LengthDelimited).bytes(message.payload); let u = options.writeUnknownFields; if (u !== false) (u == true ? runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message cr.ReachMessage */ const ReachMessage = new ReachMessage$Type(); // @generated message type with reflection information, may provide speed optimized methods class AhsokaMessageHeader$Type extends runtime.MessageType { constructor() { super("cr.AhsokaMessageHeader", [ { no: 1, name: "message_type", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, { no: 2, name: "transaction_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, { no: 3, name: "client_id", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }, { no: 4, name: "remaining_objects", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, { no: 5, name: "endpoint_id", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }, { no: 6, name: "is_message_compressed", kind: "scalar", T: 8 /*ScalarType.BOOL*/ } ]); } create(value) { const message = globalThis.Object.create((this.messagePrototype)); message.messageType = 0; message.transactionId = 0; message.clientId = new Uint8Array(0); message.remainingObjects = 0; message.endpointId = 0; message.isMessageCompressed = false; if (value !== undefined) runtime.reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* int32 message_type */ 1: message.messageType = reader.int32(); break; case /* int32 transaction_id */ 2: message.transactionId = reader.int32(); break; case /* bytes client_id */ 3: message.clientId = reader.bytes(); break; case /* int32 remaining_objects */ 4: message.remainingObjects = reader.int32(); break; case /* uint32 endpoint_id */ 5: message.endpointId = reader.uint32(); break; case /* bool is_message_compressed */ 6: message.isMessageCompressed = reader.bool(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* int32 message_type = 1; */ if (message.messageType !== 0) writer.tag(1, runtime.WireType.Varint).int32(message.messageType); /* int32 transaction_id = 2; */ if (message.transactionId !== 0) writer.tag(2, runtime.WireType.Varint).int32(message.transactionId); /* bytes client_id = 3; */ if (message.clientId.length) writer.tag(3, runtime.WireType.LengthDelimited).bytes(message.clientId); /* int32 remaining_objects = 4; */ if (message.remainingObjects !== 0) writer.tag(4, runtime.WireType.Varint).int32(message.remainingObjects); /* uint32 endpoint_id = 5; */ if (message.endpointId !== 0) writer.tag(5, runtime.WireType.Varint).uint32(message.endpointId); /* bool is_message_compressed = 6; */ if (message.isMessageCompressed !== false) writer.tag(6, runtime.WireType.Varint).bool(message.isMessageCompressed); let u = options.writeUnknownFields; if (u !== false) (u == true ? runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message cr.AhsokaMessageHeader */ const AhsokaMessageHeader = new AhsokaMessageHeader$Type(); // @generated message type with reflection information, may provide speed optimized methods class ErrorReport$Type extends runtime.MessageType { constructor() { super("cr.ErrorReport", [ { no: 1, name: "result", kind: "scalar", T: 5 /*ScalarType.INT32*/ }, { no: 2, name: "result_message", kind: "scalar", T: 9 /*ScalarType.STRING*/ } ]); } create(value) { const message = globalThis.Object.create((this.messagePrototype)); message.result = 0; message.resultMessage = ""; if (value !== undefined) runtime.reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* int32 result */ 1: message.result = reader.int32(); break; case /* string result_message */ 2: message.resultMessage = reader.string(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* int32 result = 1; */ if (message.result !== 0) writer.tag(1, runtime.WireType.Varint).int32(message.result); /* string result_message = 2; */ if (message.resultMessage !== "") writer.tag(2, runtime.WireType.LengthDelimited).string(message.resultMessage); let u = options.writeUnknownFields; if (u !== false) (u == true ? runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message cr.ErrorReport */ const ErrorReport = new ErrorReport$Type(); // @generated message type with reflection information, may provide speed optimized methods class PingRequest$Type extends runtime.MessageType { constructor() { super("cr.PingRequest", [ { no: 1, name: "echo_data", kind: "scalar", T: 12 /*ScalarType.BYTES*/ } ]); } create(value) { const message = globalThis.Object.create((this.messagePrototype)); message.echoData = new Uint8Array(0); if (value !== undefined) runtime.reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* bytes echo_data */ 1: message.echoData = reader.bytes(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* bytes echo_data = 1; */ if (message.echoData.length) writer.tag(1, runtime.WireType.LengthDelimited).bytes(message.echoData); let u = options.writeUnknownFields; if (u !== false) (u == true ? runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message cr.PingRequest */ const PingRequest = new PingRequest$Type(); // @generated message type with reflection information, may provide speed optimized methods class PingResponse$Type extends runtime.MessageType { constructor() { super("cr.PingResponse", [ { no: 1, name: "echo_data", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }, { no: 2, name: "signal_strength", kind: "scalar", T: 5 /*ScalarType.INT32*/ } ]); } create(value) { const message = globalThis.Object.create((this.messagePrototype)); message.echoData = new Uint8Array(0); message.signalStrength = 0; if (value !== undefined) runtime.reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* bytes echo_data */ 1: message.echoData = reader.bytes(); break; case /* int32 signal_strength */ 2: message.signalStrength = reader.int32(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); } } return message; } internalBinaryWrite(message, writer, options) { /* bytes echo_data = 1; */ if (message.echoData.length) writer.tag(1, runtime.WireType.LengthDelimited).bytes(message.echoData); /* int32 signal_strength = 2; */ if (message.signalStrength !== 0) writer.tag(2, runtime.WireType.Varint).int32(message.signalStrength); let u = options.writeUnknownFields; if (u !== false) (u == true ? runtime.UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); return writer; } } /** * @generated MessageType for protobuf message cr.PingResponse */ const PingResponse = new PingResponse$Type(); // @generated message type with reflection information, may provide speed optimized methods class DeviceInfoRequest$Type extends runtime.MessageType { constructor() { super("cr.DeviceInfoRequest", [ { no: 1, name: "challenge_key", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }, { no: 2, name: "client_protocol_version", kind: "scalar", T: 9 /*ScalarType.STRING*/ } ]); } create(value) { const message = globalThis.Object.create((this.messagePrototype)); message.clientProtocolVersion = ""; if (value !== undefined) runtime.reflectionMergePartial(this, message, value); return message; } internalBinaryRead(reader, length, options, target) { let message = target ?? this.create(), end = reader.pos + length; while (reader.pos < end) { let [fieldNo, wireType] = reader.tag(); switch (fieldNo) { case /* optional string challenge_key */ 1: message.challengeKey = reader.string(); break; case /* string client_protocol_version */ 2: message.clientProtocolVersion = reader.string(); break; default: let u = options.readUnknownField; if (u === "throw") throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`); let d = reader.skip(wireType); if (u !== false) (u === true ? runtime.UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d); }