1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 * 19 * Contains some contributions under the Thrift Software License. 20 * Please see doc/old-thrift-license.txt in the Thrift distribution for 21 * details. 22 */ 23 24include "CityServices.thrift" 25include "Trains.thrift" 26include "Vehicles.thrift" 27 28namespace rs transit.light 29 30struct CLRV { 31 1: list<Vehicles.Material> materials 32 2: Trains.Locomotive locomotive 33} 34 35struct Flexity { 36 1: list<Vehicles.Material> materials 37 2: Trains.Locomotive locomotive 38} 39 40union RollingStock { 41 1: CLRV clrv 42 2: Flexity flexity 43} 44 45enum RouteNumber { 46 Queen = 501 47 Downtowner = 502 48 Kingston = 503 49 King = 504 50 Dundas = 505 51 Carlton = 506 52 Lakeshore = 508 53 Harbourfront = 509 54 Spadina = 510 55 Bathurst = 511 56 StClair = 512 57} 58 59struct Route { 60 1: RouteNumber id 61 2: list<CityServices.TransitImprovements> improvements = [] // ABSOLUTELY NONE! 62} 63 64struct Streetcar { 65 1: i16 id 66 2: RollingStock stock 67 3: Route route 68} 69 70service Barn { 71 Streetcar upgradeStreetcar(1: Streetcar streetcar) 72}