1// Auto-generated to Go types and interfaces using avdl-compiler v1.4.9 (https://github.com/keybase/node-avdl-compiler)
2//   Input file: avdl/chat1/gregor.avdl
3
4package chat1
5
6import (
7	gregor1 "github.com/keybase/client/go/protocol/gregor1"
8	keybase1 "github.com/keybase/client/go/protocol/keybase1"
9	"github.com/keybase/go-framed-msgpack-rpc/rpc"
10)
11
12type GenericPayload struct {
13	Action       string         `codec:"Action" json:"Action"`
14	InboxVers    InboxVers      `codec:"inboxVers" json:"inboxVers"`
15	ConvID       ConversationID `codec:"convID" json:"convID"`
16	TopicType    TopicType      `codec:"topicType" json:"topicType"`
17	UnreadUpdate *UnreadUpdate  `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
18}
19
20func (o GenericPayload) DeepCopy() GenericPayload {
21	return GenericPayload{
22		Action:    o.Action,
23		InboxVers: o.InboxVers.DeepCopy(),
24		ConvID:    o.ConvID.DeepCopy(),
25		TopicType: o.TopicType.DeepCopy(),
26		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
27			if x == nil {
28				return nil
29			}
30			tmp := (*x).DeepCopy()
31			return &tmp
32		})(o.UnreadUpdate),
33	}
34}
35
36type NewConversationPayload struct {
37	Action       string         `codec:"Action" json:"Action"`
38	ConvID       ConversationID `codec:"convID" json:"convID"`
39	InboxVers    InboxVers      `codec:"inboxVers" json:"inboxVers"`
40	TopicType    TopicType      `codec:"topicType" json:"topicType"`
41	UnreadUpdate *UnreadUpdate  `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
42}
43
44func (o NewConversationPayload) DeepCopy() NewConversationPayload {
45	return NewConversationPayload{
46		Action:    o.Action,
47		ConvID:    o.ConvID.DeepCopy(),
48		InboxVers: o.InboxVers.DeepCopy(),
49		TopicType: o.TopicType.DeepCopy(),
50		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
51			if x == nil {
52				return nil
53			}
54			tmp := (*x).DeepCopy()
55			return &tmp
56		})(o.UnreadUpdate),
57	}
58}
59
60type NewMessagePayload struct {
61	Action            string            `codec:"Action" json:"Action"`
62	ConvID            ConversationID    `codec:"convID" json:"convID"`
63	Message           MessageBoxed      `codec:"message" json:"message"`
64	InboxVers         InboxVers         `codec:"inboxVers" json:"inboxVers"`
65	TopicType         TopicType         `codec:"topicType" json:"topicType"`
66	UnreadUpdate      *UnreadUpdate     `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
67	UntrustedTeamRole keybase1.TeamRole `codec:"untrustedTeamRole" json:"untrustedTeamRole"`
68	MaxMsgs           []MessageSummary  `codec:"maxMsgs" json:"maxMsgs"`
69}
70
71func (o NewMessagePayload) DeepCopy() NewMessagePayload {
72	return NewMessagePayload{
73		Action:    o.Action,
74		ConvID:    o.ConvID.DeepCopy(),
75		Message:   o.Message.DeepCopy(),
76		InboxVers: o.InboxVers.DeepCopy(),
77		TopicType: o.TopicType.DeepCopy(),
78		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
79			if x == nil {
80				return nil
81			}
82			tmp := (*x).DeepCopy()
83			return &tmp
84		})(o.UnreadUpdate),
85		UntrustedTeamRole: o.UntrustedTeamRole.DeepCopy(),
86		MaxMsgs: (func(x []MessageSummary) []MessageSummary {
87			if x == nil {
88				return nil
89			}
90			ret := make([]MessageSummary, len(x))
91			for i, v := range x {
92				vCopy := v.DeepCopy()
93				ret[i] = vCopy
94			}
95			return ret
96		})(o.MaxMsgs),
97	}
98}
99
100type ReadMessagePayload struct {
101	Action       string         `codec:"Action" json:"Action"`
102	ConvID       ConversationID `codec:"convID" json:"convID"`
103	MsgID        MessageID      `codec:"msgID" json:"msgID"`
104	InboxVers    InboxVers      `codec:"inboxVers" json:"inboxVers"`
105	TopicType    TopicType      `codec:"topicType" json:"topicType"`
106	UnreadUpdate *UnreadUpdate  `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
107}
108
109func (o ReadMessagePayload) DeepCopy() ReadMessagePayload {
110	return ReadMessagePayload{
111		Action:    o.Action,
112		ConvID:    o.ConvID.DeepCopy(),
113		MsgID:     o.MsgID.DeepCopy(),
114		InboxVers: o.InboxVers.DeepCopy(),
115		TopicType: o.TopicType.DeepCopy(),
116		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
117			if x == nil {
118				return nil
119			}
120			tmp := (*x).DeepCopy()
121			return &tmp
122		})(o.UnreadUpdate),
123	}
124}
125
126type SetStatusPayload struct {
127	Action       string             `codec:"Action" json:"Action"`
128	ConvID       ConversationID     `codec:"convID" json:"convID"`
129	Status       ConversationStatus `codec:"status" json:"status"`
130	InboxVers    InboxVers          `codec:"inboxVers" json:"inboxVers"`
131	TopicType    TopicType          `codec:"topicType" json:"topicType"`
132	UnreadUpdate *UnreadUpdate      `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
133}
134
135func (o SetStatusPayload) DeepCopy() SetStatusPayload {
136	return SetStatusPayload{
137		Action:    o.Action,
138		ConvID:    o.ConvID.DeepCopy(),
139		Status:    o.Status.DeepCopy(),
140		InboxVers: o.InboxVers.DeepCopy(),
141		TopicType: o.TopicType.DeepCopy(),
142		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
143			if x == nil {
144				return nil
145			}
146			tmp := (*x).DeepCopy()
147			return &tmp
148		})(o.UnreadUpdate),
149	}
150}
151
152type TeamTypePayload struct {
153	Action       string         `codec:"Action" json:"Action"`
154	ConvID       ConversationID `codec:"convID" json:"convID"`
155	TeamType     TeamType       `codec:"teamType" json:"teamType"`
156	InboxVers    InboxVers      `codec:"inboxVers" json:"inboxVers"`
157	TopicType    TopicType      `codec:"topicType" json:"topicType"`
158	UnreadUpdate *UnreadUpdate  `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
159}
160
161func (o TeamTypePayload) DeepCopy() TeamTypePayload {
162	return TeamTypePayload{
163		Action:    o.Action,
164		ConvID:    o.ConvID.DeepCopy(),
165		TeamType:  o.TeamType.DeepCopy(),
166		InboxVers: o.InboxVers.DeepCopy(),
167		TopicType: o.TopicType.DeepCopy(),
168		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
169			if x == nil {
170				return nil
171			}
172			tmp := (*x).DeepCopy()
173			return &tmp
174		})(o.UnreadUpdate),
175	}
176}
177
178type SetAppNotificationSettingsPayload struct {
179	Action       string                       `codec:"Action" json:"Action"`
180	ConvID       ConversationID               `codec:"convID" json:"convID"`
181	InboxVers    InboxVers                    `codec:"inboxVers" json:"inboxVers"`
182	Settings     ConversationNotificationInfo `codec:"settings" json:"settings"`
183	TopicType    TopicType                    `codec:"topicType" json:"topicType"`
184	UnreadUpdate *UnreadUpdate                `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
185}
186
187func (o SetAppNotificationSettingsPayload) DeepCopy() SetAppNotificationSettingsPayload {
188	return SetAppNotificationSettingsPayload{
189		Action:    o.Action,
190		ConvID:    o.ConvID.DeepCopy(),
191		InboxVers: o.InboxVers.DeepCopy(),
192		Settings:  o.Settings.DeepCopy(),
193		TopicType: o.TopicType.DeepCopy(),
194		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
195			if x == nil {
196				return nil
197			}
198			tmp := (*x).DeepCopy()
199			return &tmp
200		})(o.UnreadUpdate),
201	}
202}
203
204type ExpungePayload struct {
205	Action       string           `codec:"Action" json:"Action"`
206	ConvID       ConversationID   `codec:"convID" json:"convID"`
207	InboxVers    InboxVers        `codec:"inboxVers" json:"inboxVers"`
208	Expunge      Expunge          `codec:"expunge" json:"expunge"`
209	MaxMsgs      []MessageSummary `codec:"maxMsgs" json:"maxMsgs"`
210	TopicType    TopicType        `codec:"topicType" json:"topicType"`
211	UnreadUpdate *UnreadUpdate    `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
212}
213
214func (o ExpungePayload) DeepCopy() ExpungePayload {
215	return ExpungePayload{
216		Action:    o.Action,
217		ConvID:    o.ConvID.DeepCopy(),
218		InboxVers: o.InboxVers.DeepCopy(),
219		Expunge:   o.Expunge.DeepCopy(),
220		MaxMsgs: (func(x []MessageSummary) []MessageSummary {
221			if x == nil {
222				return nil
223			}
224			ret := make([]MessageSummary, len(x))
225			for i, v := range x {
226				vCopy := v.DeepCopy()
227				ret[i] = vCopy
228			}
229			return ret
230		})(o.MaxMsgs),
231		TopicType: o.TopicType.DeepCopy(),
232		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
233			if x == nil {
234				return nil
235			}
236			tmp := (*x).DeepCopy()
237			return &tmp
238		})(o.UnreadUpdate),
239	}
240}
241
242type UnreadUpdate struct {
243	ConvID                  ConversationID              `codec:"convID" json:"convID"`
244	UnreadMessages          int                         `codec:"unreadMessages" json:"unreadMessages"`
245	UnreadNotifyingMessages map[keybase1.DeviceType]int `codec:"unreadNotifyingMessages" json:"unreadNotifyingMessages"`
246	CompatUnreadMessages    int                         `codec:"UnreadMessages" json:"UnreadMessages"`
247	Diff                    bool                        `codec:"diff" json:"diff"`
248}
249
250func (o UnreadUpdate) DeepCopy() UnreadUpdate {
251	return UnreadUpdate{
252		ConvID:         o.ConvID.DeepCopy(),
253		UnreadMessages: o.UnreadMessages,
254		UnreadNotifyingMessages: (func(x map[keybase1.DeviceType]int) map[keybase1.DeviceType]int {
255			if x == nil {
256				return nil
257			}
258			ret := make(map[keybase1.DeviceType]int, len(x))
259			for k, v := range x {
260				kCopy := k.DeepCopy()
261				vCopy := v
262				ret[kCopy] = vCopy
263			}
264			return ret
265		})(o.UnreadNotifyingMessages),
266		CompatUnreadMessages: o.CompatUnreadMessages,
267		Diff:                 o.Diff,
268	}
269}
270
271type TLFFinalizeUpdate struct {
272	FinalizeInfo ConversationFinalizeInfo `codec:"finalizeInfo" json:"finalizeInfo"`
273	ConvIDs      []ConversationID         `codec:"convIDs" json:"convIDs"`
274	InboxVers    InboxVers                `codec:"inboxVers" json:"inboxVers"`
275}
276
277func (o TLFFinalizeUpdate) DeepCopy() TLFFinalizeUpdate {
278	return TLFFinalizeUpdate{
279		FinalizeInfo: o.FinalizeInfo.DeepCopy(),
280		ConvIDs: (func(x []ConversationID) []ConversationID {
281			if x == nil {
282				return nil
283			}
284			ret := make([]ConversationID, len(x))
285			for i, v := range x {
286				vCopy := v.DeepCopy()
287				ret[i] = vCopy
288			}
289			return ret
290		})(o.ConvIDs),
291		InboxVers: o.InboxVers.DeepCopy(),
292	}
293}
294
295type TLFResolveUpdate struct {
296	ConvID    ConversationID `codec:"convID" json:"convID"`
297	InboxVers InboxVers      `codec:"inboxVers" json:"inboxVers"`
298}
299
300func (o TLFResolveUpdate) DeepCopy() TLFResolveUpdate {
301	return TLFResolveUpdate{
302		ConvID:    o.ConvID.DeepCopy(),
303		InboxVers: o.InboxVers.DeepCopy(),
304	}
305}
306
307type RemoteUserTypingUpdate struct {
308	Uid      gregor1.UID      `codec:"uid" json:"uid"`
309	DeviceID gregor1.DeviceID `codec:"deviceID" json:"deviceID"`
310	ConvID   ConversationID   `codec:"convID" json:"convID"`
311	Typing   bool             `codec:"typing" json:"typing"`
312	TeamType TeamType         `codec:"t" json:"teamType"`
313}
314
315func (o RemoteUserTypingUpdate) DeepCopy() RemoteUserTypingUpdate {
316	return RemoteUserTypingUpdate{
317		Uid:      o.Uid.DeepCopy(),
318		DeviceID: o.DeviceID.DeepCopy(),
319		ConvID:   o.ConvID.DeepCopy(),
320		Typing:   o.Typing,
321		TeamType: o.TeamType.DeepCopy(),
322	}
323}
324
325type TeamMemberRoleUpdate struct {
326	TlfID TLFID             `codec:"tlfID" json:"tlfID"`
327	Role  keybase1.TeamRole `codec:"role" json:"role"`
328}
329
330func (o TeamMemberRoleUpdate) DeepCopy() TeamMemberRoleUpdate {
331	return TeamMemberRoleUpdate{
332		TlfID: o.TlfID.DeepCopy(),
333		Role:  o.Role.DeepCopy(),
334	}
335}
336
337type UpdateConversationMembership struct {
338	InboxVers            InboxVers             `codec:"inboxVers" json:"inboxVers"`
339	TeamMemberRoleUpdate *TeamMemberRoleUpdate `codec:"teamMemberRoleUpdate,omitempty" json:"teamMemberRoleUpdate,omitempty"`
340	Joined               []ConversationMember  `codec:"joined" json:"joined"`
341	Removed              []ConversationMember  `codec:"removed" json:"removed"`
342	Reset                []ConversationMember  `codec:"reset" json:"reset"`
343	Previewed            []ConversationID      `codec:"previewed" json:"previewed"`
344	UnreadUpdate         *UnreadUpdate         `codec:"unreadUpdate,omitempty" json:"unreadUpdate,omitempty"`
345	UnreadUpdates        []UnreadUpdate        `codec:"unreadUpdates" json:"unreadUpdates"`
346}
347
348func (o UpdateConversationMembership) DeepCopy() UpdateConversationMembership {
349	return UpdateConversationMembership{
350		InboxVers: o.InboxVers.DeepCopy(),
351		TeamMemberRoleUpdate: (func(x *TeamMemberRoleUpdate) *TeamMemberRoleUpdate {
352			if x == nil {
353				return nil
354			}
355			tmp := (*x).DeepCopy()
356			return &tmp
357		})(o.TeamMemberRoleUpdate),
358		Joined: (func(x []ConversationMember) []ConversationMember {
359			if x == nil {
360				return nil
361			}
362			ret := make([]ConversationMember, len(x))
363			for i, v := range x {
364				vCopy := v.DeepCopy()
365				ret[i] = vCopy
366			}
367			return ret
368		})(o.Joined),
369		Removed: (func(x []ConversationMember) []ConversationMember {
370			if x == nil {
371				return nil
372			}
373			ret := make([]ConversationMember, len(x))
374			for i, v := range x {
375				vCopy := v.DeepCopy()
376				ret[i] = vCopy
377			}
378			return ret
379		})(o.Removed),
380		Reset: (func(x []ConversationMember) []ConversationMember {
381			if x == nil {
382				return nil
383			}
384			ret := make([]ConversationMember, len(x))
385			for i, v := range x {
386				vCopy := v.DeepCopy()
387				ret[i] = vCopy
388			}
389			return ret
390		})(o.Reset),
391		Previewed: (func(x []ConversationID) []ConversationID {
392			if x == nil {
393				return nil
394			}
395			ret := make([]ConversationID, len(x))
396			for i, v := range x {
397				vCopy := v.DeepCopy()
398				ret[i] = vCopy
399			}
400			return ret
401		})(o.Previewed),
402		UnreadUpdate: (func(x *UnreadUpdate) *UnreadUpdate {
403			if x == nil {
404				return nil
405			}
406			tmp := (*x).DeepCopy()
407			return &tmp
408		})(o.UnreadUpdate),
409		UnreadUpdates: (func(x []UnreadUpdate) []UnreadUpdate {
410			if x == nil {
411				return nil
412			}
413			ret := make([]UnreadUpdate, len(x))
414			for i, v := range x {
415				vCopy := v.DeepCopy()
416				ret[i] = vCopy
417			}
418			return ret
419		})(o.UnreadUpdates),
420	}
421}
422
423type ConversationUpdate struct {
424	ConvID    ConversationID        `codec:"convID" json:"convID"`
425	Existence ConversationExistence `codec:"existence" json:"existence"`
426}
427
428func (o ConversationUpdate) DeepCopy() ConversationUpdate {
429	return ConversationUpdate{
430		ConvID:    o.ConvID.DeepCopy(),
431		Existence: o.Existence.DeepCopy(),
432	}
433}
434
435type UpdateConversations struct {
436	InboxVers   InboxVers            `codec:"inboxVers" json:"inboxVers"`
437	ConvUpdates []ConversationUpdate `codec:"convUpdates" json:"convUpdates"`
438}
439
440func (o UpdateConversations) DeepCopy() UpdateConversations {
441	return UpdateConversations{
442		InboxVers: o.InboxVers.DeepCopy(),
443		ConvUpdates: (func(x []ConversationUpdate) []ConversationUpdate {
444			if x == nil {
445				return nil
446			}
447			ret := make([]ConversationUpdate, len(x))
448			for i, v := range x {
449				vCopy := v.DeepCopy()
450				ret[i] = vCopy
451			}
452			return ret
453		})(o.ConvUpdates),
454	}
455}
456
457type SetConvRetentionUpdate struct {
458	InboxVers InboxVers       `codec:"inboxVers" json:"inboxVers"`
459	ConvID    ConversationID  `codec:"convID" json:"convID"`
460	Policy    RetentionPolicy `codec:"policy" json:"policy"`
461}
462
463func (o SetConvRetentionUpdate) DeepCopy() SetConvRetentionUpdate {
464	return SetConvRetentionUpdate{
465		InboxVers: o.InboxVers.DeepCopy(),
466		ConvID:    o.ConvID.DeepCopy(),
467		Policy:    o.Policy.DeepCopy(),
468	}
469}
470
471type SetTeamRetentionUpdate struct {
472	InboxVers InboxVers       `codec:"inboxVers" json:"inboxVers"`
473	TeamID    keybase1.TeamID `codec:"teamID" json:"teamID"`
474	Policy    RetentionPolicy `codec:"policy" json:"policy"`
475}
476
477func (o SetTeamRetentionUpdate) DeepCopy() SetTeamRetentionUpdate {
478	return SetTeamRetentionUpdate{
479		InboxVers: o.InboxVers.DeepCopy(),
480		TeamID:    o.TeamID.DeepCopy(),
481		Policy:    o.Policy.DeepCopy(),
482	}
483}
484
485type SetConvSettingsUpdate struct {
486	InboxVers    InboxVers             `codec:"inboxVers" json:"inboxVers"`
487	ConvID       ConversationID        `codec:"convID" json:"convID"`
488	ConvSettings *ConversationSettings `codec:"convSettings,omitempty" json:"convSettings,omitempty"`
489}
490
491func (o SetConvSettingsUpdate) DeepCopy() SetConvSettingsUpdate {
492	return SetConvSettingsUpdate{
493		InboxVers: o.InboxVers.DeepCopy(),
494		ConvID:    o.ConvID.DeepCopy(),
495		ConvSettings: (func(x *ConversationSettings) *ConversationSettings {
496			if x == nil {
497				return nil
498			}
499			tmp := (*x).DeepCopy()
500			return &tmp
501		})(o.ConvSettings),
502	}
503}
504
505type KBFSImpteamUpgradeUpdate struct {
506	ConvID    ConversationID `codec:"convID" json:"convID"`
507	InboxVers InboxVers      `codec:"inboxVers" json:"inboxVers"`
508	TopicType TopicType      `codec:"topicType" json:"topicType"`
509}
510
511func (o KBFSImpteamUpgradeUpdate) DeepCopy() KBFSImpteamUpgradeUpdate {
512	return KBFSImpteamUpgradeUpdate{
513		ConvID:    o.ConvID.DeepCopy(),
514		InboxVers: o.InboxVers.DeepCopy(),
515		TopicType: o.TopicType.DeepCopy(),
516	}
517}
518
519type SubteamRenameUpdate struct {
520	ConvIDs   []ConversationID `codec:"convIDs" json:"convIDs"`
521	InboxVers InboxVers        `codec:"inboxVers" json:"inboxVers"`
522}
523
524func (o SubteamRenameUpdate) DeepCopy() SubteamRenameUpdate {
525	return SubteamRenameUpdate{
526		ConvIDs: (func(x []ConversationID) []ConversationID {
527			if x == nil {
528				return nil
529			}
530			ret := make([]ConversationID, len(x))
531			for i, v := range x {
532				vCopy := v.DeepCopy()
533				ret[i] = vCopy
534			}
535			return ret
536		})(o.ConvIDs),
537		InboxVers: o.InboxVers.DeepCopy(),
538	}
539}
540
541type GregorInterface interface {
542}
543
544func GregorProtocol(i GregorInterface) rpc.Protocol {
545	return rpc.Protocol{
546		Name:    "chat.1.gregor",
547		Methods: map[string]rpc.ServeHandlerDescription{},
548	}
549}
550
551type GregorClient struct {
552	Cli rpc.GenericClient
553}
554