diff options
author | Albert Kharisov <albert@flipperdevices.com> | 2021-09-17 10:11:43 +0300 |
---|---|---|
committer | Albert Kharisov <albert@flipperdevices.com> | 2021-09-17 10:19:30 +0300 |
commit | 5946320214188cd7d95e5f9c8af114161145175c (patch) | |
tree | 6d305f5f3810466c81c45bdb7b85f6d93aef68bc | |
parent | 5d6125ae0d6229b4dfecc41d064f4f80f5a5e90a (diff) |
Add Ping, Storage List/Read/Write
-rw-r--r-- | flipper.proto | 27 | ||||
-rw-r--r-- | status.proto | 10 | ||||
-rw-r--r-- | storage.proto | 39 |
3 files changed, 67 insertions, 9 deletions
diff --git a/flipper.proto b/flipper.proto index 8d84c0f..266a9ce 100644 --- a/flipper.proto +++ b/flipper.proto @@ -1,2 +1,27 @@ syntax = "proto3"; -import "storage.proto";
\ No newline at end of file +import "storage.proto"; +import "status.proto"; + +package Main; + +message Request { + uint64 uid = 1; + oneof content { + Status.PingRequest ping_request = 2; + Storage.ListRequest storage_list_request = 3; + Storage.ReadRequest storage_read_request = 4; + Storage.WriteRequest storage_write_request = 5; + } + bool last = 15; +} + +message Response { + uint64 uid = 1; + oneof content { + Status.PingResponse ping_response = 2; + Storage.ListResponse storage_list_response = 3; + Storage.ReadResponse storage_read_response = 4; + Storage.WriteResponse storage_write_response = 5; + } + bool last = 15; +} diff --git a/status.proto b/status.proto new file mode 100644 index 0000000..bf1ac30 --- /dev/null +++ b/status.proto @@ -0,0 +1,10 @@ +syntax = "proto3"; + +package Status; + +message PingRequest { +} + +message PingResponse { +} + diff --git a/storage.proto b/storage.proto index c4b7aad..2faf86f 100644 --- a/storage.proto +++ b/storage.proto @@ -1,18 +1,41 @@ syntax = "proto3"; -message StorageListRequest { - string path = 1; -} +package Storage; -message StorageListAnswer { +message Element { enum FileType { - FILE = 0; + FILE = 0; // default value DIR = 1; } FileType type = 1; string name = 2; - optional uint64 size = 3; + uint64 size = 3; + bytes data = 4; +} + +message ListRequest { + string path = 1; +} + +message ListResponse { + repeated Element storage_element = 1; +} + +message ReadRequest { + string filepath = 1; +} + +message ReadResponse { + string error = 1; + repeated Element storage_element = 2; +} + +message WriteRequest { + string filepath = 1; + repeated Element storage_element = 2; +} + +message WriteResponse { + string error = 1; } -message StorageListEOF { -}
\ No newline at end of file |