// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: plm/v1/sequence.proto

package plmv1

import (
	v1 "github.com/cobotar/protocol/messages/geometry/v1"
	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 SequenceState int32

const (
	SequenceState_SEQUENCE_STATE_UNSPECIFIED          SequenceState = 0
	SequenceState_SEQUENCE_STATE_MISSING_PRECONDITION SequenceState = 1
	SequenceState_SEQUENCE_STATE_WAITING              SequenceState = 2
	SequenceState_SEQUENCE_STATE_IN_PROGRESS          SequenceState = 3
	SequenceState_SEQUENCE_STATE_COMPLETED            SequenceState = 4
)

// Enum value maps for SequenceState.
var (
	SequenceState_name = map[int32]string{
		0: "SEQUENCE_STATE_UNSPECIFIED",
		1: "SEQUENCE_STATE_MISSING_PRECONDITION",
		2: "SEQUENCE_STATE_WAITING",
		3: "SEQUENCE_STATE_IN_PROGRESS",
		4: "SEQUENCE_STATE_COMPLETED",
	}
	SequenceState_value = map[string]int32{
		"SEQUENCE_STATE_UNSPECIFIED":          0,
		"SEQUENCE_STATE_MISSING_PRECONDITION": 1,
		"SEQUENCE_STATE_WAITING":              2,
		"SEQUENCE_STATE_IN_PROGRESS":          3,
		"SEQUENCE_STATE_COMPLETED":            4,
	}
)

func (x SequenceState) Enum() *SequenceState {
	p := new(SequenceState)
	*p = x
	return p
}

func (x SequenceState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SequenceState) Descriptor() protoreflect.EnumDescriptor {
	return file_plm_v1_sequence_proto_enumTypes[0].Descriptor()
}

func (SequenceState) Type() protoreflect.EnumType {
	return &file_plm_v1_sequence_proto_enumTypes[0]
}

func (x SequenceState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SequenceState.Descriptor instead.
func (SequenceState) EnumDescriptor() ([]byte, []int) {
	return file_plm_v1_sequence_proto_rawDescGZIP(), []int{0}
}

type SequenceMessage struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Id              string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name            string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Description     string                 `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	SequenceNumber  int64                  `protobuf:"varint,4,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"`
	Frame           *v1.LocalizedPose      `protobuf:"bytes,5,opt,name=frame,proto3" json:"frame,omitempty"`
	ParentId        string                 `protobuf:"bytes,6,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
	SequenceIds     []string               `protobuf:"bytes,7,rep,name=sequence_ids,json=sequenceIds,proto3" json:"sequence_ids,omitempty"`
	TaskIds         []string               `protobuf:"bytes,8,rep,name=task_ids,json=taskIds,proto3" json:"task_ids,omitempty"`
	AssignedTo      []string               `protobuf:"bytes,9,rep,name=assigned_to,json=assignedTo,proto3" json:"assigned_to,omitempty"`
	State           SequenceState          `protobuf:"varint,10,opt,name=state,proto3,enum=plm.v1.SequenceState" json:"state,omitempty"`
	CompletedTasks  int64                  `protobuf:"varint,11,opt,name=completed_tasks,json=completedTasks,proto3" json:"completed_tasks,omitempty"`
	CanBulkComplete bool                   `protobuf:"varint,12,opt,name=can_bulk_complete,json=canBulkComplete,proto3" json:"can_bulk_complete,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *SequenceMessage) Reset() {
	*x = SequenceMessage{}
	mi := &file_plm_v1_sequence_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SequenceMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SequenceMessage) ProtoMessage() {}

func (x *SequenceMessage) ProtoReflect() protoreflect.Message {
	mi := &file_plm_v1_sequence_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 SequenceMessage.ProtoReflect.Descriptor instead.
func (*SequenceMessage) Descriptor() ([]byte, []int) {
	return file_plm_v1_sequence_proto_rawDescGZIP(), []int{0}
}

func (x *SequenceMessage) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SequenceMessage) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *SequenceMessage) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *SequenceMessage) GetSequenceNumber() int64 {
	if x != nil {
		return x.SequenceNumber
	}
	return 0
}

func (x *SequenceMessage) GetFrame() *v1.LocalizedPose {
	if x != nil {
		return x.Frame
	}
	return nil
}

func (x *SequenceMessage) GetParentId() string {
	if x != nil {
		return x.ParentId
	}
	return ""
}

func (x *SequenceMessage) GetSequenceIds() []string {
	if x != nil {
		return x.SequenceIds
	}
	return nil
}

func (x *SequenceMessage) GetTaskIds() []string {
	if x != nil {
		return x.TaskIds
	}
	return nil
}

func (x *SequenceMessage) GetAssignedTo() []string {
	if x != nil {
		return x.AssignedTo
	}
	return nil
}

func (x *SequenceMessage) GetState() SequenceState {
	if x != nil {
		return x.State
	}
	return SequenceState_SEQUENCE_STATE_UNSPECIFIED
}

func (x *SequenceMessage) GetCompletedTasks() int64 {
	if x != nil {
		return x.CompletedTasks
	}
	return 0
}

func (x *SequenceMessage) GetCanBulkComplete() bool {
	if x != nil {
		return x.CanBulkComplete
	}
	return false
}

// Update published when the state of a sequence have changed
type SequenceUpdatedMessage struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	SequenceId     string                 `protobuf:"bytes,1,opt,name=sequence_id,json=sequenceId,proto3" json:"sequence_id,omitempty"`
	AssignedTo     []string               `protobuf:"bytes,2,rep,name=assigned_to,json=assignedTo,proto3" json:"assigned_to,omitempty"`
	State          SequenceState          `protobuf:"varint,3,opt,name=state,proto3,enum=plm.v1.SequenceState" json:"state,omitempty"`
	CompletedTasks int64                  `protobuf:"varint,4,opt,name=completed_tasks,json=completedTasks,proto3" json:"completed_tasks,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *SequenceUpdatedMessage) Reset() {
	*x = SequenceUpdatedMessage{}
	mi := &file_plm_v1_sequence_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SequenceUpdatedMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SequenceUpdatedMessage) ProtoMessage() {}

func (x *SequenceUpdatedMessage) ProtoReflect() protoreflect.Message {
	mi := &file_plm_v1_sequence_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 SequenceUpdatedMessage.ProtoReflect.Descriptor instead.
func (*SequenceUpdatedMessage) Descriptor() ([]byte, []int) {
	return file_plm_v1_sequence_proto_rawDescGZIP(), []int{1}
}

func (x *SequenceUpdatedMessage) GetSequenceId() string {
	if x != nil {
		return x.SequenceId
	}
	return ""
}

func (x *SequenceUpdatedMessage) GetAssignedTo() []string {
	if x != nil {
		return x.AssignedTo
	}
	return nil
}

func (x *SequenceUpdatedMessage) GetState() SequenceState {
	if x != nil {
		return x.State
	}
	return SequenceState_SEQUENCE_STATE_UNSPECIFIED
}

func (x *SequenceUpdatedMessage) GetCompletedTasks() int64 {
	if x != nil {
		return x.CompletedTasks
	}
	return 0
}

var File_plm_v1_sequence_proto protoreflect.FileDescriptor

const file_plm_v1_sequence_proto_rawDesc = "" +
	"\n" +
	"\x15plm/v1/sequence.proto\x12\x06plm.v1\x1a\x16geometry/v1/pose.proto\"\xb0\x03\n" +
	"\x0fSequenceMessage\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\x12'\n" +
	"\x0fsequence_number\x18\x04 \x01(\x03R\x0esequenceNumber\x120\n" +
	"\x05frame\x18\x05 \x01(\v2\x1a.geometry.v1.LocalizedPoseR\x05frame\x12\x1b\n" +
	"\tparent_id\x18\x06 \x01(\tR\bparentId\x12!\n" +
	"\fsequence_ids\x18\a \x03(\tR\vsequenceIds\x12\x19\n" +
	"\btask_ids\x18\b \x03(\tR\ataskIds\x12\x1f\n" +
	"\vassigned_to\x18\t \x03(\tR\n" +
	"assignedTo\x12+\n" +
	"\x05state\x18\n" +
	" \x01(\x0e2\x15.plm.v1.SequenceStateR\x05state\x12'\n" +
	"\x0fcompleted_tasks\x18\v \x01(\x03R\x0ecompletedTasks\x12*\n" +
	"\x11can_bulk_complete\x18\f \x01(\bR\x0fcanBulkComplete\"\xb0\x01\n" +
	"\x16SequenceUpdatedMessage\x12\x1f\n" +
	"\vsequence_id\x18\x01 \x01(\tR\n" +
	"sequenceId\x12\x1f\n" +
	"\vassigned_to\x18\x02 \x03(\tR\n" +
	"assignedTo\x12+\n" +
	"\x05state\x18\x03 \x01(\x0e2\x15.plm.v1.SequenceStateR\x05state\x12'\n" +
	"\x0fcompleted_tasks\x18\x04 \x01(\x03R\x0ecompletedTasks*\xb2\x01\n" +
	"\rSequenceState\x12\x1e\n" +
	"\x1aSEQUENCE_STATE_UNSPECIFIED\x10\x00\x12'\n" +
	"#SEQUENCE_STATE_MISSING_PRECONDITION\x10\x01\x12\x1a\n" +
	"\x16SEQUENCE_STATE_WAITING\x10\x02\x12\x1e\n" +
	"\x1aSEQUENCE_STATE_IN_PROGRESS\x10\x03\x12\x1c\n" +
	"\x18SEQUENCE_STATE_COMPLETED\x10\x04B\x90\x01\n" +
	"\n" +
	"com.plm.v1B\rSequenceProtoP\x01Z1github.com/cobotar/protocol/messages/plm/v1;plmv1\xa2\x02\x03PXX\xaa\x02\x0fMessages.Plm.V1\xca\x02\x06Plm\\V1\xe2\x02\x12Plm\\V1\\GPBMetadata\xea\x02\aPlm::V1b\x06proto3"

var (
	file_plm_v1_sequence_proto_rawDescOnce sync.Once
	file_plm_v1_sequence_proto_rawDescData []byte
)

func file_plm_v1_sequence_proto_rawDescGZIP() []byte {
	file_plm_v1_sequence_proto_rawDescOnce.Do(func() {
		file_plm_v1_sequence_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_plm_v1_sequence_proto_rawDesc), len(file_plm_v1_sequence_proto_rawDesc)))
	})
	return file_plm_v1_sequence_proto_rawDescData
}

var file_plm_v1_sequence_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_plm_v1_sequence_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_plm_v1_sequence_proto_goTypes = []any{
	(SequenceState)(0),             // 0: plm.v1.SequenceState
	(*SequenceMessage)(nil),        // 1: plm.v1.SequenceMessage
	(*SequenceUpdatedMessage)(nil), // 2: plm.v1.SequenceUpdatedMessage
	(*v1.LocalizedPose)(nil),       // 3: geometry.v1.LocalizedPose
}
var file_plm_v1_sequence_proto_depIdxs = []int32{
	3, // 0: plm.v1.SequenceMessage.frame:type_name -> geometry.v1.LocalizedPose
	0, // 1: plm.v1.SequenceMessage.state:type_name -> plm.v1.SequenceState
	0, // 2: plm.v1.SequenceUpdatedMessage.state:type_name -> plm.v1.SequenceState
	3, // [3:3] is the sub-list for method output_type
	3, // [3:3] is the sub-list for method input_type
	3, // [3:3] is the sub-list for extension type_name
	3, // [3:3] is the sub-list for extension extendee
	0, // [0:3] is the sub-list for field type_name
}

func init() { file_plm_v1_sequence_proto_init() }
func file_plm_v1_sequence_proto_init() {
	if File_plm_v1_sequence_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_plm_v1_sequence_proto_rawDesc), len(file_plm_v1_sequence_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   2,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_plm_v1_sequence_proto_goTypes,
		DependencyIndexes: file_plm_v1_sequence_proto_depIdxs,
		EnumInfos:         file_plm_v1_sequence_proto_enumTypes,
		MessageInfos:      file_plm_v1_sequence_proto_msgTypes,
	}.Build()
	File_plm_v1_sequence_proto = out.File
	file_plm_v1_sequence_proto_goTypes = nil
	file_plm_v1_sequence_proto_depIdxs = nil
}
