/*! \file KML_Attribute.h 
 *  \brief: header file for kml_attribute object
 */

#ifndef _KML_ATTRIBUTE_H_
#define _KML_ATTRIBUTE_H_

/*Headers:{{{*/
#include "../../../include/include.h"
#include "../../../shared/Exceptions/exceptions.h"
#include "../../../EnumDefinitions/EnumDefinitions.h"

#include "../Object.h"
class DataSet;
/*}}}*/

class KML_Attribute: public Object {

	public:

		char* name;
		char* value;

		/*KML_Attribute constructors, destructors {{{*/
		KML_Attribute();
		~KML_Attribute();
		/*}}}*/
		/*Object virtual functions definitions:{{{*/
		virtual void  Echo();
		virtual void  DeepEcho();
		virtual void  DeepEcho(const char* indent);
		int   Id(){_error2_("Not implemented yet.");};
		int   MyRank(){_error2_("Not implemented yet.");};
		void  Marshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
		int   MarshallSize(){_error2_("Not implemented yet.");};
		void  Demarshall(char** pmarshalled_dataset){_error2_("Not implemented yet.");};
		int   ObjectEnum(){_error2_("Not implemented yet.");};
		Object* copy(){_error2_("Not implemented yet.");};
		/*}}}*/

		/*virtual functions: */
		void  Write(FILE* fid,const char* indent);
		void  Read(FILE* fid,char* kstr);
		void  Alloc(const char* namei,const char* valuei);
		void  Add(DataSet* attrib);
		void  Get(char** pvalueo,char* deflt);

};
#endif  /* _KML_ATTRIBUTE_H */

