// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v6.33.4
// source: meshtastic/atak.proto
// trunk-ignore(buf-lint/PACKAGE_DIRECTORY_MATCH)
package pb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
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)
)
type Team int32
const (
// Unspecifed
Team_Unspecifed_Color Team = 0
// White
Team_White Team = 1
// Yellow
Team_Yellow Team = 2
// Orange
Team_Orange Team = 3
// Magenta
Team_Magenta Team = 4
// Red
Team_Red Team = 5
// Maroon
Team_Maroon Team = 6
// Purple
Team_Purple Team = 7
// Dark Blue
Team_Dark_Blue Team = 8
// Blue
Team_Blue Team = 9
// Cyan
Team_Cyan Team = 10
// Teal
Team_Teal Team = 11
// Green
Team_Green Team = 12
// Dark Green
Team_Dark_Green Team = 13
// Brown
Team_Brown Team = 14
)
// Enum value maps for Team.
var (
Team_name = map[int32]string{
0: "Unspecifed_Color",
1: "White",
2: "Yellow",
3: "Orange",
4: "Magenta",
5: "Red",
6: "Maroon",
7: "Purple",
8: "Dark_Blue",
9: "Blue",
10: "Cyan",
11: "Teal",
12: "Green",
13: "Dark_Green",
14: "Brown",
}
Team_value = map[string]int32{
"Unspecifed_Color": 0,
"White": 1,
"Yellow": 2,
"Orange": 3,
"Magenta": 4,
"Red": 5,
"Maroon": 6,
"Purple": 7,
"Dark_Blue": 8,
"Blue": 9,
"Cyan": 10,
"Teal": 11,
"Green": 12,
"Dark_Green": 13,
"Brown": 14,
}
)
func (x Team) Enum() *Team {
p := new(Team)
*p = x
return p
}
func (x Team) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Team) Descriptor() protoreflect.EnumDescriptor {
return file_meshtastic_atak_proto_enumTypes[0].Descriptor()
}
func (Team) Type() protoreflect.EnumType {
return &file_meshtastic_atak_proto_enumTypes[0]
}
func (x Team) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Team.Descriptor instead.
func (Team) EnumDescriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{0}
}
// Role of the group member
type MemberRole int32
const (
// Unspecifed
MemberRole_Unspecifed MemberRole = 0
// Team Member
MemberRole_TeamMember MemberRole = 1
// Team Lead
MemberRole_TeamLead MemberRole = 2
// Headquarters
MemberRole_HQ MemberRole = 3
// Airsoft enthusiast
MemberRole_Sniper MemberRole = 4
// Medic
MemberRole_Medic MemberRole = 5
// ForwardObserver
MemberRole_ForwardObserver MemberRole = 6
// Radio Telephone Operator
MemberRole_RTO MemberRole = 7
// Doggo
MemberRole_K9 MemberRole = 8
)
// Enum value maps for MemberRole.
var (
MemberRole_name = map[int32]string{
0: "Unspecifed",
1: "TeamMember",
2: "TeamLead",
3: "HQ",
4: "Sniper",
5: "Medic",
6: "ForwardObserver",
7: "RTO",
8: "K9",
}
MemberRole_value = map[string]int32{
"Unspecifed": 0,
"TeamMember": 1,
"TeamLead": 2,
"HQ": 3,
"Sniper": 4,
"Medic": 5,
"ForwardObserver": 6,
"RTO": 7,
"K9": 8,
}
)
func (x MemberRole) Enum() *MemberRole {
p := new(MemberRole)
*p = x
return p
}
func (x MemberRole) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MemberRole) Descriptor() protoreflect.EnumDescriptor {
return file_meshtastic_atak_proto_enumTypes[1].Descriptor()
}
func (MemberRole) Type() protoreflect.EnumType {
return &file_meshtastic_atak_proto_enumTypes[1]
}
func (x MemberRole) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MemberRole.Descriptor instead.
func (MemberRole) EnumDescriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{1}
}
// Packets for the official ATAK Plugin
type TAKPacket struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Are the payloads strings compressed for LoRA transport?
IsCompressed bool `protobuf:"varint,1,opt,name=is_compressed,json=isCompressed,proto3" json:"isCompressed,omitempty"`
// The contact / callsign for ATAK user
Contact *Contact `protobuf:"bytes,2,opt,name=contact,proto3" json:"contact,omitempty"`
// The group for ATAK user
Group *Group `protobuf:"bytes,3,opt,name=group,proto3" json:"group,omitempty"`
// The status of the ATAK EUD
Status *Status `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"`
// The payload of the packet
//
// Types that are valid to be assigned to PayloadVariant:
//
// *TAKPacket_Pli
// *TAKPacket_Chat
// *TAKPacket_Detail
PayloadVariant isTAKPacket_PayloadVariant `protobuf_oneof:"payload_variant"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *TAKPacket) Reset() {
*x = TAKPacket{}
mi := &file_meshtastic_atak_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *TAKPacket) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TAKPacket) ProtoMessage() {}
func (x *TAKPacket) ProtoReflect() protoreflect.Message {
mi := &file_meshtastic_atak_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TAKPacket.ProtoReflect.Descriptor instead.
func (*TAKPacket) Descriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{0}
}
func (x *TAKPacket) GetIsCompressed() bool {
if x != nil {
return x.IsCompressed
}
return false
}
func (x *TAKPacket) GetContact() *Contact {
if x != nil {
return x.Contact
}
return nil
}
func (x *TAKPacket) GetGroup() *Group {
if x != nil {
return x.Group
}
return nil
}
func (x *TAKPacket) GetStatus() *Status {
if x != nil {
return x.Status
}
return nil
}
func (x *TAKPacket) GetPayloadVariant() isTAKPacket_PayloadVariant {
if x != nil {
return x.PayloadVariant
}
return nil
}
func (x *TAKPacket) GetPli() *PLI {
if x != nil {
if x, ok := x.PayloadVariant.(*TAKPacket_Pli); ok {
return x.Pli
}
}
return nil
}
func (x *TAKPacket) GetChat() *GeoChat {
if x != nil {
if x, ok := x.PayloadVariant.(*TAKPacket_Chat); ok {
return x.Chat
}
}
return nil
}
func (x *TAKPacket) GetDetail() []byte {
if x != nil {
if x, ok := x.PayloadVariant.(*TAKPacket_Detail); ok {
return x.Detail
}
}
return nil
}
type isTAKPacket_PayloadVariant interface {
isTAKPacket_PayloadVariant()
}
type TAKPacket_Pli struct {
// TAK position report
Pli *PLI `protobuf:"bytes,5,opt,name=pli,proto3,oneof"`
}
type TAKPacket_Chat struct {
// ATAK GeoChat message
Chat *GeoChat `protobuf:"bytes,6,opt,name=chat,proto3,oneof"`
}
type TAKPacket_Detail struct {
// Generic CoT detail XML
// May be compressed / truncated by the sender (EUD)
Detail []byte `protobuf:"bytes,7,opt,name=detail,proto3,oneof"`
}
func (*TAKPacket_Pli) isTAKPacket_PayloadVariant() {}
func (*TAKPacket_Chat) isTAKPacket_PayloadVariant() {}
func (*TAKPacket_Detail) isTAKPacket_PayloadVariant() {}
// ATAK GeoChat message
type GeoChat struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The text message
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
// Uid recipient of the message
To *string `protobuf:"bytes,2,opt,name=to,proto3,oneof" json:"to,omitempty"`
// Callsign of the recipient for the message
ToCallsign *string `protobuf:"bytes,3,opt,name=to_callsign,json=toCallsign,proto3,oneof" json:"toCallsign,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *GeoChat) Reset() {
*x = GeoChat{}
mi := &file_meshtastic_atak_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *GeoChat) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GeoChat) ProtoMessage() {}
func (x *GeoChat) ProtoReflect() protoreflect.Message {
mi := &file_meshtastic_atak_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GeoChat.ProtoReflect.Descriptor instead.
func (*GeoChat) Descriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{1}
}
func (x *GeoChat) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *GeoChat) GetTo() string {
if x != nil && x.To != nil {
return *x.To
}
return ""
}
func (x *GeoChat) GetToCallsign() string {
if x != nil && x.ToCallsign != nil {
return *x.ToCallsign
}
return ""
}
// ATAK Group
// <__group role='Team Member' name='Cyan'/>
type Group struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Role of the group member
Role MemberRole `protobuf:"varint,1,opt,name=role,proto3,enum=meshtastic.MemberRole" json:"role,omitempty"`
// Team (color)
// Default Cyan
Team Team `protobuf:"varint,2,opt,name=team,proto3,enum=meshtastic.Team" json:"team,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Group) Reset() {
*x = Group{}
mi := &file_meshtastic_atak_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Group) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Group) ProtoMessage() {}
func (x *Group) ProtoReflect() protoreflect.Message {
mi := &file_meshtastic_atak_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Group.ProtoReflect.Descriptor instead.
func (*Group) Descriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{2}
}
func (x *Group) GetRole() MemberRole {
if x != nil {
return x.Role
}
return MemberRole_Unspecifed
}
func (x *Group) GetTeam() Team {
if x != nil {
return x.Team
}
return Team_Unspecifed_Color
}
// ATAK EUD Status
//
type Status struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Battery level
Battery uint32 `protobuf:"varint,1,opt,name=battery,proto3" json:"battery,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Status) Reset() {
*x = Status{}
mi := &file_meshtastic_atak_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Status) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Status) ProtoMessage() {}
func (x *Status) ProtoReflect() protoreflect.Message {
mi := &file_meshtastic_atak_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Status.ProtoReflect.Descriptor instead.
func (*Status) Descriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{3}
}
func (x *Status) GetBattery() uint32 {
if x != nil {
return x.Battery
}
return 0
}
// ATAK Contact
//
type Contact struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Callsign
Callsign string `protobuf:"bytes,1,opt,name=callsign,proto3" json:"callsign,omitempty"`
// Device callsign
DeviceCallsign string `protobuf:"bytes,2,opt,name=device_callsign,json=deviceCallsign,proto3" json:"deviceCallsign,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *Contact) Reset() {
*x = Contact{}
mi := &file_meshtastic_atak_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *Contact) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Contact) ProtoMessage() {}
func (x *Contact) ProtoReflect() protoreflect.Message {
mi := &file_meshtastic_atak_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Contact.ProtoReflect.Descriptor instead.
func (*Contact) Descriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{4}
}
func (x *Contact) GetCallsign() string {
if x != nil {
return x.Callsign
}
return ""
}
func (x *Contact) GetDeviceCallsign() string {
if x != nil {
return x.DeviceCallsign
}
return ""
}
// Position Location Information from ATAK
type PLI struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The new preferred location encoding, multiply by 1e-7 to get degrees
// in floating point
LatitudeI int32 `protobuf:"fixed32,1,opt,name=latitude_i,json=latitudeI,proto3" json:"latitudeI,omitempty"`
// The new preferred location encoding, multiply by 1e-7 to get degrees
// in floating point
LongitudeI int32 `protobuf:"fixed32,2,opt,name=longitude_i,json=longitudeI,proto3" json:"longitudeI,omitempty"`
// Altitude (ATAK prefers HAE)
Altitude int32 `protobuf:"varint,3,opt,name=altitude,proto3" json:"altitude,omitempty"`
// Speed
Speed uint32 `protobuf:"varint,4,opt,name=speed,proto3" json:"speed,omitempty"`
// Course in degrees
Course uint32 `protobuf:"varint,5,opt,name=course,proto3" json:"course,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *PLI) Reset() {
*x = PLI{}
mi := &file_meshtastic_atak_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *PLI) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PLI) ProtoMessage() {}
func (x *PLI) ProtoReflect() protoreflect.Message {
mi := &file_meshtastic_atak_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PLI.ProtoReflect.Descriptor instead.
func (*PLI) Descriptor() ([]byte, []int) {
return file_meshtastic_atak_proto_rawDescGZIP(), []int{5}
}
func (x *PLI) GetLatitudeI() int32 {
if x != nil {
return x.LatitudeI
}
return 0
}
func (x *PLI) GetLongitudeI() int32 {
if x != nil {
return x.LongitudeI
}
return 0
}
func (x *PLI) GetAltitude() int32 {
if x != nil {
return x.Altitude
}
return 0
}
func (x *PLI) GetSpeed() uint32 {
if x != nil {
return x.Speed
}
return 0
}
func (x *PLI) GetCourse() uint32 {
if x != nil {
return x.Course
}
return 0
}
var File_meshtastic_atak_proto protoreflect.FileDescriptor
const file_meshtastic_atak_proto_rawDesc = "" +
"\n" +
"\x15meshtastic/atak.proto\x12\n" +
"meshtastic\"\xb1\x02\n" +
"\tTAKPacket\x12#\n" +
"\ris_compressed\x18\x01 \x01(\bR\fisCompressed\x12-\n" +
"\acontact\x18\x02 \x01(\v2\x13.meshtastic.ContactR\acontact\x12'\n" +
"\x05group\x18\x03 \x01(\v2\x11.meshtastic.GroupR\x05group\x12*\n" +
"\x06status\x18\x04 \x01(\v2\x12.meshtastic.StatusR\x06status\x12#\n" +
"\x03pli\x18\x05 \x01(\v2\x0f.meshtastic.PLIH\x00R\x03pli\x12)\n" +
"\x04chat\x18\x06 \x01(\v2\x13.meshtastic.GeoChatH\x00R\x04chat\x12\x18\n" +
"\x06detail\x18\a \x01(\fH\x00R\x06detailB\x11\n" +
"\x0fpayload_variant\"u\n" +
"\aGeoChat\x12\x18\n" +
"\amessage\x18\x01 \x01(\tR\amessage\x12\x13\n" +
"\x02to\x18\x02 \x01(\tH\x00R\x02to\x88\x01\x01\x12$\n" +
"\vto_callsign\x18\x03 \x01(\tH\x01R\n" +
"toCallsign\x88\x01\x01B\x05\n" +
"\x03_toB\x0e\n" +
"\f_to_callsign\"Y\n" +
"\x05Group\x12*\n" +
"\x04role\x18\x01 \x01(\x0e2\x16.meshtastic.MemberRoleR\x04role\x12$\n" +
"\x04team\x18\x02 \x01(\x0e2\x10.meshtastic.TeamR\x04team\"\"\n" +
"\x06Status\x12\x18\n" +
"\abattery\x18\x01 \x01(\rR\abattery\"N\n" +
"\aContact\x12\x1a\n" +
"\bcallsign\x18\x01 \x01(\tR\bcallsign\x12'\n" +
"\x0fdevice_callsign\x18\x02 \x01(\tR\x0edeviceCallsign\"\x8f\x01\n" +
"\x03PLI\x12\x1d\n" +
"\n" +
"latitude_i\x18\x01 \x01(\x0fR\tlatitudeI\x12\x1f\n" +
"\vlongitude_i\x18\x02 \x01(\x0fR\n" +
"longitudeI\x12\x1a\n" +
"\baltitude\x18\x03 \x01(\x05R\baltitude\x12\x14\n" +
"\x05speed\x18\x04 \x01(\rR\x05speed\x12\x16\n" +
"\x06course\x18\x05 \x01(\rR\x06course*\xc0\x01\n" +
"\x04Team\x12\x14\n" +
"\x10Unspecifed_Color\x10\x00\x12\t\n" +
"\x05White\x10\x01\x12\n" +
"\n" +
"\x06Yellow\x10\x02\x12\n" +
"\n" +
"\x06Orange\x10\x03\x12\v\n" +
"\aMagenta\x10\x04\x12\a\n" +
"\x03Red\x10\x05\x12\n" +
"\n" +
"\x06Maroon\x10\x06\x12\n" +
"\n" +
"\x06Purple\x10\a\x12\r\n" +
"\tDark_Blue\x10\b\x12\b\n" +
"\x04Blue\x10\t\x12\b\n" +
"\x04Cyan\x10\n" +
"\x12\b\n" +
"\x04Teal\x10\v\x12\t\n" +
"\x05Green\x10\f\x12\x0e\n" +
"\n" +
"Dark_Green\x10\r\x12\t\n" +
"\x05Brown\x10\x0e*\x7f\n" +
"\n" +
"MemberRole\x12\x0e\n" +
"\n" +
"Unspecifed\x10\x00\x12\x0e\n" +
"\n" +
"TeamMember\x10\x01\x12\f\n" +
"\bTeamLead\x10\x02\x12\x06\n" +
"\x02HQ\x10\x03\x12\n" +
"\n" +
"\x06Sniper\x10\x04\x12\t\n" +
"\x05Medic\x10\x05\x12\x13\n" +
"\x0fForwardObserver\x10\x06\x12\a\n" +
"\x03RTO\x10\a\x12\x06\n" +
"\x02K9\x10\bB`\n" +
"\x14org.meshtastic.protoB\n" +
"ATAKProtosZ\"github.com/meshtastic/go/generated\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3"
var (
file_meshtastic_atak_proto_rawDescOnce sync.Once
file_meshtastic_atak_proto_rawDescData []byte
)
func file_meshtastic_atak_proto_rawDescGZIP() []byte {
file_meshtastic_atak_proto_rawDescOnce.Do(func() {
file_meshtastic_atak_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_atak_proto_rawDesc), len(file_meshtastic_atak_proto_rawDesc)))
})
return file_meshtastic_atak_proto_rawDescData
}
var file_meshtastic_atak_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_meshtastic_atak_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_meshtastic_atak_proto_goTypes = []any{
(Team)(0), // 0: meshtastic.Team
(MemberRole)(0), // 1: meshtastic.MemberRole
(*TAKPacket)(nil), // 2: meshtastic.TAKPacket
(*GeoChat)(nil), // 3: meshtastic.GeoChat
(*Group)(nil), // 4: meshtastic.Group
(*Status)(nil), // 5: meshtastic.Status
(*Contact)(nil), // 6: meshtastic.Contact
(*PLI)(nil), // 7: meshtastic.PLI
}
var file_meshtastic_atak_proto_depIdxs = []int32{
6, // 0: meshtastic.TAKPacket.contact:type_name -> meshtastic.Contact
4, // 1: meshtastic.TAKPacket.group:type_name -> meshtastic.Group
5, // 2: meshtastic.TAKPacket.status:type_name -> meshtastic.Status
7, // 3: meshtastic.TAKPacket.pli:type_name -> meshtastic.PLI
3, // 4: meshtastic.TAKPacket.chat:type_name -> meshtastic.GeoChat
1, // 5: meshtastic.Group.role:type_name -> meshtastic.MemberRole
0, // 6: meshtastic.Group.team:type_name -> meshtastic.Team
7, // [7:7] is the sub-list for method output_type
7, // [7:7] is the sub-list for method input_type
7, // [7:7] is the sub-list for extension type_name
7, // [7:7] is the sub-list for extension extendee
0, // [0:7] is the sub-list for field type_name
}
func init() { file_meshtastic_atak_proto_init() }
func file_meshtastic_atak_proto_init() {
if File_meshtastic_atak_proto != nil {
return
}
file_meshtastic_atak_proto_msgTypes[0].OneofWrappers = []any{
(*TAKPacket_Pli)(nil),
(*TAKPacket_Chat)(nil),
(*TAKPacket_Detail)(nil),
}
file_meshtastic_atak_proto_msgTypes[1].OneofWrappers = []any{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_atak_proto_rawDesc), len(file_meshtastic_atak_proto_rawDesc)),
NumEnums: 2,
NumMessages: 6,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_meshtastic_atak_proto_goTypes,
DependencyIndexes: file_meshtastic_atak_proto_depIdxs,
EnumInfos: file_meshtastic_atak_proto_enumTypes,
MessageInfos: file_meshtastic_atak_proto_msgTypes,
}.Build()
File_meshtastic_atak_proto = out.File
file_meshtastic_atak_proto_goTypes = nil
file_meshtastic_atak_proto_depIdxs = nil
}