45 bool RequestRoute(
CallStation *station,
int starting_floor,
int destination_floor);
46 bool AddElevator(
int elevator);
47 bool RemoveElevator(
int elevator);
48 bool ServicesElevator(
int elevator);
49 void Report(
const std::string &message);
50 bool ReportError(
const std::string &message);
51 void ElevatorArrived(
int number,
int floor,
bool direction);
52 void ResetArrival(
int number);
53 bool IsElevatorAssigned(
int number,
int destination_floor,
int direction);
54 bool IsElevatorAssignedToOther(
int number,
int destination_floor,
int direction);
55 void AssignElevator(
int number,
int destination_floor,
int direction);
58 int GetElevatorArrived(
int starting_floor,
int destination_floor);
59 int GetElevatorArrivedStandard(
int floor,
bool direction);
60 bool IsServicedFloor(
int floor);
61 bool FireService(
int value);
62 bool AtMaxRequests(
int elevator,
int destination_floor);
64 bool CallElevator(
CallStation *station,
bool direction);
67 bool ServesFloor(
int floor);
68 int GetElevator(
int index);
69 bool SameElevators(
const std::vector<int> &elevators);
70 bool GetCallStatus(
int elevator,
int floor,
bool &up,
bool &down);
71 std::vector<CallStation*> GetCallStations(
int floor);
77 int FindClosestElevator(
bool &busy,
bool destination,
int starting_floor,
int destination_floor,
int direction = 0);
78 void DispatchElevator(
bool destination,
int number,
int destination_floor,
int direction,
bool call);
79 void RemoveRoute(
const Route &route);
82 bool ElevatorUnavailable(
int elevator);