// CLEAN
// LISTCLEAN

/***************************************************************************
                          station.h  -  description
                             -------------------
    begin                : Mon Apr 15 2002
    copyright            : (C) 2002 by Ross Andrews
    email                : randrews@geekfu.org
 ***************************************************************************/

class station;

#ifndef STATION_H
#define STATION_H

#include <string>
#include <vector>
#include "resultset.h"
#include "module.h"
#include "rack.h"

using namespace std;

/**
  *@author Ross Andrews
  */

class station {
private:
	station();

public:
	station(const station&);
	station(MYSQL&,string);
	station(MYSQL&);
	const station& operator=(const station&);
	~station();

	vector<module> modules;
/// Utility functions //////////////////
	void addrack(rack); // Add one rack, to the right place
	void addkeepalive(rack); // Add a keepalive rack
	void addcombo(vector<rack>); // Add a *bunch* of racks.
	void addkeepalivecombo(vector<rack>); // Add a bunch of keepalive racks

/// Constants //////////////////////////
	double inclength;
	double rack_overhead;
	double middeckmass;
};

#endif
