summaryrefslogtreecommitdiff
path: root/src/leap/common/events/signal.proto
blob: 336471ca4582a27b5b21d398c3795fcd1ecde471 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// signal.proto
// Copyright (C) 2013 LEA
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.

package leap.common.events;

message SignalRequest {

  enum Signal {
    CLIENT_SESSION_ID = 1;
    CLIENT_UID = 2;
    SOLEDAD_CREATING_KEYS = 3;
    SOLEDAD_DONE_CREATING_KEYS = 4;
    SOLEDAD_UPLOADING_KEYS = 5;
    SOLEDAD_DONE_UPLOADING_KEYS = 6;
    SOLEDAD_DOWNLOADING_KEYS = 7;
    SOLEDAD_DONE_DOWNLOADING_KEYS = 8;
    SOLEDAD_NEW_DATA_TO_SYNC = 9;
    SOLEDAD_DONE_DATA_SYNC = 10;
  }

  required int32 id = 1;
  required Signal signal = 2;
  required string content = 3;
  required string mac_method = 4;
  required bytes mac = 5;
  optional string enc_method = 6;
  optional bool error_occurred = 7;
}

message SignalResponse {

  enum Status {
    OK = 1;
    UNAUTH = 2;
    ERROR = 3;
  }

  required int32 id = 1;
  required Status status = 2;
}

service SignalService {
  rpc signal(SignalRequest) returns (SignalResponse);
}