This is a refactor of samhofi.us/x/keybase/v2 that takes advantage of the libkeybase performance improvements.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

423 lines
11 KiB

// Auto-generated to Go types using avdl-compiler v1.4.6 (https://github.com/keybase/node-avdl-compiler)
// Input file: ../../../../../../client/protocol/avdl/keybase1/ephemeral.avdl
package keybase1
import (
"errors"
"fmt"
)
type EkGeneration int64
func (o EkGeneration) DeepCopy() EkGeneration {
return o
}
type DeviceEkMetadata struct {
Kid KID `codec:"kid" json:"device_ephemeral_dh_public"`
HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"`
Generation EkGeneration `codec:"generation" json:"generation"`
Ctime Time `codec:"ctime" json:"ctime"`
DeviceCtime Time `codec:"deviceCtime" json:"deviceCtime"`
}
func (o DeviceEkMetadata) DeepCopy() DeviceEkMetadata {
return DeviceEkMetadata{
Kid: o.Kid.DeepCopy(),
HashMeta: o.HashMeta.DeepCopy(),
Generation: o.Generation.DeepCopy(),
Ctime: o.Ctime.DeepCopy(),
DeviceCtime: o.DeviceCtime.DeepCopy(),
}
}
type DeviceEkStatement struct {
CurrentDeviceEkMetadata DeviceEkMetadata `codec:"currentDeviceEkMetadata" json:"current_device_ek_metadata"`
}
func (o DeviceEkStatement) DeepCopy() DeviceEkStatement {
return DeviceEkStatement{
CurrentDeviceEkMetadata: o.CurrentDeviceEkMetadata.DeepCopy(),
}
}
type DeviceEk struct {
Seed Bytes32 `codec:"seed" json:"seed"`
Metadata DeviceEkMetadata `codec:"metadata" json:"metadata"`
}
func (o DeviceEk) DeepCopy() DeviceEk {
return DeviceEk{
Seed: o.Seed.DeepCopy(),
Metadata: o.Metadata.DeepCopy(),
}
}
type UserEkStatement struct {
CurrentUserEkMetadata UserEkMetadata `codec:"currentUserEkMetadata" json:"current_user_ek_metadata"`
}
func (o UserEkStatement) DeepCopy() UserEkStatement {
return UserEkStatement{
CurrentUserEkMetadata: o.CurrentUserEkMetadata.DeepCopy(),
}
}
type UserEkMetadata struct {
Kid KID `codec:"kid" json:"user_ephemeral_dh_public"`
HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"`
Generation EkGeneration `codec:"generation" json:"generation"`
Ctime Time `codec:"ctime" json:"ctime"`
}
func (o UserEkMetadata) DeepCopy() UserEkMetadata {
return UserEkMetadata{
Kid: o.Kid.DeepCopy(),
HashMeta: o.HashMeta.DeepCopy(),
Generation: o.Generation.DeepCopy(),
Ctime: o.Ctime.DeepCopy(),
}
}
type UserEkBoxed struct {
Box string `codec:"box" json:"box"`
DeviceEkGeneration EkGeneration `codec:"deviceEkGeneration" json:"device_ek_generation"`
Metadata UserEkMetadata `codec:"metadata" json:"metadata"`
}
func (o UserEkBoxed) DeepCopy() UserEkBoxed {
return UserEkBoxed{
Box: o.Box,
DeviceEkGeneration: o.DeviceEkGeneration.DeepCopy(),
Metadata: o.Metadata.DeepCopy(),
}
}
type UserEkBoxMetadata struct {
Box string `codec:"box" json:"box"`
RecipientGeneration EkGeneration `codec:"recipientGeneration" json:"recipient_generation"`
RecipientDeviceID DeviceID `codec:"recipientDeviceID" json:"recipient_device_id"`
}
func (o UserEkBoxMetadata) DeepCopy() UserEkBoxMetadata {
return UserEkBoxMetadata{
Box: o.Box,
RecipientGeneration: o.RecipientGeneration.DeepCopy(),
RecipientDeviceID: o.RecipientDeviceID.DeepCopy(),
}
}
type UserEk struct {
Seed Bytes32 `codec:"seed" json:"seed"`
Metadata UserEkMetadata `codec:"metadata" json:"metadata"`
}
func (o UserEk) DeepCopy() UserEk {
return UserEk{
Seed: o.Seed.DeepCopy(),
Metadata: o.Metadata.DeepCopy(),
}
}
type UserEkReboxArg struct {
UserEkBoxMetadata UserEkBoxMetadata `codec:"userEkBoxMetadata" json:"userEkBoxMetadata"`
DeviceID DeviceID `codec:"deviceID" json:"deviceID"`
DeviceEkStatementSig string `codec:"deviceEkStatementSig" json:"deviceEkStatementSig"`
}
func (o UserEkReboxArg) DeepCopy() UserEkReboxArg {
return UserEkReboxArg{
UserEkBoxMetadata: o.UserEkBoxMetadata.DeepCopy(),
DeviceID: o.DeviceID.DeepCopy(),
DeviceEkStatementSig: o.DeviceEkStatementSig,
}
}
type TeamEkMetadata struct {
Kid KID `codec:"kid" json:"team_ephemeral_dh_public"`
HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"`
Generation EkGeneration `codec:"generation" json:"generation"`
Ctime Time `codec:"ctime" json:"ctime"`
}
func (o TeamEkMetadata) DeepCopy() TeamEkMetadata {
return TeamEkMetadata{
Kid: o.Kid.DeepCopy(),
HashMeta: o.HashMeta.DeepCopy(),
Generation: o.Generation.DeepCopy(),
Ctime: o.Ctime.DeepCopy(),
}
}
type TeamEkStatement struct {
CurrentTeamEkMetadata TeamEkMetadata `codec:"currentTeamEkMetadata" json:"current_team_ek_metadata"`
}
func (o TeamEkStatement) DeepCopy() TeamEkStatement {
return TeamEkStatement{
CurrentTeamEkMetadata: o.CurrentTeamEkMetadata.DeepCopy(),
}
}
type TeamEkBoxed struct {
Box string `codec:"box" json:"box"`
UserEkGeneration EkGeneration `codec:"userEkGeneration" json:"user_ek_generation"`
Metadata TeamEkMetadata `codec:"metadata" json:"metadata"`
}
func (o TeamEkBoxed) DeepCopy() TeamEkBoxed {
return TeamEkBoxed{
Box: o.Box,
UserEkGeneration: o.UserEkGeneration.DeepCopy(),
Metadata: o.Metadata.DeepCopy(),
}
}
type TeamEkBoxMetadata struct {
Box string `codec:"box" json:"box"`
RecipientGeneration EkGeneration `codec:"recipientGeneration" json:"recipient_generation"`
RecipientUID UID `codec:"recipientUID" json:"recipient_uid"`
}
func (o TeamEkBoxMetadata) DeepCopy() TeamEkBoxMetadata {
return TeamEkBoxMetadata{
Box: o.Box,
RecipientGeneration: o.RecipientGeneration.DeepCopy(),
RecipientUID: o.RecipientUID.DeepCopy(),
}
}
type TeamEk struct {
Seed Bytes32 `codec:"seed" json:"seed"`
Metadata TeamEkMetadata `codec:"metadata" json:"metadata"`
}
func (o TeamEk) DeepCopy() TeamEk {
return TeamEk{
Seed: o.Seed.DeepCopy(),
Metadata: o.Metadata.DeepCopy(),
}
}
type TeambotEkMetadata struct {
Kid KID `codec:"kid" json:"teambot_dh_public"`
Generation EkGeneration `codec:"generation" json:"generation"`
Uid UID `codec:"uid" json:"uid"`
UserEkGeneration EkGeneration `codec:"userEkGeneration" json:"user_ek_generation"`
HashMeta HashMeta `codec:"hashMeta" json:"hash_meta"`
Ctime Time `codec:"ctime" json:"ctime"`
}
func (o TeambotEkMetadata) DeepCopy() TeambotEkMetadata {
return TeambotEkMetadata{
Kid: o.Kid.DeepCopy(),
Generation: o.Generation.DeepCopy(),
Uid: o.Uid.DeepCopy(),
UserEkGeneration: o.UserEkGeneration.DeepCopy(),
HashMeta: o.HashMeta.DeepCopy(),
Ctime: o.Ctime.DeepCopy(),
}
}
type TeambotEkBoxed struct {
Box string `codec:"box" json:"box"`
Metadata TeambotEkMetadata `codec:"metadata" json:"metadata"`
}
func (o TeambotEkBoxed) DeepCopy() TeambotEkBoxed {
return TeambotEkBoxed{
Box: o.Box,
Metadata: o.Metadata.DeepCopy(),
}
}
type TeambotEk struct {
Seed Bytes32 `codec:"seed" json:"seed"`
Metadata TeambotEkMetadata `codec:"metadata" json:"metadata"`
}
func (o TeambotEk) DeepCopy() TeambotEk {
return TeambotEk{
Seed: o.Seed.DeepCopy(),
Metadata: o.Metadata.DeepCopy(),
}
}
type TeamEphemeralKeyType int
const (
TeamEphemeralKeyType_TEAM TeamEphemeralKeyType = 0
TeamEphemeralKeyType_TEAMBOT TeamEphemeralKeyType = 1
)
func (o TeamEphemeralKeyType) DeepCopy() TeamEphemeralKeyType { return o }
var TeamEphemeralKeyTypeMap = map[string]TeamEphemeralKeyType{
"TEAM": 0,
"TEAMBOT": 1,
}
var TeamEphemeralKeyTypeRevMap = map[TeamEphemeralKeyType]string{
0: "TEAM",
1: "TEAMBOT",
}
func (e TeamEphemeralKeyType) String() string {
if v, ok := TeamEphemeralKeyTypeRevMap[e]; ok {
return v
}
return fmt.Sprintf("%v", int(e))
}
type TeamEphemeralKey struct {
KeyType__ TeamEphemeralKeyType `codec:"keyType" json:"keyType"`
Team__ *TeamEk `codec:"team,omitempty" json:"team,omitempty"`
Teambot__ *TeambotEk `codec:"teambot,omitempty" json:"teambot,omitempty"`
}
func (o *TeamEphemeralKey) KeyType() (ret TeamEphemeralKeyType, err error) {
switch o.KeyType__ {
case TeamEphemeralKeyType_TEAM:
if o.Team__ == nil {
err = errors.New("unexpected nil value for Team__")
return ret, err
}
case TeamEphemeralKeyType_TEAMBOT:
if o.Teambot__ == nil {
err = errors.New("unexpected nil value for Teambot__")
return ret, err
}
}
return o.KeyType__, nil
}
func (o TeamEphemeralKey) Team() (res TeamEk) {
if o.KeyType__ != TeamEphemeralKeyType_TEAM {
panic("wrong case accessed")
}
if o.Team__ == nil {
return
}
return *o.Team__
}
func (o TeamEphemeralKey) Teambot() (res TeambotEk) {
if o.KeyType__ != TeamEphemeralKeyType_TEAMBOT {
panic("wrong case accessed")
}
if o.Teambot__ == nil {
return
}
return *o.Teambot__
}
func NewTeamEphemeralKeyWithTeam(v TeamEk) TeamEphemeralKey {
return TeamEphemeralKey{
KeyType__: TeamEphemeralKeyType_TEAM,
Team__: &v,
}
}
func NewTeamEphemeralKeyWithTeambot(v TeambotEk) TeamEphemeralKey {
return TeamEphemeralKey{
KeyType__: TeamEphemeralKeyType_TEAMBOT,
Teambot__: &v,
}
}
func (o TeamEphemeralKey) DeepCopy() TeamEphemeralKey {
return TeamEphemeralKey{
KeyType__: o.KeyType__.DeepCopy(),
Team__: (func(x *TeamEk) *TeamEk {
if x == nil {
return nil
}
tmp := (*x).DeepCopy()
return &tmp
})(o.Team__),
Teambot__: (func(x *TeambotEk) *TeambotEk {
if x == nil {
return nil
}
tmp := (*x).DeepCopy()
return &tmp
})(o.Teambot__),
}
}
type TeamEphemeralKeyBoxed struct {
KeyType__ TeamEphemeralKeyType `codec:"keyType" json:"keyType"`
Team__ *TeamEkBoxed `codec:"team,omitempty" json:"team,omitempty"`
Teambot__ *TeambotEkBoxed `codec:"teambot,omitempty" json:"teambot,omitempty"`
}
func (o *TeamEphemeralKeyBoxed) KeyType() (ret TeamEphemeralKeyType, err error) {
switch o.KeyType__ {
case TeamEphemeralKeyType_TEAM:
if o.Team__ == nil {
err = errors.New("unexpected nil value for Team__")
return ret, err
}
case TeamEphemeralKeyType_TEAMBOT:
if o.Teambot__ == nil {
err = errors.New("unexpected nil value for Teambot__")
return ret, err
}
}
return o.KeyType__, nil
}
func (o TeamEphemeralKeyBoxed) Team() (res TeamEkBoxed) {
if o.KeyType__ != TeamEphemeralKeyType_TEAM {
panic("wrong case accessed")
}
if o.Team__ == nil {
return
}
return *o.Team__
}
func (o TeamEphemeralKeyBoxed) Teambot() (res TeambotEkBoxed) {
if o.KeyType__ != TeamEphemeralKeyType_TEAMBOT {
panic("wrong case accessed")
}
if o.Teambot__ == nil {
return
}
return *o.Teambot__
}
func NewTeamEphemeralKeyBoxedWithTeam(v TeamEkBoxed) TeamEphemeralKeyBoxed {
return TeamEphemeralKeyBoxed{
KeyType__: TeamEphemeralKeyType_TEAM,
Team__: &v,
}
}
func NewTeamEphemeralKeyBoxedWithTeambot(v TeambotEkBoxed) TeamEphemeralKeyBoxed {
return TeamEphemeralKeyBoxed{
KeyType__: TeamEphemeralKeyType_TEAMBOT,
Teambot__: &v,
}
}
func (o TeamEphemeralKeyBoxed) DeepCopy() TeamEphemeralKeyBoxed {
return TeamEphemeralKeyBoxed{
KeyType__: o.KeyType__.DeepCopy(),
Team__: (func(x *TeamEkBoxed) *TeamEkBoxed {
if x == nil {
return nil
}
tmp := (*x).DeepCopy()
return &tmp
})(o.Team__),
Teambot__: (func(x *TeambotEkBoxed) *TeambotEkBoxed {
if x == nil {
return nil
}
tmp := (*x).DeepCopy()
return &tmp
})(o.Teambot__),
}
}