// This file is part of arduino-cli. // // Copyright 2020 ARDUINO SA (http://www.arduino.cc/) // // This software is released under the GNU General Public License version 3, // which covers the main part of arduino-cli. // The terms of this license can be found at: // https://www.gnu.org/licenses/gpl-3.0.en.html // // You can be released from the requirements of the above licenses by purchasing // a commercial license. Buying such a license is mandatory if you want to // modify or otherwise use the software for commercial activities involving the // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.25.0 // protoc v3.12.4 // source: commands/board.proto package commands import ( proto "github.com/golang/protobuf/proto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // This is a compile-time assertion that a sufficiently up-to-date version // of the legacy proto package is being used. const _ = proto.ProtoPackageIsVersion4 type BoardDetailsReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // The fully qualified board name of the board you want information about // (e.g., `arduino:avr:uno`). Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` } func (x *BoardDetailsReq) Reset() { *x = BoardDetailsReq{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardDetailsReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardDetailsReq) ProtoMessage() {} func (x *BoardDetailsReq) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardDetailsReq.ProtoReflect.Descriptor instead. func (*BoardDetailsReq) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{0} } func (x *BoardDetailsReq) GetInstance() *Instance { if x != nil { return x.Instance } return nil } func (x *BoardDetailsReq) GetFqbn() string { if x != nil { return x.Fqbn } return "" } type BoardDetailsResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The fully qualified board name of the board. Fqbn string `protobuf:"bytes,1,opt,name=fqbn,proto3" json:"fqbn,omitempty"` // Name used to identify the board to humans (e.g., Arduino Uno). Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Installed version of the board's platform. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // The board ID component of the FQBN (e.g., `uno`). PropertiesId string `protobuf:"bytes,4,opt,name=propertiesId,proto3" json:"propertiesId,omitempty"` // Board alias that can be used as a more user friendly alternative to the // FQBN. Alias string `protobuf:"bytes,5,opt,name=alias,proto3" json:"alias,omitempty"` // Whether this is an official or 3rd party board. Official bool `protobuf:"varint,6,opt,name=official,proto3" json:"official,omitempty"` // URL of the board's pinout documentation. Pinout string `protobuf:"bytes,7,opt,name=pinout,proto3" json:"pinout,omitempty"` // Data about the package that contains the board's platform. Package *Package `protobuf:"bytes,8,opt,name=package,proto3" json:"package,omitempty"` // Data about the board's platform. Platform *BoardPlatform `protobuf:"bytes,9,opt,name=platform,proto3" json:"platform,omitempty"` // Tool dependencies of the board. ToolsDependencies []*ToolsDependencies `protobuf:"bytes,10,rep,name=toolsDependencies,proto3" json:"toolsDependencies,omitempty"` // The board's custom configuration options. ConfigOptions []*ConfigOption `protobuf:"bytes,11,rep,name=config_options,json=configOptions,proto3" json:"config_options,omitempty"` // Identifying information for the board (e.g., USB VID/PID). IdentificationPref []*IdentificationPref `protobuf:"bytes,12,rep,name=identification_pref,json=identificationPref,proto3" json:"identification_pref,omitempty"` // List of programmers supported by the board Programmers []*Programmer `protobuf:"bytes,13,rep,name=programmers,proto3" json:"programmers,omitempty"` // Set to true if the board supports debugging DebuggingSupported bool `protobuf:"varint,14,opt,name=debugging_supported,json=debuggingSupported,proto3" json:"debugging_supported,omitempty"` } func (x *BoardDetailsResp) Reset() { *x = BoardDetailsResp{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardDetailsResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardDetailsResp) ProtoMessage() {} func (x *BoardDetailsResp) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardDetailsResp.ProtoReflect.Descriptor instead. func (*BoardDetailsResp) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{1} } func (x *BoardDetailsResp) GetFqbn() string { if x != nil { return x.Fqbn } return "" } func (x *BoardDetailsResp) GetName() string { if x != nil { return x.Name } return "" } func (x *BoardDetailsResp) GetVersion() string { if x != nil { return x.Version } return "" } func (x *BoardDetailsResp) GetPropertiesId() string { if x != nil { return x.PropertiesId } return "" } func (x *BoardDetailsResp) GetAlias() string { if x != nil { return x.Alias } return "" } func (x *BoardDetailsResp) GetOfficial() bool { if x != nil { return x.Official } return false } func (x *BoardDetailsResp) GetPinout() string { if x != nil { return x.Pinout } return "" } func (x *BoardDetailsResp) GetPackage() *Package { if x != nil { return x.Package } return nil } func (x *BoardDetailsResp) GetPlatform() *BoardPlatform { if x != nil { return x.Platform } return nil } func (x *BoardDetailsResp) GetToolsDependencies() []*ToolsDependencies { if x != nil { return x.ToolsDependencies } return nil } func (x *BoardDetailsResp) GetConfigOptions() []*ConfigOption { if x != nil { return x.ConfigOptions } return nil } func (x *BoardDetailsResp) GetIdentificationPref() []*IdentificationPref { if x != nil { return x.IdentificationPref } return nil } func (x *BoardDetailsResp) GetProgrammers() []*Programmer { if x != nil { return x.Programmers } return nil } func (x *BoardDetailsResp) GetDebuggingSupported() bool { if x != nil { return x.DebuggingSupported } return false } type IdentificationPref struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Identifying information for USB-connected boards. UsbID *USBID `protobuf:"bytes,1,opt,name=usbID,proto3" json:"usbID,omitempty"` } func (x *IdentificationPref) Reset() { *x = IdentificationPref{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *IdentificationPref) String() string { return protoimpl.X.MessageStringOf(x) } func (*IdentificationPref) ProtoMessage() {} func (x *IdentificationPref) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use IdentificationPref.ProtoReflect.Descriptor instead. func (*IdentificationPref) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{2} } func (x *IdentificationPref) GetUsbID() *USBID { if x != nil { return x.UsbID } return nil } type USBID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // USB vendor ID. VID string `protobuf:"bytes,1,opt,name=VID,proto3" json:"VID,omitempty"` // USB product ID. PID string `protobuf:"bytes,2,opt,name=PID,proto3" json:"PID,omitempty"` } func (x *USBID) Reset() { *x = USBID{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *USBID) String() string { return protoimpl.X.MessageStringOf(x) } func (*USBID) ProtoMessage() {} func (x *USBID) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use USBID.ProtoReflect.Descriptor instead. func (*USBID) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{3} } func (x *USBID) GetVID() string { if x != nil { return x.VID } return "" } func (x *USBID) GetPID() string { if x != nil { return x.PID } return "" } type Package struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Maintainer of the package. Maintainer string `protobuf:"bytes,1,opt,name=maintainer,proto3" json:"maintainer,omitempty"` // The URL of the platforms index file // (e.g., https://downloads.arduino.cc/packages/package_index.json). Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` // A URL provided by the package author, intended to point to their website. WebsiteURL string `protobuf:"bytes,3,opt,name=websiteURL,proto3" json:"websiteURL,omitempty"` // Email address of the package maintainer. Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` // Package vendor name. Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` // Resources for getting help about using the package. Help *Help `protobuf:"bytes,6,opt,name=help,proto3" json:"help,omitempty"` } func (x *Package) Reset() { *x = Package{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Package) String() string { return protoimpl.X.MessageStringOf(x) } func (*Package) ProtoMessage() {} func (x *Package) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Package.ProtoReflect.Descriptor instead. func (*Package) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{4} } func (x *Package) GetMaintainer() string { if x != nil { return x.Maintainer } return "" } func (x *Package) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Package) GetWebsiteURL() string { if x != nil { return x.WebsiteURL } return "" } func (x *Package) GetEmail() string { if x != nil { return x.Email } return "" } func (x *Package) GetName() string { if x != nil { return x.Name } return "" } func (x *Package) GetHelp() *Help { if x != nil { return x.Help } return nil } type Help struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // URL for getting online help. Online string `protobuf:"bytes,1,opt,name=online,proto3" json:"online,omitempty"` } func (x *Help) Reset() { *x = Help{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Help) String() string { return protoimpl.X.MessageStringOf(x) } func (*Help) ProtoMessage() {} func (x *Help) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Help.ProtoReflect.Descriptor instead. func (*Help) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{5} } func (x *Help) GetOnline() string { if x != nil { return x.Online } return "" } type BoardPlatform struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Architecture of the platform (e.g., `avr`). Architecture string `protobuf:"bytes,1,opt,name=architecture,proto3" json:"architecture,omitempty"` // Category of the platform. Set to `Contributed` for 3rd party platforms. Category string `protobuf:"bytes,2,opt,name=category,proto3" json:"category,omitempty"` // Download URL of the platform archive file. Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` // File name of the platform archive. ArchiveFileName string `protobuf:"bytes,4,opt,name=archiveFileName,proto3" json:"archiveFileName,omitempty"` // Checksum of the platform archive. Checksum string `protobuf:"bytes,5,opt,name=checksum,proto3" json:"checksum,omitempty"` // File size of the platform archive. Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"` // Name used to identify the platform to humans. Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` } func (x *BoardPlatform) Reset() { *x = BoardPlatform{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardPlatform) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardPlatform) ProtoMessage() {} func (x *BoardPlatform) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardPlatform.ProtoReflect.Descriptor instead. func (*BoardPlatform) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{6} } func (x *BoardPlatform) GetArchitecture() string { if x != nil { return x.Architecture } return "" } func (x *BoardPlatform) GetCategory() string { if x != nil { return x.Category } return "" } func (x *BoardPlatform) GetUrl() string { if x != nil { return x.Url } return "" } func (x *BoardPlatform) GetArchiveFileName() string { if x != nil { return x.ArchiveFileName } return "" } func (x *BoardPlatform) GetChecksum() string { if x != nil { return x.Checksum } return "" } func (x *BoardPlatform) GetSize() int64 { if x != nil { return x.Size } return 0 } func (x *BoardPlatform) GetName() string { if x != nil { return x.Name } return "" } type ToolsDependencies struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Vendor name of the package containing the tool definition. Packager string `protobuf:"bytes,1,opt,name=packager,proto3" json:"packager,omitempty"` // Tool name. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` // Tool version. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` // Data for the operating system-specific builds of the tool. Systems []*Systems `protobuf:"bytes,4,rep,name=systems,proto3" json:"systems,omitempty"` } func (x *ToolsDependencies) Reset() { *x = ToolsDependencies{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ToolsDependencies) String() string { return protoimpl.X.MessageStringOf(x) } func (*ToolsDependencies) ProtoMessage() {} func (x *ToolsDependencies) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ToolsDependencies.ProtoReflect.Descriptor instead. func (*ToolsDependencies) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{7} } func (x *ToolsDependencies) GetPackager() string { if x != nil { return x.Packager } return "" } func (x *ToolsDependencies) GetName() string { if x != nil { return x.Name } return "" } func (x *ToolsDependencies) GetVersion() string { if x != nil { return x.Version } return "" } func (x *ToolsDependencies) GetSystems() []*Systems { if x != nil { return x.Systems } return nil } type Systems struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Checksum of the tool archive. Checksum string `protobuf:"bytes,1,opt,name=checksum,proto3" json:"checksum,omitempty"` // Operating system identifier. Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` // File name of the tool archive. ArchiveFileName string `protobuf:"bytes,3,opt,name=archiveFileName,proto3" json:"archiveFileName,omitempty"` // Download URL of the tool archive. Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` // File size of the tool archive. Size int64 `protobuf:"varint,5,opt,name=size,proto3" json:"size,omitempty"` } func (x *Systems) Reset() { *x = Systems{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *Systems) String() string { return protoimpl.X.MessageStringOf(x) } func (*Systems) ProtoMessage() {} func (x *Systems) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Systems.ProtoReflect.Descriptor instead. func (*Systems) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{8} } func (x *Systems) GetChecksum() string { if x != nil { return x.Checksum } return "" } func (x *Systems) GetHost() string { if x != nil { return x.Host } return "" } func (x *Systems) GetArchiveFileName() string { if x != nil { return x.ArchiveFileName } return "" } func (x *Systems) GetUrl() string { if x != nil { return x.Url } return "" } func (x *Systems) GetSize() int64 { if x != nil { return x.Size } return 0 } type ConfigOption struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // ID of the configuration option. For identifying the option to machines. Option string `protobuf:"bytes,1,opt,name=option,proto3" json:"option,omitempty"` // Name of the configuration option for identifying the option to humans. OptionLabel string `protobuf:"bytes,2,opt,name=option_label,json=optionLabel,proto3" json:"option_label,omitempty"` // Possible values of the configuration option. Values []*ConfigValue `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` } func (x *ConfigOption) Reset() { *x = ConfigOption{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigOption) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigOption) ProtoMessage() {} func (x *ConfigOption) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigOption.ProtoReflect.Descriptor instead. func (*ConfigOption) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{9} } func (x *ConfigOption) GetOption() string { if x != nil { return x.Option } return "" } func (x *ConfigOption) GetOptionLabel() string { if x != nil { return x.OptionLabel } return "" } func (x *ConfigOption) GetValues() []*ConfigValue { if x != nil { return x.Values } return nil } type ConfigValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The configuration option value. Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` // Label to identify the configuration option to humans. ValueLabel string `protobuf:"bytes,2,opt,name=value_label,json=valueLabel,proto3" json:"value_label,omitempty"` // Whether the configuration option is selected. Selected bool `protobuf:"varint,3,opt,name=selected,proto3" json:"selected,omitempty"` } func (x *ConfigValue) Reset() { *x = ConfigValue{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ConfigValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*ConfigValue) ProtoMessage() {} func (x *ConfigValue) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ConfigValue.ProtoReflect.Descriptor instead. func (*ConfigValue) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{10} } func (x *ConfigValue) GetValue() string { if x != nil { return x.Value } return "" } func (x *ConfigValue) GetValueLabel() string { if x != nil { return x.ValueLabel } return "" } func (x *ConfigValue) GetSelected() bool { if x != nil { return x.Selected } return false } type BoardAttachReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // The board's URI (e.g., /dev/ttyACM0). BoardUri string `protobuf:"bytes,2,opt,name=board_uri,json=boardUri,proto3" json:"board_uri,omitempty"` // Path of the sketch to attach the board to. The board attachment // metadata will be saved to `{sketch_path}/sketch.json`. SketchPath string `protobuf:"bytes,3,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` // Duration in seconds to search the given URI for a connected board before // timing out. The default value is 5 seconds. SearchTimeout string `protobuf:"bytes,4,opt,name=search_timeout,json=searchTimeout,proto3" json:"search_timeout,omitempty"` } func (x *BoardAttachReq) Reset() { *x = BoardAttachReq{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardAttachReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardAttachReq) ProtoMessage() {} func (x *BoardAttachReq) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardAttachReq.ProtoReflect.Descriptor instead. func (*BoardAttachReq) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{11} } func (x *BoardAttachReq) GetInstance() *Instance { if x != nil { return x.Instance } return nil } func (x *BoardAttachReq) GetBoardUri() string { if x != nil { return x.BoardUri } return "" } func (x *BoardAttachReq) GetSketchPath() string { if x != nil { return x.SketchPath } return "" } func (x *BoardAttachReq) GetSearchTimeout() string { if x != nil { return x.SearchTimeout } return "" } type BoardAttachResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Description of the current stage of the board attachment. TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` } func (x *BoardAttachResp) Reset() { *x = BoardAttachResp{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardAttachResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardAttachResp) ProtoMessage() {} func (x *BoardAttachResp) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardAttachResp.ProtoReflect.Descriptor instead. func (*BoardAttachResp) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{12} } func (x *BoardAttachResp) GetTaskProgress() *TaskProgress { if x != nil { return x.TaskProgress } return nil } type BoardListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` } func (x *BoardListReq) Reset() { *x = BoardListReq{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardListReq) ProtoMessage() {} func (x *BoardListReq) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardListReq.ProtoReflect.Descriptor instead. func (*BoardListReq) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{13} } func (x *BoardListReq) GetInstance() *Instance { if x != nil { return x.Instance } return nil } type BoardListResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of ports and the boards detected on those ports. Ports []*DetectedPort `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` } func (x *BoardListResp) Reset() { *x = BoardListResp{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardListResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardListResp) ProtoMessage() {} func (x *BoardListResp) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardListResp.ProtoReflect.Descriptor instead. func (*BoardListResp) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{14} } func (x *BoardListResp) GetPorts() []*DetectedPort { if x != nil { return x.Ports } return nil } type DetectedPort struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Address of the port (e.g., `serial:///dev/ttyACM0`). Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Protocol of the port (e.g., `serial`). Protocol string `protobuf:"bytes,2,opt,name=protocol,proto3" json:"protocol,omitempty"` // A human friendly description of the protocol (e.g., "Serial Port (USB)"). ProtocolLabel string `protobuf:"bytes,3,opt,name=protocol_label,json=protocolLabel,proto3" json:"protocol_label,omitempty"` // The boards attached to the port. Boards []*BoardListItem `protobuf:"bytes,4,rep,name=boards,proto3" json:"boards,omitempty"` } func (x *DetectedPort) Reset() { *x = DetectedPort{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DetectedPort) String() string { return protoimpl.X.MessageStringOf(x) } func (*DetectedPort) ProtoMessage() {} func (x *DetectedPort) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DetectedPort.ProtoReflect.Descriptor instead. func (*DetectedPort) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{15} } func (x *DetectedPort) GetAddress() string { if x != nil { return x.Address } return "" } func (x *DetectedPort) GetProtocol() string { if x != nil { return x.Protocol } return "" } func (x *DetectedPort) GetProtocolLabel() string { if x != nil { return x.ProtocolLabel } return "" } func (x *DetectedPort) GetBoards() []*BoardListItem { if x != nil { return x.Boards } return nil } type BoardListAllReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // The search query to filter the board list by. SearchArgs []string `protobuf:"bytes,2,rep,name=search_args,json=searchArgs,proto3" json:"search_args,omitempty"` // Set to true to get also the boards marked as "hidden" in the platform IncludeHiddenBoards bool `protobuf:"varint,3,opt,name=include_hidden_boards,json=includeHiddenBoards,proto3" json:"include_hidden_boards,omitempty"` } func (x *BoardListAllReq) Reset() { *x = BoardListAllReq{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardListAllReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardListAllReq) ProtoMessage() {} func (x *BoardListAllReq) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardListAllReq.ProtoReflect.Descriptor instead. func (*BoardListAllReq) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{16} } func (x *BoardListAllReq) GetInstance() *Instance { if x != nil { return x.Instance } return nil } func (x *BoardListAllReq) GetSearchArgs() []string { if x != nil { return x.SearchArgs } return nil } func (x *BoardListAllReq) GetIncludeHiddenBoards() bool { if x != nil { return x.IncludeHiddenBoards } return false } type BoardListAllResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // List of installed boards. Boards []*BoardListItem `protobuf:"bytes,1,rep,name=boards,proto3" json:"boards,omitempty"` } func (x *BoardListAllResp) Reset() { *x = BoardListAllResp{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardListAllResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardListAllResp) ProtoMessage() {} func (x *BoardListAllResp) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardListAllResp.ProtoReflect.Descriptor instead. func (*BoardListAllResp) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{17} } func (x *BoardListAllResp) GetBoards() []*BoardListItem { if x != nil { return x.Boards } return nil } type BoardListWatchReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // Set this to true to stop the discovery process Interrupt bool `protobuf:"varint,2,opt,name=interrupt,proto3" json:"interrupt,omitempty"` } func (x *BoardListWatchReq) Reset() { *x = BoardListWatchReq{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardListWatchReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardListWatchReq) ProtoMessage() {} func (x *BoardListWatchReq) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardListWatchReq.ProtoReflect.Descriptor instead. func (*BoardListWatchReq) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{18} } func (x *BoardListWatchReq) GetInstance() *Instance { if x != nil { return x.Instance } return nil } func (x *BoardListWatchReq) GetInterrupt() bool { if x != nil { return x.Interrupt } return false } type BoardListWatchResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Event type as received from the serial discovery tool EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` // Information about the port Port *DetectedPort `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` // Eventual errors when detecting connected boards Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` } func (x *BoardListWatchResp) Reset() { *x = BoardListWatchResp{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardListWatchResp) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardListWatchResp) ProtoMessage() {} func (x *BoardListWatchResp) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardListWatchResp.ProtoReflect.Descriptor instead. func (*BoardListWatchResp) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{19} } func (x *BoardListWatchResp) GetEventType() string { if x != nil { return x.EventType } return "" } func (x *BoardListWatchResp) GetPort() *DetectedPort { if x != nil { return x.Port } return nil } func (x *BoardListWatchResp) GetError() string { if x != nil { return x.Error } return "" } type BoardListItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // The name for use when identifying the board to a human. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The fully qualified board name. Used to identify the board to a machine. FQBN string `protobuf:"bytes,2,opt,name=FQBN,proto3" json:"FQBN,omitempty"` // If the board is marked as "hidden" in the platform IsHidden bool `protobuf:"varint,3,opt,name=is_hidden,json=isHidden,proto3" json:"is_hidden,omitempty"` } func (x *BoardListItem) Reset() { *x = BoardListItem{} if protoimpl.UnsafeEnabled { mi := &file_commands_board_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *BoardListItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*BoardListItem) ProtoMessage() {} func (x *BoardListItem) ProtoReflect() protoreflect.Message { mi := &file_commands_board_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use BoardListItem.ProtoReflect.Descriptor instead. func (*BoardListItem) Descriptor() ([]byte, []int) { return file_commands_board_proto_rawDescGZIP(), []int{20} } func (x *BoardListItem) GetName() string { if x != nil { return x.Name } return "" } func (x *BoardListItem) GetFQBN() string { if x != nil { return x.FQBN } return "" } func (x *BoardListItem) GetIsHidden() bool { if x != nil { return x.IsHidden } return false } var File_commands_board_proto protoreflect.FileDescriptor var file_commands_board_proto_rawDesc = []byte{ 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x0f, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0xc0, 0x05, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x66, 0x66, 0x69, 0x63, 0x69, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x69, 0x6e, 0x6f, 0x75, 0x74, 0x12, 0x3a, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x58, 0x0a, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x11, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x4c, 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5c, 0x0a, 0x13, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x52, 0x12, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x22, 0x4a, 0x0a, 0x12, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x12, 0x34, 0x0a, 0x05, 0x75, 0x73, 0x62, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x55, 0x53, 0x42, 0x49, 0x44, 0x52, 0x05, 0x75, 0x73, 0x62, 0x49, 0x44, 0x22, 0x2b, 0x0a, 0x05, 0x55, 0x53, 0x42, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x56, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x56, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x50, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x50, 0x49, 0x44, 0x22, 0xb8, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, 0x52, 0x4c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, 0x52, 0x4c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x22, 0x1e, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x89, 0x01, 0x0a, 0x07, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3c, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0xb4, 0x01, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x5d, 0x0a, 0x0f, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4a, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4d, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4c, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3b, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3e, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0xa5, 0x01, 0x0a, 0x0f, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x52, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3e, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x70, 0x0a, 0x11, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x54, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x46, 0x51, 0x42, 0x4e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x46, 0x51, 0x42, 0x4e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_commands_board_proto_rawDescOnce sync.Once file_commands_board_proto_rawDescData = file_commands_board_proto_rawDesc ) func file_commands_board_proto_rawDescGZIP() []byte { file_commands_board_proto_rawDescOnce.Do(func() { file_commands_board_proto_rawDescData = protoimpl.X.CompressGZIP(file_commands_board_proto_rawDescData) }) return file_commands_board_proto_rawDescData } var file_commands_board_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_commands_board_proto_goTypes = []interface{}{ (*BoardDetailsReq)(nil), // 0: cc.arduino.cli.commands.BoardDetailsReq (*BoardDetailsResp)(nil), // 1: cc.arduino.cli.commands.BoardDetailsResp (*IdentificationPref)(nil), // 2: cc.arduino.cli.commands.IdentificationPref (*USBID)(nil), // 3: cc.arduino.cli.commands.USBID (*Package)(nil), // 4: cc.arduino.cli.commands.Package (*Help)(nil), // 5: cc.arduino.cli.commands.Help (*BoardPlatform)(nil), // 6: cc.arduino.cli.commands.BoardPlatform (*ToolsDependencies)(nil), // 7: cc.arduino.cli.commands.ToolsDependencies (*Systems)(nil), // 8: cc.arduino.cli.commands.Systems (*ConfigOption)(nil), // 9: cc.arduino.cli.commands.ConfigOption (*ConfigValue)(nil), // 10: cc.arduino.cli.commands.ConfigValue (*BoardAttachReq)(nil), // 11: cc.arduino.cli.commands.BoardAttachReq (*BoardAttachResp)(nil), // 12: cc.arduino.cli.commands.BoardAttachResp (*BoardListReq)(nil), // 13: cc.arduino.cli.commands.BoardListReq (*BoardListResp)(nil), // 14: cc.arduino.cli.commands.BoardListResp (*DetectedPort)(nil), // 15: cc.arduino.cli.commands.DetectedPort (*BoardListAllReq)(nil), // 16: cc.arduino.cli.commands.BoardListAllReq (*BoardListAllResp)(nil), // 17: cc.arduino.cli.commands.BoardListAllResp (*BoardListWatchReq)(nil), // 18: cc.arduino.cli.commands.BoardListWatchReq (*BoardListWatchResp)(nil), // 19: cc.arduino.cli.commands.BoardListWatchResp (*BoardListItem)(nil), // 20: cc.arduino.cli.commands.BoardListItem (*Instance)(nil), // 21: cc.arduino.cli.commands.Instance (*Programmer)(nil), // 22: cc.arduino.cli.commands.Programmer (*TaskProgress)(nil), // 23: cc.arduino.cli.commands.TaskProgress } var file_commands_board_proto_depIdxs = []int32{ 21, // 0: cc.arduino.cli.commands.BoardDetailsReq.instance:type_name -> cc.arduino.cli.commands.Instance 4, // 1: cc.arduino.cli.commands.BoardDetailsResp.package:type_name -> cc.arduino.cli.commands.Package 6, // 2: cc.arduino.cli.commands.BoardDetailsResp.platform:type_name -> cc.arduino.cli.commands.BoardPlatform 7, // 3: cc.arduino.cli.commands.BoardDetailsResp.toolsDependencies:type_name -> cc.arduino.cli.commands.ToolsDependencies 9, // 4: cc.arduino.cli.commands.BoardDetailsResp.config_options:type_name -> cc.arduino.cli.commands.ConfigOption 2, // 5: cc.arduino.cli.commands.BoardDetailsResp.identification_pref:type_name -> cc.arduino.cli.commands.IdentificationPref 22, // 6: cc.arduino.cli.commands.BoardDetailsResp.programmers:type_name -> cc.arduino.cli.commands.Programmer 3, // 7: cc.arduino.cli.commands.IdentificationPref.usbID:type_name -> cc.arduino.cli.commands.USBID 5, // 8: cc.arduino.cli.commands.Package.help:type_name -> cc.arduino.cli.commands.Help 8, // 9: cc.arduino.cli.commands.ToolsDependencies.systems:type_name -> cc.arduino.cli.commands.Systems 10, // 10: cc.arduino.cli.commands.ConfigOption.values:type_name -> cc.arduino.cli.commands.ConfigValue 21, // 11: cc.arduino.cli.commands.BoardAttachReq.instance:type_name -> cc.arduino.cli.commands.Instance 23, // 12: cc.arduino.cli.commands.BoardAttachResp.task_progress:type_name -> cc.arduino.cli.commands.TaskProgress 21, // 13: cc.arduino.cli.commands.BoardListReq.instance:type_name -> cc.arduino.cli.commands.Instance 15, // 14: cc.arduino.cli.commands.BoardListResp.ports:type_name -> cc.arduino.cli.commands.DetectedPort 20, // 15: cc.arduino.cli.commands.DetectedPort.boards:type_name -> cc.arduino.cli.commands.BoardListItem 21, // 16: cc.arduino.cli.commands.BoardListAllReq.instance:type_name -> cc.arduino.cli.commands.Instance 20, // 17: cc.arduino.cli.commands.BoardListAllResp.boards:type_name -> cc.arduino.cli.commands.BoardListItem 21, // 18: cc.arduino.cli.commands.BoardListWatchReq.instance:type_name -> cc.arduino.cli.commands.Instance 15, // 19: cc.arduino.cli.commands.BoardListWatchResp.port:type_name -> cc.arduino.cli.commands.DetectedPort 20, // [20:20] is the sub-list for method output_type 20, // [20:20] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name } func init() { file_commands_board_proto_init() } func file_commands_board_proto_init() { if File_commands_board_proto != nil { return } file_commands_common_proto_init() if !protoimpl.UnsafeEnabled { file_commands_board_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardDetailsReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardDetailsResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*IdentificationPref); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*USBID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Package); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Help); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardPlatform); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ToolsDependencies); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Systems); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigOption); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ConfigValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardAttachReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardAttachResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardListResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DetectedPort); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardListAllReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardListAllResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardListWatchReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardListWatchResp); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_commands_board_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoardListItem); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_commands_board_proto_rawDesc, NumEnums: 0, NumMessages: 21, NumExtensions: 0, NumServices: 0, }, GoTypes: file_commands_board_proto_goTypes, DependencyIndexes: file_commands_board_proto_depIdxs, MessageInfos: file_commands_board_proto_msgTypes, }.Build() File_commands_board_proto = out.File file_commands_board_proto_rawDesc = nil file_commands_board_proto_goTypes = nil file_commands_board_proto_depIdxs = nil }