func (d *Service) RegisterProtocols(srv *rpc.Server, xp rpc.Transporter, connID libkb.ConnectionID, g *libkb.GlobalContext) error { protocols := []rpc.Protocol{ keybase1.AccountProtocol(NewAccountHandler(xp, g)), keybase1.BTCProtocol(NewBTCHandler(xp, g)), keybase1.ConfigProtocol(NewConfigHandler(xp, g, d)), keybase1.CryptoProtocol(NewCryptoHandler(g)), keybase1.CtlProtocol(NewCtlHandler(xp, d, g)), keybase1.DebuggingProtocol(NewDebuggingHandler(xp)), keybase1.DeviceProtocol(NewDeviceHandler(xp, g)), keybase1.FavoriteProtocol(NewFavoriteHandler(xp, g)), keybase1.IdentifyProtocol(NewIdentifyHandler(xp, g)), keybase1.SaltpackProtocol(NewSaltpackHandler(xp, g)), keybase1.KbfsProtocol(NewKBFSHandler(xp, g)), keybase1.LoginProtocol(NewLoginHandler(xp, g)), keybase1.ProveProtocol(NewProveHandler(xp, g)), keybase1.SessionProtocol(NewSessionHandler(xp, g)), keybase1.SignupProtocol(NewSignupHandler(xp, g)), keybase1.SigsProtocol(NewSigsHandler(xp, g)), keybase1.PGPProtocol(NewPGPHandler(xp, g)), keybase1.RevokeProtocol(NewRevokeHandler(xp, g)), keybase1.SecretKeysProtocol(NewSecretKeysHandler(xp, g)), keybase1.TestProtocol(NewTestHandler(xp, g)), keybase1.TrackProtocol(NewTrackHandler(xp, g)), keybase1.UpdateProtocol(NewUpdateHandler(xp, g, d.updateChecker)), keybase1.UserProtocol(NewUserHandler(xp, g)), keybase1.NotifyCtlProtocol(NewNotifyCtlHandler(xp, connID, g)), keybase1.DelegateUiCtlProtocol(NewDelegateUICtlHandler(xp, connID, g)), } for _, proto := range protocols { if err := srv.Register(proto); err != nil { return err } } return nil }
func (d *Service) RegisterProtocols(srv *rpc.Server, xp rpc.Transporter, connID libkb.ConnectionID, logReg *logRegister, g *libkb.GlobalContext) (shutdowners []Shutdowner, err error) { rekeyHandler := NewRekeyHandler(xp, g, d.gregor) // The rekeyHandler implements Shutdowner interface to stop the timer // properly shutdowners = append(shutdowners, rekeyHandler) protocols := []rpc.Protocol{ keybase1.AccountProtocol(NewAccountHandler(xp, g)), keybase1.BTCProtocol(NewBTCHandler(xp, g)), keybase1.ConfigProtocol(NewConfigHandler(xp, connID, g, d)), keybase1.CryptoProtocol(NewCryptoHandler(g)), keybase1.CtlProtocol(NewCtlHandler(xp, d, g)), keybase1.DebuggingProtocol(NewDebuggingHandler(xp)), keybase1.DelegateUiCtlProtocol(NewDelegateUICtlHandler(xp, connID, g)), keybase1.DeviceProtocol(NewDeviceHandler(xp, g)), keybase1.FavoriteProtocol(NewFavoriteHandler(xp, g)), keybase1.FsProtocol(newFSHandler(xp, g)), keybase1.IdentifyProtocol(NewIdentifyHandler(xp, g)), keybase1.KbfsProtocol(NewKBFSHandler(xp, g)), keybase1.LogProtocol(NewLogHandler(xp, logReg, g)), keybase1.LoginProtocol(NewLoginHandler(xp, g)), keybase1.NotifyCtlProtocol(NewNotifyCtlHandler(xp, connID, g)), keybase1.PGPProtocol(NewPGPHandler(xp, g)), keybase1.RevokeProtocol(NewRevokeHandler(xp, g)), keybase1.ProveProtocol(NewProveHandler(xp, g)), keybase1.SaltpackProtocol(NewSaltpackHandler(xp, g)), keybase1.SecretKeysProtocol(NewSecretKeysHandler(xp, g)), keybase1.SessionProtocol(NewSessionHandler(xp, g)), keybase1.SignupProtocol(NewSignupHandler(xp, g)), keybase1.SigsProtocol(NewSigsHandler(xp, g)), keybase1.TestProtocol(NewTestHandler(xp, g)), keybase1.TrackProtocol(NewTrackHandler(xp, g)), keybase1.UserProtocol(NewUserHandler(xp, g)), keybase1.ApiserverProtocol(NewAPIServerHandler(xp, g)), keybase1.PaperprovisionProtocol(NewPaperProvisionHandler(xp, g)), keybase1.RekeyProtocol(rekeyHandler), keybase1.GregorProtocol(newGregorRPCHandler(xp, g, d.gregor)), } for _, proto := range protocols { if err = srv.Register(proto); err != nil { return } } return }