// Job.h     Dave Reed      9/9/03
//
// Job class
///////////////////////////////////////////////////////////////////////////////

#ifndef _JOB_
#define _JOB_

enum JobStatus {OK, DONE};

class Job                           
{                                   
  public:
    Job(int id = -1, int arrival = -1, int len = -1);   // constructor

    int GetID() const;              // returns the id number of the job
    int GetArrival() const;         // returns the arrival time of the job
    int GetLength() const;          // returns the length of the job
    JobStatus Execute();            // executes the job, returning its status (OK or DONE)

  private:
    int jobID;                      
    int jobArrivalTime;
    int jobLength;
    int executedSoFar;              // keeps track of number of cycles executed so far

};

#endif
