// Code generated by protoc-gen-go. DO NOT EDIT.
// source: hype_train/update.proto

package hype_train

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import change "code.justin.tv/eventbus/schema/pkg/eventbus/change"
import _ "code.justin.tv/eventbus/schema/pkg/eventbus/owner"
import timestamp "github.com/golang/protobuf/ptypes/timestamp"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// HypeTrainUpdate is triggered when hype train progress is made on a channel.
type HypeTrainUpdate struct {
	// The id of the hype train.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The user id of the broadcaster.
	BroadcasterUserId string `protobuf:"bytes,2,opt,name=broadcaster_user_id,json=broadcasterUserId,proto3" json:"broadcaster_user_id,omitempty"`
	// The current level.
	Level *change.Int64Change `protobuf:"bytes,3,opt,name=level,proto3" json:"level,omitempty"`
	// The total points contributed.
	Total *change.Int64Change `protobuf:"bytes,4,opt,name=total,proto3" json:"total,omitempty"`
	// The number of points required to reach the next level.
	Goal *change.Int64Change `protobuf:"bytes,5,opt,name=goal,proto3" json:"goal,omitempty"`
	// The most recent contribution.
	LastContribution *ContributionChange `protobuf:"bytes,6,opt,name=last_contribution,json=lastContribution,proto3" json:"last_contribution,omitempty"`
	// The contributors with the most points contributed.
	TopContributions []*ContributionChange `protobuf:"bytes,7,rep,name=top_contributions,json=topContributions,proto3" json:"top_contributions,omitempty"`
	// The time at which the hype train started.
	StartedAt *timestamp.Timestamp `protobuf:"bytes,8,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
	// The time at which the hype train expires. The expiration is extended when
	// the hype train reaches a new level.
	ExpiresAt *change.TimestampChange `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	// The number of points accumulated for the current level only.
	Progress             *change.Int64Change `protobuf:"bytes,10,opt,name=progress,proto3" json:"progress,omitempty"`
	XXX_NoUnkeyedLiteral struct{}            `json:"-"`
	XXX_unrecognized     []byte              `json:"-"`
	XXX_sizecache        int32               `json:"-"`
}

func (m *HypeTrainUpdate) Reset()         { *m = HypeTrainUpdate{} }
func (m *HypeTrainUpdate) String() string { return proto.CompactTextString(m) }
func (*HypeTrainUpdate) ProtoMessage()    {}
func (*HypeTrainUpdate) Descriptor() ([]byte, []int) {
	return fileDescriptor_update_15858fe24d3a4a5b, []int{0}
}
func (m *HypeTrainUpdate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_HypeTrainUpdate.Unmarshal(m, b)
}
func (m *HypeTrainUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_HypeTrainUpdate.Marshal(b, m, deterministic)
}
func (dst *HypeTrainUpdate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_HypeTrainUpdate.Merge(dst, src)
}
func (m *HypeTrainUpdate) XXX_Size() int {
	return xxx_messageInfo_HypeTrainUpdate.Size(m)
}
func (m *HypeTrainUpdate) XXX_DiscardUnknown() {
	xxx_messageInfo_HypeTrainUpdate.DiscardUnknown(m)
}

var xxx_messageInfo_HypeTrainUpdate proto.InternalMessageInfo

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

func (m *HypeTrainUpdate) GetBroadcasterUserId() string {
	if m != nil {
		return m.BroadcasterUserId
	}
	return ""
}

func (m *HypeTrainUpdate) GetLevel() *change.Int64Change {
	if m != nil {
		return m.Level
	}
	return nil
}

func (m *HypeTrainUpdate) GetTotal() *change.Int64Change {
	if m != nil {
		return m.Total
	}
	return nil
}

func (m *HypeTrainUpdate) GetGoal() *change.Int64Change {
	if m != nil {
		return m.Goal
	}
	return nil
}

func (m *HypeTrainUpdate) GetLastContribution() *ContributionChange {
	if m != nil {
		return m.LastContribution
	}
	return nil
}

func (m *HypeTrainUpdate) GetTopContributions() []*ContributionChange {
	if m != nil {
		return m.TopContributions
	}
	return nil
}

func (m *HypeTrainUpdate) GetStartedAt() *timestamp.Timestamp {
	if m != nil {
		return m.StartedAt
	}
	return nil
}

func (m *HypeTrainUpdate) GetExpiresAt() *change.TimestampChange {
	if m != nil {
		return m.ExpiresAt
	}
	return nil
}

func (m *HypeTrainUpdate) GetProgress() *change.Int64Change {
	if m != nil {
		return m.Progress
	}
	return nil
}

// ContributionChange represents a changed contribution and follows the 'change.proto' scheme.
type ContributionChange struct {
	Updated              bool          `protobuf:"varint,1,opt,name=updated,proto3" json:"updated,omitempty"`
	Value                *Contribution `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	HasOldValue          bool          `protobuf:"varint,3,opt,name=has_old_value,json=hasOldValue,proto3" json:"has_old_value,omitempty"`
	OldValue             *Contribution `protobuf:"bytes,4,opt,name=old_value,json=oldValue,proto3" json:"old_value,omitempty"`
	XXX_NoUnkeyedLiteral struct{}      `json:"-"`
	XXX_unrecognized     []byte        `json:"-"`
	XXX_sizecache        int32         `json:"-"`
}

func (m *ContributionChange) Reset()         { *m = ContributionChange{} }
func (m *ContributionChange) String() string { return proto.CompactTextString(m) }
func (*ContributionChange) ProtoMessage()    {}
func (*ContributionChange) Descriptor() ([]byte, []int) {
	return fileDescriptor_update_15858fe24d3a4a5b, []int{1}
}
func (m *ContributionChange) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_ContributionChange.Unmarshal(m, b)
}
func (m *ContributionChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_ContributionChange.Marshal(b, m, deterministic)
}
func (dst *ContributionChange) XXX_Merge(src proto.Message) {
	xxx_messageInfo_ContributionChange.Merge(dst, src)
}
func (m *ContributionChange) XXX_Size() int {
	return xxx_messageInfo_ContributionChange.Size(m)
}
func (m *ContributionChange) XXX_DiscardUnknown() {
	xxx_messageInfo_ContributionChange.DiscardUnknown(m)
}

var xxx_messageInfo_ContributionChange proto.InternalMessageInfo

func (m *ContributionChange) GetUpdated() bool {
	if m != nil {
		return m.Updated
	}
	return false
}

func (m *ContributionChange) GetValue() *Contribution {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *ContributionChange) GetHasOldValue() bool {
	if m != nil {
		return m.HasOldValue
	}
	return false
}

func (m *ContributionChange) GetOldValue() *Contribution {
	if m != nil {
		return m.OldValue
	}
	return nil
}

func init() {
	proto.RegisterType((*HypeTrainUpdate)(nil), "hype_train.HypeTrainUpdate")
	proto.RegisterType((*ContributionChange)(nil), "hype_train.ContributionChange")
}

func init() { proto.RegisterFile("hype_train/update.proto", fileDescriptor_update_15858fe24d3a4a5b) }

var fileDescriptor_update_15858fe24d3a4a5b = []byte{
	// 459 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcd, 0x8e, 0xd3, 0x30,
	0x10, 0xc7, 0xd5, 0xaf, 0xdd, 0x66, 0xca, 0x02, 0x35, 0x20, 0xac, 0x0a, 0x41, 0xd5, 0xd3, 0x5e,
	0x70, 0x51, 0xf9, 0x10, 0x70, 0x41, 0xcb, 0x5e, 0x58, 0x71, 0x40, 0x8a, 0x76, 0x39, 0x70, 0x89,
	0x9c, 0x64, 0x48, 0x23, 0x25, 0xb1, 0x65, 0x4f, 0x0a, 0xfb, 0x2a, 0xbc, 0x07, 0x07, 0x5e, 0x82,
	0x67, 0x42, 0x71, 0xdc, 0x36, 0x68, 0x85, 0xe8, 0x2d, 0x9e, 0xf9, 0xff, 0xfe, 0x1e, 0xcf, 0x4c,
	0xe0, 0xe1, 0xfa, 0x5a, 0x63, 0x44, 0x46, 0xe6, 0xd5, 0xb2, 0xd6, 0xa9, 0x24, 0x14, 0xda, 0x28,
	0x52, 0x0c, 0xf6, 0x89, 0xd9, 0x03, 0xdc, 0x60, 0x45, 0x71, 0x6d, 0x97, 0xc9, 0x5a, 0x56, 0x99,
	0x97, 0xcc, 0xee, 0xef, 0xc2, 0xea, 0x5b, 0x85, 0xc6, 0x47, 0x9f, 0x64, 0x4a, 0x65, 0x05, 0x2e,
	0xdd, 0x29, 0xae, 0xbf, 0x2e, 0x29, 0x2f, 0xd1, 0x92, 0x2c, 0xb5, 0x17, 0x74, 0xaf, 0x4c, 0x0c,
	0xee, 0xae, 0x5c, 0xfc, 0x1e, 0xc2, 0x9d, 0x0f, 0xd7, 0x1a, 0x2f, 0x9b, 0xd4, 0x95, 0x2b, 0x86,
	0xdd, 0x86, 0x7e, 0x9e, 0xf2, 0xde, 0xbc, 0x77, 0x1a, 0x84, 0xfd, 0x3c, 0x65, 0x02, 0xee, 0xc5,
	0x46, 0xc9, 0x34, 0x91, 0x96, 0xd0, 0x44, 0xb5, 0x45, 0x13, 0xe5, 0x29, 0xef, 0x3b, 0xc1, 0xb4,
	0x93, 0xba, 0xb2, 0x68, 0x2e, 0x52, 0xb6, 0x82, 0x51, 0x81, 0x1b, 0x2c, 0xf8, 0x60, 0xde, 0x3b,
	0x9d, 0xac, 0x1e, 0x89, 0x6d, 0xcd, 0xc2, 0x3f, 0xe5, 0xa2, 0xa2, 0x57, 0x2f, 0xce, 0xdd, 0x77,
	0xd8, 0x4a, 0x1b, 0x86, 0x14, 0xc9, 0x82, 0x0f, 0x0f, 0x61, 0x9c, 0x94, 0x3d, 0x83, 0x61, 0xa6,
	0x64, 0xc1, 0x47, 0x07, 0x20, 0x4e, 0xc9, 0x3e, 0xc2, 0xb4, 0x90, 0x96, 0xa2, 0x44, 0x55, 0x64,
	0xf2, 0xb8, 0xa6, 0x5c, 0x55, 0xfc, 0xc8, 0xe1, 0x8f, 0xc5, 0xbe, 0x45, 0xe2, 0xbc, 0x93, 0xf7,
	0x06, 0x77, 0x1b, 0xb0, 0x1b, 0x6f, 0xcc, 0x48, 0xe9, 0xbf, 0xbc, 0x2c, 0x3f, 0x9e, 0x0f, 0x0e,
	0x31, 0x23, 0xa5, 0xbb, 0x61, 0xcb, 0xde, 0x00, 0x58, 0x92, 0x86, 0x30, 0x8d, 0x24, 0xf1, 0xb1,
	0x2b, 0x69, 0x26, 0xda, 0xb1, 0x8a, 0xed, 0x58, 0xc5, 0xe5, 0x76, 0xac, 0x61, 0xe0, 0xd5, 0x67,
	0xc4, 0xde, 0x01, 0xe0, 0x77, 0x9d, 0x1b, 0xb4, 0x0d, 0x1a, 0x38, 0x74, 0x7e, 0xa3, 0x19, 0x3b,
	0xd4, 0x97, 0x10, 0x78, 0xe6, 0x8c, 0xd8, 0x6b, 0x18, 0x6b, 0xa3, 0x32, 0x83, 0xd6, 0x72, 0x38,
	0xa0, 0x97, 0x3b, 0xf5, 0xdb, 0xe9, 0x8f, 0x9f, 0xfc, 0x84, 0x50, 0x96, 0x4f, 0x13, 0x55, 0x96,
	0x68, 0x12, 0x5c, 0xfc, 0xea, 0x01, 0xbb, 0xf9, 0x62, 0xc6, 0xe1, 0xb8, 0x5d, 0xf5, 0x76, 0xb1,
	0xc6, 0xe1, 0xf6, 0xc8, 0x04, 0x8c, 0x36, 0xb2, 0xa8, 0xd1, 0xed, 0xd3, 0x64, 0xc5, 0xff, 0xd5,
	0xba, 0xb0, 0x95, 0xb1, 0x05, 0x9c, 0xac, 0xa5, 0x8d, 0x54, 0x91, 0x46, 0x2d, 0x37, 0x70, 0x7e,
	0x93, 0xb5, 0xb4, 0x9f, 0x8a, 0xf4, 0xb3, 0xd3, 0xbc, 0x84, 0x60, 0x9f, 0x1f, 0xfe, 0xc7, 0x77,
	0xac, 0x3c, 0xf6, 0xfe, 0xd6, 0x97, 0xce, 0x1f, 0x18, 0x1f, 0xb9, 0xb6, 0x3f, 0xff, 0x13, 0x00,
	0x00, 0xff, 0xff, 0xf2, 0x82, 0x9b, 0xda, 0xaf, 0x03, 0x00, 0x00,
}
