#ifndef COOSYS_H
#define COOSYS_H

#include "global.h"

/**
* This class represents the <COOSYS> element in a 'RESOURCE'.  
*
* A COOSYS element contains ID, equinox, epoch and system.
*/
//Date created - 27 May 2002

class Coosys {

	public:
		/**
		* Default constructor
		*/
		Coosys();

		/**
		* Destructor
		*/
		~Coosys();

		/**
		* Assignment operator overloaded.
		*/
		Coosys operator=(const Coosys &c);

		/**
		* Copy Constructor
		*/
		Coosys(const Coosys &c);
		
		int setEquinox(char * infoValue, int * status);
		int setID(char * infoID, int * status);
		int setEpoch(char * epoch, int * status);
		int setPCData(char * pcdata, int * status);
		int setSystem(coosys_system system, int * status);

		/**
		* Get the 'equinox' attribute.
		*/
		int getEquinox(char * &equinox, int * status);

		/**
		* Get the 'ID' attribute.
		*/
		int getID(char * &infoID, int * status);

		/**
		* Get the 'epoch' attribute.
		*/
		int getEpoch(char * &epoch, int * status);

		/**
		* Get the PCDATA.
		*/
		int getPCData(char * &pcdata, int * status);

		/**
		* Get the 'system' attribute.
		*/
		int getSystem(coosys_system &system, int * status);
	
	private: 
		char * ID;
		char * equinox;
		char * epoch;
		coosys_system system;
		char * pcdata;
		
		void cleanup();
		void makecopy(const Coosys &r);
		void init(void);

};

#endif