github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/protocol/chat1/gregor.go (about)

     1  // Auto-generated to Go types and interfaces using avdl-compiler v1.4.10 (https://github.com/keybase/node-avdl-compiler)
     2  //   Input file: avdl/chat1/gregor.avdl
     3  
     4  package chat1
     5  
     6  import (
     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  
    12  type 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  
    20  func (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  
    36  type 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  
    44  func (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  
    60  type 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  
    71  func (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  
   100  type 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  
   109  func (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  
   126  type 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  
   135  func (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  
   152  type 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  
   161  func (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  
   178  type 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  
   187  func (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  
   204  type 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  
   214  func (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  
   242  type 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  
   250  func (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  
   271  type 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  
   277  func (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  
   295  type TLFResolveUpdate struct {
   296  	ConvID    ConversationID `codec:"convID" json:"convID"`
   297  	InboxVers InboxVers      `codec:"inboxVers" json:"inboxVers"`
   298  }
   299  
   300  func (o TLFResolveUpdate) DeepCopy() TLFResolveUpdate {
   301  	return TLFResolveUpdate{
   302  		ConvID:    o.ConvID.DeepCopy(),
   303  		InboxVers: o.InboxVers.DeepCopy(),
   304  	}
   305  }
   306  
   307  type 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  
   315  func (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  
   325  type TeamMemberRoleUpdate struct {
   326  	TlfID TLFID             `codec:"tlfID" json:"tlfID"`
   327  	Role  keybase1.TeamRole `codec:"role" json:"role"`
   328  }
   329  
   330  func (o TeamMemberRoleUpdate) DeepCopy() TeamMemberRoleUpdate {
   331  	return TeamMemberRoleUpdate{
   332  		TlfID: o.TlfID.DeepCopy(),
   333  		Role:  o.Role.DeepCopy(),
   334  	}
   335  }
   336  
   337  type 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  
   348  func (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  
   423  type ConversationUpdate struct {
   424  	ConvID    ConversationID        `codec:"convID" json:"convID"`
   425  	Existence ConversationExistence `codec:"existence" json:"existence"`
   426  }
   427  
   428  func (o ConversationUpdate) DeepCopy() ConversationUpdate {
   429  	return ConversationUpdate{
   430  		ConvID:    o.ConvID.DeepCopy(),
   431  		Existence: o.Existence.DeepCopy(),
   432  	}
   433  }
   434  
   435  type UpdateConversations struct {
   436  	InboxVers   InboxVers            `codec:"inboxVers" json:"inboxVers"`
   437  	ConvUpdates []ConversationUpdate `codec:"convUpdates" json:"convUpdates"`
   438  }
   439  
   440  func (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  
   457  type 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  
   463  func (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  
   471  type 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  
   477  func (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  
   485  type 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  
   491  func (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  
   505  type 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  
   511  func (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  
   519  type SubteamRenameUpdate struct {
   520  	ConvIDs   []ConversationID `codec:"convIDs" json:"convIDs"`
   521  	InboxVers InboxVers        `codec:"inboxVers" json:"inboxVers"`
   522  }
   523  
   524  func (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  
   541  type GregorInterface interface {
   542  }
   543  
   544  func GregorProtocol(i GregorInterface) rpc.Protocol {
   545  	return rpc.Protocol{
   546  		Name:    "chat.1.gregor",
   547  		Methods: map[string]rpc.ServeHandlerDescription{},
   548  	}
   549  }
   550  
   551  type GregorClient struct {
   552  	Cli rpc.GenericClient
   553  }