@@ -430,7 +430,10 @@ func (m *Manager) handlePluginMessage(p *pluginProcess, msg *pb.PluginToHost) {
430430 if result := msg .GetEventResult (); result != nil {
431431 p .deliverEventResult (result )
432432 }
433- if hello := msg .GetHello (); hello != nil {
433+
434+ switch payload := msg .GetPayload ().(type ) {
435+ case * pb.PluginToHost_Hello :
436+ hello := payload .Hello
434437 cmdNames := mapSlice (hello .Commands , func (cmd * pb.CommandSpec ) string {
435438 if len (cmd .Aliases ) > 0 {
436439 return fmt .Sprintf ("%s (aliases: %v)" , cmd .Name , cmd .Aliases )
@@ -441,8 +444,8 @@ func (m *Manager) handlePluginMessage(p *pluginProcess, msg *pb.PluginToHost) {
441444 p .setHello (hello )
442445 m .registerCommands (p , hello .Commands )
443446 m .registerCustomItems (p , hello .CustomItems )
444- }
445- if subscribe := msg . GetSubscribe (); subscribe != nil {
447+ case * pb. PluginToHost_Subscribe :
448+ subscribe := payload . Subscribe
446449 eventNames := mapSlice (subscribe .Events , func (evt pb.EventType ) string {
447450 return evt .String ()
448451 })
@@ -452,11 +455,10 @@ func (m *Manager) handlePluginMessage(p *pluginProcess, msg *pb.PluginToHost) {
452455 }
453456 m .log .Info (fmt .Sprintf (" %s subscribed to %d events" , pluginName , len (eventNames )), "events" , eventNames )
454457 p .updateSubscriptions (subscribe .Events )
455- }
456- if actions := msg .GetActions (); actions != nil {
457- m .applyActions (p , actions )
458- }
459- if logMsg := msg .GetLog (); logMsg != nil {
458+ case * pb.PluginToHost_Actions :
459+ m .applyActions (p , payload .Actions )
460+ case * pb.PluginToHost_Log :
461+ logMsg := payload .Log
460462 level := strings .ToLower (logMsg .Level )
461463 switch level {
462464 case "warn" , "warning" :
@@ -466,6 +468,15 @@ func (m *Manager) handlePluginMessage(p *pluginProcess, msg *pb.PluginToHost) {
466468 default :
467469 p .log .Info (logMsg .Message )
468470 }
471+ case * pb.PluginToHost_ServerInfo :
472+ var pluginNames []string
473+
474+ for _ , pl := range m .plugins {
475+ pluginNames = append (pluginNames , pl .cfg .Name )
476+ }
477+ p .sendServerInfo (pluginNames )
478+ default :
479+ p .log .Info (fmt .Sprintf ("unhandled event: %#v" , payload ))
469480 }
470481}
471482
0 commit comments