blob: c8d51c4435634db4c1cb42678d12a95200e00ead [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package ifc
type Location complex64
type Waypoint Location
type LegId int16
type WaypointId int16
type SuggestionId int16
type Destination struct {
// TODO; may or may not have an embedded Waypoint
}
/*
* A leg of travel. Each leg has one destination of significance but may be
* routed through any number of waypoints.
*/
type Leg struct {
Waypoints []Waypoint
// Logically, the last waypoint. However, it contains metadata that other
// waypoints do not (see Destination struct).
Destination Destination
// TODO: timeline data
}
type TripPlan []Leg
type TripStatus struct {
CurrentLeg LegId
// ID of the next waypoint on the current leg. The leg destination is
// considered the last waypoint.
NextWaypoint WaypointId
}
/*
* Status actually varies by agent/user.
*/
type TravellerStatus struct {
TripStatus TripStatus
Location Location
}
type Trip struct {
Plan TripPlan
Status map[string]TravellerStatus
}