#ifndef H_coral_CORE
#define H_coral_CORE
// This file is part of the Coral project.
// Please read the copyright notice in the LICENSE file.

#include <coral/core/ElementDefinition.h>
#include <coral/core/PrimitiveProperties.h>
#include <coral/core/util/simple_lang_creator.h>
#include <coral/coral.h>

NAMESPACE_BEGIN(coral);
NAMESPACE_BEGIN(CORE);

#ifndef SWIG

extern EXPORT_coral coral::DatatypeDefinition* Name;
extern EXPORT_coral coral::DatatypeDefinition* String;
extern EXPORT_coral coral::EnumerationDefinition* Boolean;
extern EXPORT_coral coral::DatatypeDefinition* Integer;
extern EXPORT_coral coral::DatatypeDefinition* UnlimitedInteger;
extern EXPORT_coral coral::DatatypeDefinition* UnlimitedReal;
extern EXPORT_coral coral::DatatypeDefinition* Float;
extern EXPORT_coral coral::DatatypeDefinition* Double;
extern EXPORT_coral coral::DatatypeDefinition* coralPyObj;

extern EXPORT_coral coral::Language* language;
extern EXPORT_coral coral::ElementDefinition* AnyElement;
extern EXPORT_coral coral::ElementDefinition* AnyAbstractElement;
extern EXPORT_coral coral::ElementDefinition* PresentationElement;

#endif

#ifdef COMPILING_coral
extern CORAL_HIDDEN bool init_language() throw ();
#endif

NAMESPACE_END();
NAMESPACE_END();

#endif

