summaryrefslogtreecommitdiffstats
path: root/protos/vss-notification.proto
blob: 6a40d7aa3abfd24acaee4e8d79aa046fcc39c972 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/********************************************************************************
 * Copyright (c) 2022 Contributors to the Eclipse Foundation
 * Copyright (c) 2024 Konsulko Group
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Apache License 2.0 which is available at
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * SPDX-License-Identifier: Apache-2.0
 ********************************************************************************/

syntax = "proto3";

package agl;

import "google/protobuf/timestamp.proto";

message SignalUpdateNotification {
  string clientId = 1;
  repeated SignalUpdateEntry signals = 2;
}

/*
 * Derived from KUKSA.val's Datapoint
 *
 * Type conversions from VSS types follow the rules outlined in:
 * https://github.com/eclipse/kuksa.val/blob/master/kuksa_databroker/doc/TYPES.md
 */

message SignalUpdateEntry {
  oneof signal {
    string path = 1;
    string uuid = 2;
  }

  google.protobuf.Timestamp timestamp = 3;

  oneof value {
    string string            = 11;
    bool bool                = 12;
    sint32 int32             = 13;
    sint64 int64             = 14;
    uint32 uint32            = 15;
    uint64 uint64            = 16;
    float float              = 17;
    double double            = 18;
    StringArray string_array = 21;
    BoolArray bool_array     = 22;
    Int32Array int32_array   = 23;
    Int64Array int64_array   = 24;
    Uint32Array uint32_array = 25;
    Uint64Array uint64_array = 26;
    FloatArray float_array   = 27;
    DoubleArray double_array = 28;
  }
}

message StringArray {
  repeated string values = 1;
}

message BoolArray {
  repeated bool values = 1;
}

message Int32Array {
  repeated sint32 values = 1;
}

message Int64Array {
  repeated sint64 values = 1;
}

message Uint32Array {
  repeated uint32 values = 1;
}

message Uint64Array {
  repeated uint64 values = 1;
}

message FloatArray {
  repeated float values = 1;
}

message DoubleArray {
  repeated double values = 1;
}