github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/protocol/keybase1/rekey_ui.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/keybase1/rekey_ui.avdl
     3  
     4  package keybase1
     5  
     6  import (
     7  	"fmt"
     8  	"github.com/keybase/go-framed-msgpack-rpc/rpc"
     9  	context "golang.org/x/net/context"
    10  	"time"
    11  )
    12  
    13  type RekeyEventType int
    14  
    15  const (
    16  	RekeyEventType_NONE                     RekeyEventType = 0
    17  	RekeyEventType_NOT_LOGGED_IN            RekeyEventType = 1
    18  	RekeyEventType_API_ERROR                RekeyEventType = 2
    19  	RekeyEventType_NO_PROBLEMS              RekeyEventType = 3
    20  	RekeyEventType_LOAD_ME_ERROR            RekeyEventType = 4
    21  	RekeyEventType_CURRENT_DEVICE_CAN_REKEY RekeyEventType = 5
    22  	RekeyEventType_DEVICE_LOAD_ERROR        RekeyEventType = 6
    23  	RekeyEventType_HARASS                   RekeyEventType = 7
    24  	RekeyEventType_NO_GREGOR_MESSAGES       RekeyEventType = 8
    25  )
    26  
    27  func (o RekeyEventType) DeepCopy() RekeyEventType { return o }
    28  
    29  var RekeyEventTypeMap = map[string]RekeyEventType{
    30  	"NONE":                     0,
    31  	"NOT_LOGGED_IN":            1,
    32  	"API_ERROR":                2,
    33  	"NO_PROBLEMS":              3,
    34  	"LOAD_ME_ERROR":            4,
    35  	"CURRENT_DEVICE_CAN_REKEY": 5,
    36  	"DEVICE_LOAD_ERROR":        6,
    37  	"HARASS":                   7,
    38  	"NO_GREGOR_MESSAGES":       8,
    39  }
    40  
    41  var RekeyEventTypeRevMap = map[RekeyEventType]string{
    42  	0: "NONE",
    43  	1: "NOT_LOGGED_IN",
    44  	2: "API_ERROR",
    45  	3: "NO_PROBLEMS",
    46  	4: "LOAD_ME_ERROR",
    47  	5: "CURRENT_DEVICE_CAN_REKEY",
    48  	6: "DEVICE_LOAD_ERROR",
    49  	7: "HARASS",
    50  	8: "NO_GREGOR_MESSAGES",
    51  }
    52  
    53  func (e RekeyEventType) String() string {
    54  	if v, ok := RekeyEventTypeRevMap[e]; ok {
    55  		return v
    56  	}
    57  	return fmt.Sprintf("%v", int(e))
    58  }
    59  
    60  type RekeyEvent struct {
    61  	EventType     RekeyEventType `codec:"eventType" json:"eventType"`
    62  	InterruptType int            `codec:"interruptType" json:"interruptType"`
    63  }
    64  
    65  func (o RekeyEvent) DeepCopy() RekeyEvent {
    66  	return RekeyEvent{
    67  		EventType:     o.EventType.DeepCopy(),
    68  		InterruptType: o.InterruptType,
    69  	}
    70  }
    71  
    72  type DelegateRekeyUIArg struct {
    73  }
    74  
    75  type RefreshArg struct {
    76  	SessionID         int               `codec:"sessionID" json:"sessionID"`
    77  	ProblemSetDevices ProblemSetDevices `codec:"problemSetDevices" json:"problemSetDevices"`
    78  }
    79  
    80  type RekeySendEventArg struct {
    81  	SessionID int        `codec:"sessionID" json:"sessionID"`
    82  	Event     RekeyEvent `codec:"event" json:"event"`
    83  }
    84  
    85  type RekeyUIInterface interface {
    86  	DelegateRekeyUI(context.Context) (int, error)
    87  	// Refresh is called whenever Electron should refresh the UI, either
    88  	// because a change came in, or because there was a timeout poll.
    89  	Refresh(context.Context, RefreshArg) error
    90  	// RekeySendEvent sends updates as to what's going on in the rekey
    91  	// thread. This is mainly useful in testing.
    92  	RekeySendEvent(context.Context, RekeySendEventArg) error
    93  }
    94  
    95  func RekeyUIProtocol(i RekeyUIInterface) rpc.Protocol {
    96  	return rpc.Protocol{
    97  		Name: "keybase.1.rekeyUI",
    98  		Methods: map[string]rpc.ServeHandlerDescription{
    99  			"delegateRekeyUI": {
   100  				MakeArg: func() interface{} {
   101  					var ret [1]DelegateRekeyUIArg
   102  					return &ret
   103  				},
   104  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
   105  					ret, err = i.DelegateRekeyUI(ctx)
   106  					return
   107  				},
   108  			},
   109  			"refresh": {
   110  				MakeArg: func() interface{} {
   111  					var ret [1]RefreshArg
   112  					return &ret
   113  				},
   114  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
   115  					typedArgs, ok := args.(*[1]RefreshArg)
   116  					if !ok {
   117  						err = rpc.NewTypeError((*[1]RefreshArg)(nil), args)
   118  						return
   119  					}
   120  					err = i.Refresh(ctx, typedArgs[0])
   121  					return
   122  				},
   123  			},
   124  			"rekeySendEvent": {
   125  				MakeArg: func() interface{} {
   126  					var ret [1]RekeySendEventArg
   127  					return &ret
   128  				},
   129  				Handler: func(ctx context.Context, args interface{}) (ret interface{}, err error) {
   130  					typedArgs, ok := args.(*[1]RekeySendEventArg)
   131  					if !ok {
   132  						err = rpc.NewTypeError((*[1]RekeySendEventArg)(nil), args)
   133  						return
   134  					}
   135  					err = i.RekeySendEvent(ctx, typedArgs[0])
   136  					return
   137  				},
   138  			},
   139  		},
   140  	}
   141  }
   142  
   143  type RekeyUIClient struct {
   144  	Cli rpc.GenericClient
   145  }
   146  
   147  func (c RekeyUIClient) DelegateRekeyUI(ctx context.Context) (res int, err error) {
   148  	err = c.Cli.Call(ctx, "keybase.1.rekeyUI.delegateRekeyUI", []interface{}{DelegateRekeyUIArg{}}, &res, 0*time.Millisecond)
   149  	return
   150  }
   151  
   152  // Refresh is called whenever Electron should refresh the UI, either
   153  // because a change came in, or because there was a timeout poll.
   154  func (c RekeyUIClient) Refresh(ctx context.Context, __arg RefreshArg) (err error) {
   155  	err = c.Cli.Call(ctx, "keybase.1.rekeyUI.refresh", []interface{}{__arg}, nil, 0*time.Millisecond)
   156  	return
   157  }
   158  
   159  // RekeySendEvent sends updates as to what's going on in the rekey
   160  // thread. This is mainly useful in testing.
   161  func (c RekeyUIClient) RekeySendEvent(ctx context.Context, __arg RekeySendEventArg) (err error) {
   162  	err = c.Cli.Notify(ctx, "keybase.1.rekeyUI.rekeySendEvent", []interface{}{__arg}, 0*time.Millisecond)
   163  	return
   164  }