File: session.proto

package info (click to toggle)
chromium 138.0.7204.183-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,071,908 kB
  • sloc: cpp: 34,937,088; ansic: 7,176,967; javascript: 4,110,704; python: 1,419,953; asm: 946,768; xml: 739,971; pascal: 187,324; sh: 89,623; perl: 88,663; objc: 79,944; sql: 50,304; cs: 41,786; fortran: 24,137; makefile: 21,806; php: 13,980; tcl: 13,166; yacc: 8,925; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (224 lines) | stat: -rw-r--r-- 3,806 bytes parent folder | download | duplicates (6)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
// Imported from
// //depot/google3/google/internal/chrome/cros/edu/schooltools/v1/session.proto
syntax = "proto3";

package boca;

import "chromeos/ash/components/boca/proto/bundle.proto";
import "chromeos/ash/components/boca/proto/roster.proto";

option optimize_for = LITE_RUNTIME;

// Below copied proto are due to exist in `protobuf_full` source not
// `protobuf_lite`. The former cannot be included into chrome due to its large
// size. Copied from //third_party/protobuf/src/google/protobuf/duration.proto
message Duration {
  int64 seconds = 1;
  int32 nanos = 2;
}

// Copied from //third_party/protobuf/src/google/protobuf/timestamp.proto
// Measured as seconds + nanos from the epoch (00:00:00 UTC on 1 January 1970).
message Timestamp {
  int64 seconds = 1;
  int32 nanos = 2;
}

message Session {
  reserved 8;

  string session_id = 1;

  UserIdentity teacher = 2;

  Roster roster = 3;

  JoinCode join_code = 4;

  map<string, SessionConfig> student_group_configs = 5;

  map<string, StudentStatus> student_statuses = 6;

  Timestamp start_time = 7;

  Duration duration = 11;

  TeacherCaptionsConfig teacher_captions_config = 12;

  string tachyon_group_id = 13;

  bool save_transcript = 9;

  enum SessionState {
    SESSION_STATE_UNKNOWN = 0;

    PLANNING = 1;

    ACTIVE = 2;

    PAST = 3;
  }

  SessionState session_state = 10;
}

message JoinCode {
  bool enabled = 1;

  string code = 2;
}

message SessionConfig {
  OnTaskConfig on_task_config = 1;

  CaptionsConfig captions_config = 2;
}

message OnTaskConfig {
  Bundle active_bundle = 1;

  bool close_previous_locked_bundle = 2;
}

message CaptionsConfig {
  bool captions_enabled = 1;

  bool translations_enabled = 2;

  repeated string allowed_language_codes = 3;
}

message StudentStatus {
  reserved 2;

  enum StudentState {
    STUDENT_STATE_UNKNOWN = 0;

    NOT_FOUND = 1;

    ADDED = 2;

    ACTIVE = 3;

    REMOVED_BY_OTHER_SESSION = 4;

    REMOVED_BY_BEING_TEACHER = 5;

    REMOVED_BY_TEACHER = 6;

    NOT_ADDED_CONFIGURED_AS_TEACHER = 7;

    NOT_ADDED_NOT_CONFIGURED = 8;
  }

  StudentState state = 1;

  map<string, StudentDevice> devices = 3;

  Timestamp raised_hand_time = 4;

  bool in_tachyon_group = 5;
}

message StudentDevice {
  DeviceInfo info = 1;

  enum StudentDeviceState {
    STUDENT_DEVICE_STATE_UNKNOWN = 0;

    ACTIVE = 1;

    INACTIVE = 2;
  }

  StudentDeviceState state = 2;

  StudentDeviceActivity activity = 3;

  ViewScreenConfig view_screen_config = 4;
}

message ViewScreenConfig {
  enum ViewScreenState {
    UNKNOWN = 0;

    REQUESTED = 1;

    AVAILABLE = 2;

    ACTIVE = 3;

    INACTIVE = 4;
  }

  ViewScreenState view_screen_state = 1;

  ConnectionParameter connection_param = 2;

  ViewScreenDevice view_screen_requester = 3;
}

message ConnectionParameter {
  string connection_code = 1;
}

message ViewScreenDevice {
  UserIdentity user = 1;

  DeviceInfo info = 2;

  UserIdentity service_account = 3;
}

message DeviceInfo {
  string device_id = 1;

  FeatureSupport feature_support = 2;
}

message FeatureSupport {
  bool view_screen = 1;
}

message StudentDeviceActivity {
  ActiveTab active_tab = 1;

  CaptionsActivity captions_activity = 2;
}

message ActiveTab {
  string url = 1;

  string title = 2;

  string favicon_url = 3;

  Timestamp time_opened = 4;
}

message CaptionsActivity {
  reserved 2, 3;

  string language_code = 1;

  // Set to "false" to denote disabled captions.
  bool enabled = 4;

  Timestamp activity_time = 5;
}

message TeacherCaptionsConfig {
  string capturing_audio_device_id = 1;

  string capturing_audio_language_code = 3;

  map<string, DeviceCaptionsConfig> device_captions_configs = 2;
}

message DeviceCaptionsConfig {
  DeviceInfo device_info = 1;

  bool captions_enabled = 2;

  string language_code = 3;
}