/* * fifo.cpp * * Author: Pedro de la Cruz * University of Houston * Data Structures, Fall 2009 * */ #include "fifo.h" /* Constructors */ Fifo::Fifo() { pid = NULL; duration = NULL; arrival = NULL; occupied = 0; } Fifo::Fifo(int pidValue, int durationValue, int arrivalValue) { pid = pidValue; duration = durationValue; arrival = arrivalValue; occupied = 1; } Fifo::Fifo(char * line) { //StringSchedule Record(line); //cout << Record.size() << endl; occupied = 1; } /* Destructor */ Fifo::~Fifo() { } void Fifo::clear() { pid = NULL; duration = NULL; arrival = NULL; occupied = 0; } void Fifo::append(Fifo * array, Fifo * object, int queueSize) { int i = 1; while(i <= queueSize) { if(!array[i].occupied) { array[i] = *object; break; } i++; // Check if queue is full if(i > queueSize) { cout << "queue is full" << endl; break; } } } void Fifo::remove(Fifo * array, int value, int queueSize) { int i = value; /* Clear said object */ array[value].clear(); while(i <= queueSize) { array[i] = array[i+1]; i++; } } /* Setters/Getters */ void Fifo::setPid(int value) { pid = value; occupied = 1; } int Fifo::getPid() { return pid; } void Fifo::setDuration(int value) { duration = value; occupied = 1; } int Fifo::getDuration() { return duration; } void Fifo::setArrival(int value) { arrival = value; occupied = 1; } int Fifo::getArrival() { return arrival; } void Fifo::setOccupied(int value) { occupied = value; occupied = 1; } int Fifo::getOccupied() { return occupied; }