| syntax = "proto3"; |
| |
| package chip.rpc; |
| |
| import 'pw_protobuf_protos/common.proto'; |
| |
| message PairingInfo { |
| uint32 code = 1; |
| uint32 discriminator = 2; |
| string qr_code = 3; |
| string qr_code_url = 4; |
| } |
| |
| message SpakeInfo { |
| optional bytes verifier = 1; |
| optional bytes salt = 2; |
| optional uint32 iteration_count = 3; |
| } |
| |
| // type lengths defined in chip spec 8.2.3.1 |
| message DeviceInfo { |
| uint32 vendor_id = 1; |
| uint32 product_id = 2; |
| uint32 software_version = 3; |
| string serial_number = 4; |
| PairingInfo pairing_info = 5; |
| string software_version_string = 6; |
| } |
| |
| message FabricInfo { |
| uint64 fabric_id = 1; |
| uint64 node_id = 2; |
| } |
| |
| message DeviceState { |
| uint64 time_since_boot_millis = 1; |
| repeated FabricInfo fabric_info = 2; |
| } |
| |
| message PairingState { |
| bool pairing_enabled = 1; |
| } |
| |
| message MetadataForProvider { |
| bytes tlv = 1; |
| } |
| |
| service Device { |
| rpc FactoryReset(pw.protobuf.Empty) returns (pw.protobuf.Empty){} |
| rpc Reboot(pw.protobuf.Empty) returns (pw.protobuf.Empty){} |
| rpc TriggerOta(pw.protobuf.Empty) returns (pw.protobuf.Empty){} |
| rpc SetOtaMetadataForProvider(MetadataForProvider) returns (pw.protobuf.Empty){} |
| rpc GetDeviceInfo(pw.protobuf.Empty) returns (DeviceInfo){} |
| rpc GetDeviceState(pw.protobuf.Empty) returns (DeviceState){} |
| rpc SetPairingState(PairingState) returns (pw.protobuf.Empty){} |
| rpc GetPairingState(pw.protobuf.Empty) returns (PairingState){} |
| rpc SetPairingInfo(PairingInfo) returns (pw.protobuf.Empty){} |
| rpc GetSpakeInfo(pw.protobuf.Empty) returns (SpakeInfo){} |
| rpc SetSpakeInfo(SpakeInfo) returns (pw.protobuf.Empty){} |
| } |