2014-02-11 05:42:59 -08:00
|
|
|
#include "Eolian.h"
|
|
|
|
#include "eolian_database.h"
|
|
|
|
#include "eo_lexer.h"
|
|
|
|
|
2014-02-16 01:41:38 -08:00
|
|
|
static int _eolian_init_counter = 0;
|
|
|
|
|
|
|
|
EAPI int eolian_init(void)
|
2014-02-11 05:42:59 -08:00
|
|
|
{
|
2014-02-16 01:41:38 -08:00
|
|
|
if (_eolian_init_counter > 0) return ++_eolian_init_counter;
|
2014-02-11 05:42:59 -08:00
|
|
|
database_init();
|
|
|
|
eo_tokenizer_init();
|
2014-02-16 01:41:38 -08:00
|
|
|
return ++_eolian_init_counter;
|
2014-02-11 05:42:59 -08:00
|
|
|
}
|
|
|
|
|
2014-02-16 01:41:38 -08:00
|
|
|
EAPI int eolian_shutdown(void)
|
2014-02-11 05:42:59 -08:00
|
|
|
{
|
2014-02-16 01:41:38 -08:00
|
|
|
if (_eolian_init_counter <= 0)
|
|
|
|
{
|
|
|
|
EINA_LOG_ERR("Init count not greater than 0 in shutdown.");
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
_eolian_init_counter--;
|
|
|
|
|
|
|
|
if (_eolian_init_counter == 0)
|
|
|
|
{
|
|
|
|
eo_tokenizer_shutdown();
|
|
|
|
database_shutdown();
|
|
|
|
}
|
|
|
|
|
|
|
|
return _eolian_init_counter;
|
2014-02-11 05:42:59 -08:00
|
|
|
}
|
|
|
|
|
2014-02-11 06:42:47 -08:00
|
|
|
EAPI Eina_Bool eolian_eo_file_parse(const char *filename)
|
2014-02-11 05:42:59 -08:00
|
|
|
{
|
|
|
|
return eo_tokenizer_database_fill(filename);
|
|
|
|
}
|
|
|
|
|