| 64 | } |
| 65 | |
| 66 | func (r RPCService) GetMetadata(path string) (configv3.Plugin, error) { |
| 67 | err := r.Run(path, "SendMetadata") |
| 68 | if err != nil { |
| 69 | return configv3.Plugin{}, err |
| 70 | } |
| 71 | |
| 72 | metadata := r.rpcService.RpcCmd.PluginMetadata |
| 73 | plugin := configv3.Plugin{ |
| 74 | Name: metadata.Name, |
| 75 | Version: configv3.PluginVersion{ |
| 76 | Major: metadata.Version.Major, |
| 77 | Minor: metadata.Version.Minor, |
| 78 | Build: metadata.Version.Build, |
| 79 | }, |
| 80 | LibraryVersion: configv3.PluginVersion{ |
| 81 | Major: metadata.LibraryVersion.Major, |
| 82 | Minor: metadata.LibraryVersion.Minor, |
| 83 | Build: metadata.LibraryVersion.Build, |
| 84 | }, |
| 85 | Commands: make([]configv3.PluginCommand, len(metadata.Commands)), |
| 86 | } |
| 87 | |
| 88 | for i, command := range metadata.Commands { |
| 89 | plugin.Commands[i] = configv3.PluginCommand{ |
| 90 | Name: command.Name, |
| 91 | Alias: command.Alias, |
| 92 | HelpText: command.HelpText, |
| 93 | UsageDetails: configv3.PluginUsageDetails{ |
| 94 | Usage: command.UsageDetails.Usage, |
| 95 | Options: command.UsageDetails.Options, |
| 96 | }, |
| 97 | } |
| 98 | } |
| 99 | |
| 100 | return plugin, nil |
| 101 | } |