/******************************************************************
** Copyright (C) 2001, University of Alabama in Huntsville. 
** All rights reserved.
**
** File   : CGIFGenerator.h
**
** Author : Yangsen Yao
**
** Description:
**    The header of CGIF generator.
**    
**
** History:
**    02-Dec-2001 : Yangsen Yao
**        Created file.
******************************************************************/

#ifndef CCGIFGenerator_h
#define CCGIFGenerator 1

#pragma warning(disable: 4786)  // Disable debug information warning

#include <iostream>
//using std::cout;
//using std::cin;
//using std::ios;
//using std::cerr;
//using std::endl;

#include <fstream.h>
#include <fstream>
//using std::ofstream;
#include <cstdlib>
#include "CGEngine/CKnowledgeBase.h"
#include "CGEngine/CRelationDefinition.h"

class CGIFGenerator 
{
public:
	CGIFGenerator(){};
	bool CCGIFParserGenerate( const std::string& strFileName, /* input */
                          CKnowledgeBase* pCGKB);           /* input */
	//## Destructor (generated)
    ~CGIFGenerator(){};
private:
	void DumpTypeHierarchy(CTypeDefinition* pTypeDef, ofstream outParserFile);
	void DumpRelationHierarchy(CRelationDefinition* pRelationDef, ofstream outParserFile);
	void DumpCatalogOfIndivituals(CCatalogOfIndividuals* pCOI, ofstream outParserFile);
};

#endif

