1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/maps/routes/v1/waypoint.proto
3
4package routes
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	wrappers "github.com/golang/protobuf/ptypes/wrappers"
12	latlng "google.golang.org/genproto/googleapis/type/latlng"
13)
14
15// Reference imports to suppress errors if they are not otherwise used.
16var _ = proto.Marshal
17var _ = fmt.Errorf
18var _ = math.Inf
19
20// This is a compile-time assertion to ensure that this generated file
21// is compatible with the proto package it is being compiled against.
22// A compilation error at this line likely means your copy of the
23// proto package needs to be updated.
24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
25
26// Encapsulates a waypoint. Waypoints mark both the beginning and end of a
27// route, and include intermediate stops along the route.
28type Waypoint struct {
29	// Different ways to represent a location.
30	//
31	// Types that are valid to be assigned to LocationType:
32	//	*Waypoint_Location
33	//	*Waypoint_PlaceId
34	LocationType isWaypoint_LocationType `protobuf_oneof:"location_type"`
35	// Marks this waypoint as a milestone, as opposed to a stopping point. For
36	// each non-via waypoint in the request, the response appends an entry to the
37	// `legs` array to provide the details for stopovers on that leg of the
38	// trip. Set this value to true when you want the route to pass through this
39	// waypoint without stopping over. Via waypoints don't cause an entry to be
40	// added to the `legs` array, but they do route the journey through the
41	// waypoint. You can only set this value on waypoints that are intermediates.
42	// If you set this field on terminal waypoints, then the request fails.
43	Via bool `protobuf:"varint,3,opt,name=via,proto3" json:"via,omitempty"`
44	// Indicates that the waypoint is meant for vehicles to stop at, where the
45	// intention is to either pickup or drop-off. When you set this value, the
46	// calculated route won't include non-`via` waypoints on roads that are
47	// unsuitable for pickup and drop-off. This option works only for `DRIVE` and
48	// `TWO_WHEELER` travel modes, and when the `location_type` is `location`.
49	VehicleStopover bool `protobuf:"varint,4,opt,name=vehicle_stopover,json=vehicleStopover,proto3" json:"vehicle_stopover,omitempty"`
50	// Indicates that the location of this waypoint is meant to have a preference
51	// for the vehicle to stop at a particular side of road. When you set this
52	// value, the route will pass through the location so that the vehicle can
53	// stop at the side of road that the location is biased towards from the
54	// center of the road. This option works only for 'DRIVE' and 'TWO_WHEELER'
55	// travel modes, and when the 'location_type' is set to 'location'.
56	SideOfRoad           bool     `protobuf:"varint,5,opt,name=side_of_road,json=sideOfRoad,proto3" json:"side_of_road,omitempty"`
57	XXX_NoUnkeyedLiteral struct{} `json:"-"`
58	XXX_unrecognized     []byte   `json:"-"`
59	XXX_sizecache        int32    `json:"-"`
60}
61
62func (m *Waypoint) Reset()         { *m = Waypoint{} }
63func (m *Waypoint) String() string { return proto.CompactTextString(m) }
64func (*Waypoint) ProtoMessage()    {}
65func (*Waypoint) Descriptor() ([]byte, []int) {
66	return fileDescriptor_5a74b9fab6220a4a, []int{0}
67}
68
69func (m *Waypoint) XXX_Unmarshal(b []byte) error {
70	return xxx_messageInfo_Waypoint.Unmarshal(m, b)
71}
72func (m *Waypoint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
73	return xxx_messageInfo_Waypoint.Marshal(b, m, deterministic)
74}
75func (m *Waypoint) XXX_Merge(src proto.Message) {
76	xxx_messageInfo_Waypoint.Merge(m, src)
77}
78func (m *Waypoint) XXX_Size() int {
79	return xxx_messageInfo_Waypoint.Size(m)
80}
81func (m *Waypoint) XXX_DiscardUnknown() {
82	xxx_messageInfo_Waypoint.DiscardUnknown(m)
83}
84
85var xxx_messageInfo_Waypoint proto.InternalMessageInfo
86
87type isWaypoint_LocationType interface {
88	isWaypoint_LocationType()
89}
90
91type Waypoint_Location struct {
92	Location *Location `protobuf:"bytes,1,opt,name=location,proto3,oneof"`
93}
94
95type Waypoint_PlaceId struct {
96	PlaceId string `protobuf:"bytes,2,opt,name=place_id,json=placeId,proto3,oneof"`
97}
98
99func (*Waypoint_Location) isWaypoint_LocationType() {}
100
101func (*Waypoint_PlaceId) isWaypoint_LocationType() {}
102
103func (m *Waypoint) GetLocationType() isWaypoint_LocationType {
104	if m != nil {
105		return m.LocationType
106	}
107	return nil
108}
109
110func (m *Waypoint) GetLocation() *Location {
111	if x, ok := m.GetLocationType().(*Waypoint_Location); ok {
112		return x.Location
113	}
114	return nil
115}
116
117func (m *Waypoint) GetPlaceId() string {
118	if x, ok := m.GetLocationType().(*Waypoint_PlaceId); ok {
119		return x.PlaceId
120	}
121	return ""
122}
123
124func (m *Waypoint) GetVia() bool {
125	if m != nil {
126		return m.Via
127	}
128	return false
129}
130
131func (m *Waypoint) GetVehicleStopover() bool {
132	if m != nil {
133		return m.VehicleStopover
134	}
135	return false
136}
137
138func (m *Waypoint) GetSideOfRoad() bool {
139	if m != nil {
140		return m.SideOfRoad
141	}
142	return false
143}
144
145// XXX_OneofWrappers is for the internal use of the proto package.
146func (*Waypoint) XXX_OneofWrappers() []interface{} {
147	return []interface{}{
148		(*Waypoint_Location)(nil),
149		(*Waypoint_PlaceId)(nil),
150	}
151}
152
153// Encapsulates a location (a geographic point, and an optional heading).
154type Location struct {
155	// The waypoint's geographic coordinates.
156	LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"`
157	// The compass heading associated with the direction of the flow of traffic.
158	// This value is used to specify the side of the road to use for pickup and
159	// drop-off. Heading values can be from 0 to 360, where 0 specifies a heading
160	// of due North, 90 specifies a heading of due East, etc. You can use this
161	// field only for `DRIVE` and `TWO_WHEELER` travel modes.
162	Heading              *wrappers.Int32Value `protobuf:"bytes,2,opt,name=heading,proto3" json:"heading,omitempty"`
163	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
164	XXX_unrecognized     []byte               `json:"-"`
165	XXX_sizecache        int32                `json:"-"`
166}
167
168func (m *Location) Reset()         { *m = Location{} }
169func (m *Location) String() string { return proto.CompactTextString(m) }
170func (*Location) ProtoMessage()    {}
171func (*Location) Descriptor() ([]byte, []int) {
172	return fileDescriptor_5a74b9fab6220a4a, []int{1}
173}
174
175func (m *Location) XXX_Unmarshal(b []byte) error {
176	return xxx_messageInfo_Location.Unmarshal(m, b)
177}
178func (m *Location) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
179	return xxx_messageInfo_Location.Marshal(b, m, deterministic)
180}
181func (m *Location) XXX_Merge(src proto.Message) {
182	xxx_messageInfo_Location.Merge(m, src)
183}
184func (m *Location) XXX_Size() int {
185	return xxx_messageInfo_Location.Size(m)
186}
187func (m *Location) XXX_DiscardUnknown() {
188	xxx_messageInfo_Location.DiscardUnknown(m)
189}
190
191var xxx_messageInfo_Location proto.InternalMessageInfo
192
193func (m *Location) GetLatLng() *latlng.LatLng {
194	if m != nil {
195		return m.LatLng
196	}
197	return nil
198}
199
200func (m *Location) GetHeading() *wrappers.Int32Value {
201	if m != nil {
202		return m.Heading
203	}
204	return nil
205}
206
207func init() {
208	proto.RegisterType((*Waypoint)(nil), "google.maps.routes.v1.Waypoint")
209	proto.RegisterType((*Location)(nil), "google.maps.routes.v1.Location")
210}
211
212func init() {
213	proto.RegisterFile("google/maps/routes/v1/waypoint.proto", fileDescriptor_5a74b9fab6220a4a)
214}
215
216var fileDescriptor_5a74b9fab6220a4a = []byte{
217	// 406 bytes of a gzipped FileDescriptorProto
218	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x4f, 0x4b, 0x1c, 0x31,
219	0x18, 0xc6, 0xcd, 0x6a, 0xdd, 0x69, 0xac, 0x28, 0x53, 0x84, 0xa9, 0x42, 0xbb, 0x48, 0x0f, 0x5b,
220	0x28, 0x09, 0xbb, 0xd2, 0x93, 0xf4, 0xb2, 0x17, 0x15, 0x56, 0x2a, 0x11, 0xb6, 0x50, 0x16, 0x86,
221	0xb8, 0x93, 0x8d, 0x81, 0x98, 0x37, 0xcc, 0x64, 0x47, 0xfc, 0x3a, 0xed, 0xad, 0x1f, 0xa5, 0x1f,
222	0xa0, 0x9f, 0xa5, 0xc7, 0x92, 0x7f, 0x3d, 0x14, 0x4f, 0x13, 0x9e, 0xe7, 0xf7, 0xe6, 0xc9, 0xf3,
223	0x32, 0xf8, 0xbd, 0x04, 0x90, 0x5a, 0xd0, 0x07, 0x6e, 0x3b, 0xda, 0xc2, 0xc6, 0x89, 0x8e, 0xf6,
224	0x13, 0xfa, 0xc8, 0x9f, 0x2c, 0x28, 0xe3, 0x88, 0x6d, 0xc1, 0x41, 0x79, 0x14, 0x29, 0xe2, 0x29,
225	0x12, 0x29, 0xd2, 0x4f, 0x8e, 0xdf, 0xa6, 0xe1, 0x00, 0xdd, 0x6d, 0xd6, 0xf4, 0xb1, 0xe5, 0xd6,
226	0x8a, 0xb6, 0x8b, 0x63, 0xc7, 0x55, 0xf2, 0xdd, 0x93, 0x15, 0x54, 0x73, 0xa7, 0x8d, 0x8c, 0xce,
227	0xe9, 0x6f, 0x84, 0x8b, 0xaf, 0x29, 0xa3, 0xfc, 0x8c, 0x0b, 0x0d, 0x2b, 0xee, 0x14, 0x98, 0x0a,
228	0x8d, 0xd0, 0x78, 0x6f, 0xfa, 0x8e, 0x3c, 0x1b, 0x48, 0xe6, 0x09, 0xbb, 0xdc, 0x62, 0xff, 0x46,
229	0xca, 0x13, 0x5c, 0x58, 0xcd, 0x57, 0xa2, 0x56, 0x4d, 0x35, 0x18, 0xa1, 0xf1, 0xcb, 0xcb, 0x2d,
230	0x36, 0x0c, 0xca, 0x55, 0x53, 0x1e, 0xe2, 0xed, 0x5e, 0xf1, 0x6a, 0x7b, 0x84, 0xc6, 0x05, 0xf3,
231	0xc7, 0xf2, 0x03, 0x3e, 0xec, 0xc5, 0xbd, 0x5a, 0x69, 0x51, 0x77, 0x0e, 0x2c, 0xf4, 0xa2, 0xad,
232	0x76, 0x82, 0x7d, 0x90, 0xf4, 0xdb, 0x24, 0x97, 0x23, 0xfc, 0xaa, 0x53, 0x8d, 0xa8, 0x61, 0x5d,
233	0xb7, 0xc0, 0x9b, 0xea, 0x45, 0xc0, 0xb0, 0xd7, 0xbe, 0xac, 0x19, 0xf0, 0x66, 0x76, 0x80, 0xf7,
234	0xf3, 0x3b, 0x6a, 0xdf, 0xf2, 0x14, 0x70, 0x91, 0x1f, 0x59, 0x7e, 0xc4, 0x43, 0xcd, 0x5d, 0xad,
235	0x8d, 0x4c, 0xb5, 0x5e, 0xe7, 0x5a, 0x1e, 0x25, 0x73, 0xee, 0xe6, 0x46, 0xb2, 0x5d, 0x1d, 0xbe,
236	0xe5, 0x27, 0x3c, 0xbc, 0x17, 0xbc, 0x51, 0x46, 0x86, 0x16, 0x7b, 0xd3, 0x93, 0x4c, 0xe7, 0xf5,
237	0x92, 0x2b, 0xe3, 0xce, 0xa6, 0x0b, 0xae, 0x37, 0x82, 0x65, 0x76, 0xf6, 0x03, 0xe1, 0x37, 0x2b,
238	0x78, 0x78, 0x7e, 0x61, 0xb3, 0xfd, 0xbc, 0xe4, 0x1b, 0x7f, 0xc7, 0x0d, 0xfa, 0x76, 0x9e, 0x38,
239	0x09, 0x9a, 0x1b, 0x49, 0xa0, 0x95, 0x54, 0x0a, 0x13, 0x12, 0x68, 0xb4, 0xb8, 0x55, 0xdd, 0x7f,
240	0xbf, 0xc3, 0x79, 0x3c, 0xfd, 0x41, 0xe8, 0xfb, 0x60, 0xe7, 0xe2, 0x9a, 0xdd, 0xfe, 0x1c, 0x1c,
241	0x5d, 0xc4, 0x7b, 0xae, 0x7d, 0x1e, 0x8b, 0x79, 0x8b, 0xc9, 0xaf, 0xac, 0x2f, 0xbd, 0xbe, 0x8c,
242	0xfa, 0x72, 0x31, 0xb9, 0xdb, 0x0d, 0x09, 0x67, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x00, 0x98,
243	0xc0, 0x83, 0x6f, 0x02, 0x00, 0x00,
244}
245