// Job.cpp Dave Reed 1/28/06 /////////////////////////////////////////////////////////////////////////////// #include #include #include "Job.h" using namespace std; Job::Job(int id, int arrival, int time) // Assumes: id is unique, arrival and time >= 0 // Results: constructs a job object, initializes executedSoFar to 0 { jobID = id; jobArrival = arrival; jobRemaining = time; jobStatus = READY; } int Job::getID() const // Returns: returns ID number of the job { return jobID; } int Job::getArrival() const // Returns: returns arrival time of the job { return jobArrival; } int Job::getRemaining() const // Returns: returns length of the job { return jobRemaining; } void Job::setStatus(Status st) { jobStatus = st; } Status Job::getStatus() { return jobStatus; } void Job::execute() // Assumes: job is not done yet (executedSoFar < length) // Returns: status (OK, IO or DONE) after executing the job for a cycle { setStatus(EXECUTING); jobRemaining--; if (jobRemaining == 0) { setStatus(DONE); } }