Data Structures | Typedefs | Enumerations | Functions
Eolian

Data Structures

union  Eolian_Value_Union
 
struct  _Eolian_Value
 

Typedefs

typedef struct _Eolian_Class Eolian_Class
 
typedef struct _Eolian_Function Eolian_Function
 
typedef struct _Eolian_Type Eolian_Type
 
typedef struct _Eolian_Typedecl Eolian_Typedecl
 
typedef struct _Eolian_Function_Parameter Eolian_Function_Parameter
 
typedef struct _Eolian_Implement Eolian_Implement
 
typedef struct _Eolian_Constructor Eolian_Constructor
 
typedef struct _Eolian_Event Eolian_Event
 
typedef struct _Eolian_Expression Eolian_Expression
 
typedef struct _Eolian_Variable Eolian_Variable
 
typedef struct _Eolian_Struct_Type_Field Eolian_Struct_Type_Field
 
typedef struct _Eolian_Enum_Type_Field Eolian_Enum_Type_Field
 
typedef struct _Eolian_Declaration Eolian_Declaration
 
typedef struct _Eolian_Documentation Eolian_Documentation
 
typedef struct _Eolian_Value Eolian_Value
 

Enumerations

enum  Eolian_Function_Type {
  EOLIAN_UNRESOLVED = 0,
  EOLIAN_PROPERTY,
  EOLIAN_PROP_SET,
  EOLIAN_PROP_GET,
  EOLIAN_METHOD
}
 
enum  Eolian_Parameter_Dir {
  EOLIAN_IN_PARAM = 0,
  EOLIAN_OUT_PARAM,
  EOLIAN_INOUT_PARAM
}
 
enum  Eolian_Class_Type {
  EOLIAN_CLASS_UNKNOWN_TYPE = 0,
  EOLIAN_CLASS_REGULAR,
  EOLIAN_CLASS_ABSTRACT,
  EOLIAN_CLASS_MIXIN,
  EOLIAN_CLASS_INTERFACE
}
 
enum  Eolian_Object_Scope {
  EOLIAN_SCOPE_PUBLIC = 0,
  EOLIAN_SCOPE_PRIVATE,
  EOLIAN_SCOPE_PROTECTED
}
 
enum  Eolian_Typedecl_Type {
  EOLIAN_TYPEDECL_UNKNOWN = 0,
  EOLIAN_TYPEDECL_STRUCT,
  EOLIAN_TYPEDECL_STRUCT_OPAQUE,
  EOLIAN_TYPEDECL_ENUM,
  EOLIAN_TYPEDECL_ALIAS
}
 
enum  Eolian_Type_Type {
  EOLIAN_TYPE_UNKNOWN_TYPE = 0,
  EOLIAN_TYPE_VOID,
  EOLIAN_TYPE_REGULAR,
  EOLIAN_TYPE_COMPLEX,
  EOLIAN_TYPE_POINTER,
  EOLIAN_TYPE_CLASS,
  EOLIAN_TYPE_STATIC_ARRAY,
  EOLIAN_TYPE_TERMINATED_ARRAY,
  EOLIAN_TYPE_UNDEFINED
}
 
enum  Eolian_Expression_Type {
  EOLIAN_EXPR_UNKNOWN = 0,
  EOLIAN_EXPR_INT,
  EOLIAN_EXPR_UINT,
  EOLIAN_EXPR_LONG,
  EOLIAN_EXPR_ULONG,
  EOLIAN_EXPR_LLONG,
  EOLIAN_EXPR_ULLONG,
  EOLIAN_EXPR_FLOAT,
  EOLIAN_EXPR_DOUBLE,
  EOLIAN_EXPR_STRING,
  EOLIAN_EXPR_CHAR,
  EOLIAN_EXPR_NULL,
  EOLIAN_EXPR_BOOL,
  EOLIAN_EXPR_NAME,
  EOLIAN_EXPR_UNARY,
  EOLIAN_EXPR_BINARY
}
 
enum  Eolian_Expression_Mask {
  EOLIAN_MASK_SINT = 1 << 0,
  EOLIAN_MASK_UINT = 1 << 1,
  EOLIAN_MASK_INT = EOLIAN_MASK_SINT | EOLIAN_MASK_UINT,
  EOLIAN_MASK_FLOAT = 1 << 2,
  EOLIAN_MASK_BOOL = 1 << 3,
  EOLIAN_MASK_STRING = 1 << 4,
  EOLIAN_MASK_CHAR = 1 << 5,
  EOLIAN_MASK_NULL = 1 << 6,
  EOLIAN_MASK_NUMBER = EOLIAN_MASK_INT | EOLIAN_MASK_FLOAT,
  EOLIAN_MASK_ALL
}
 
enum  Eolian_Variable_Type {
  EOLIAN_VAR_UNKNOWN = 0,
  EOLIAN_VAR_CONSTANT,
  EOLIAN_VAR_GLOBAL
}
 
enum  Eolian_Binary_Operator {
  EOLIAN_BINOP_INVALID = -1,
  EOLIAN_BINOP_ADD,
  EOLIAN_BINOP_SUB,
  EOLIAN_BINOP_MUL,
  EOLIAN_BINOP_DIV,
  EOLIAN_BINOP_MOD,
  EOLIAN_BINOP_EQ,
  EOLIAN_BINOP_NQ,
  EOLIAN_BINOP_GT,
  EOLIAN_BINOP_LT,
  EOLIAN_BINOP_GE,
  EOLIAN_BINOP_LE,
  EOLIAN_BINOP_AND,
  EOLIAN_BINOP_OR,
  EOLIAN_BINOP_BAND,
  EOLIAN_BINOP_BOR,
  EOLIAN_BINOP_BXOR,
  EOLIAN_BINOP_LSH,
  EOLIAN_BINOP_RSH
}
 
enum  Eolian_Unary_Operator {
  EOLIAN_UNOP_INVALID = -1,
  EOLIAN_UNOP_UNM,
  EOLIAN_UNOP_UNP,
  EOLIAN_UNOP_NOT,
  EOLIAN_UNOP_BNOT
}
 
enum  Eolian_Declaration_Type {
  EOLIAN_DECL_UNKNOWN = -1,
  EOLIAN_DECL_CLASS,
  EOLIAN_DECL_ALIAS,
  EOLIAN_DECL_STRUCT,
  EOLIAN_DECL_ENUM,
  EOLIAN_DECL_VAR
}
 

Functions

EAPI Eina_Bool eolian_file_parse (const char *filepath)
 
EAPI Eina_Iteratoreolian_all_eo_file_paths_get (void)
 
EAPI Eina_Iteratoreolian_all_eot_file_paths_get (void)
 
EAPI Eina_Iteratoreolian_all_eo_files_get (void)
 
EAPI Eina_Iteratoreolian_all_eot_files_get (void)
 
EAPI int eolian_init (void)
 
EAPI int eolian_shutdown (void)
 
EAPI Eina_Bool eolian_directory_scan (const char *dir)
 
EAPI Eina_Bool eolian_system_directory_scan (void)
 
EAPI Eina_Bool eolian_all_eo_files_parse (void)
 
EAPI Eina_Bool eolian_all_eot_files_parse (void)
 
EAPI Eina_Bool eolian_database_validate (Eina_Bool silent_types)
 
EAPI const Eolian_Classeolian_class_get_by_name (const char *class_name)
 
EAPI const Eolian_Classeolian_class_get_by_file (const char *file_name)
 
EAPI Eina_Stringshareeolian_class_file_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_class_full_name_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_class_name_get (const Eolian_Class *klass)
 
EAPI Eina_Iteratoreolian_class_namespaces_get (const Eolian_Class *klass)
 
EAPI Eolian_Class_Type eolian_class_type_get (const Eolian_Class *klass)
 
EAPI Eina_Iteratoreolian_all_classes_get (void)
 
EAPI const Eolian_Documentationeolian_class_documentation_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_class_legacy_prefix_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_class_eo_prefix_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_class_event_prefix_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_class_data_type_get (const Eolian_Class *klass)
 
EAPI Eina_Iteratoreolian_class_inherits_get (const Eolian_Class *klass)
 
EAPI Eina_Iteratoreolian_class_functions_get (const Eolian_Class *klass, Eolian_Function_Type func_type)
 
EAPI Eolian_Function_Type eolian_function_type_get (const Eolian_Function *function_id)
 
EAPI Eolian_Object_Scope eolian_function_scope_get (const Eolian_Function *function_id, Eolian_Function_Type ftype)
 
EAPI Eina_Stringshareeolian_function_name_get (const Eolian_Function *function_id)
 
EAPI Eina_Stringshareeolian_function_full_c_name_get (const Eolian_Function *function_id, Eolian_Function_Type ftype, Eina_Bool use_legacy)
 
EAPI const Eolian_Functioneolian_class_function_get_by_name (const Eolian_Class *klass, const char *func_name, Eolian_Function_Type f_type)
 
EAPI Eina_Stringshareeolian_function_legacy_get (const Eolian_Function *function_id, Eolian_Function_Type f_type)
 
EAPI const Eolian_Documentationeolian_function_documentation_get (const Eolian_Function *function_id, Eolian_Function_Type f_type)
 
EAPI Eina_Bool eolian_function_is_virtual_pure (const Eolian_Function *function_id, Eolian_Function_Type f_type)
 
EAPI Eina_Bool eolian_function_is_auto (const Eolian_Function *function_id, Eolian_Function_Type f_type)
 
EAPI Eina_Bool eolian_function_is_empty (const Eolian_Function *function_id, Eolian_Function_Type f_type)
 
EAPI Eina_Bool eolian_function_is_legacy_only (const Eolian_Function *function_id, Eolian_Function_Type ftype)
 
EAPI Eina_Bool eolian_function_is_class (const Eolian_Function *function_id)
 
EAPI Eina_Bool eolian_function_is_c_only (const Eolian_Function *function_id)
 
EAPI Eina_Bool eolian_function_is_beta (const Eolian_Function *function_id)
 
EAPI Eina_Bool eolian_function_is_constructor (const Eolian_Function *function_id, const Eolian_Class *klass)
 
EAPI Eina_Iteratoreolian_function_parameters_get (const Eolian_Function *function_id)
 
EAPI Eina_Iteratoreolian_property_keys_get (const Eolian_Function *foo_id, Eolian_Function_Type ftype)
 
EAPI Eina_Iteratoreolian_property_values_get (const Eolian_Function *foo_id, Eolian_Function_Type ftype)
 
EAPI Eolian_Parameter_Dir eolian_parameter_direction_get (const Eolian_Function_Parameter *param)
 
EAPI const Eolian_Typeeolian_parameter_type_get (const Eolian_Function_Parameter *param)
 
EAPI const Eolian_Expressioneolian_parameter_default_value_get (const Eolian_Function_Parameter *param)
 
EAPI Eina_Stringshareeolian_parameter_name_get (const Eolian_Function_Parameter *param)
 
EAPI const Eolian_Documentationeolian_parameter_documentation_get (const Eolian_Function_Parameter *param)
 
EAPI Eina_Bool eolian_parameter_is_nonull (const Eolian_Function_Parameter *param_desc)
 
EAPI Eina_Bool eolian_parameter_is_nullable (const Eolian_Function_Parameter *param_desc)
 
EAPI Eina_Bool eolian_parameter_is_optional (const Eolian_Function_Parameter *param_desc)
 
EAPI const Eolian_Typeeolian_function_return_type_get (const Eolian_Function *function_id, Eolian_Function_Type ftype)
 
EAPI const Eolian_Expressioneolian_function_return_default_value_get (const Eolian_Function *foo_id, Eolian_Function_Type ftype)
 
EAPI const Eolian_Documentationeolian_function_return_documentation_get (const Eolian_Function *foo_id, Eolian_Function_Type ftype)
 
EAPI Eina_Bool eolian_function_return_is_warn_unused (const Eolian_Function *foo_id, Eolian_Function_Type ftype)
 
EAPI Eina_Bool eolian_function_object_is_const (const Eolian_Function *function_id)
 
EAPI const Eolian_Classeolian_function_class_get (const Eolian_Function *function_id)
 
EAPI Eina_Bool eolian_function_is_implemented (const Eolian_Function *function_id, Eolian_Function_Type func_type, const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_implement_full_name_get (const Eolian_Implement *impl)
 
EAPI const Eolian_Classeolian_implement_class_get (const Eolian_Implement *impl)
 
EAPI const Eolian_Functioneolian_implement_function_get (const Eolian_Implement *impl, Eolian_Function_Type *func_type)
 
EAPI Eina_Bool eolian_implement_is_auto (const Eolian_Implement *impl)
 
EAPI Eina_Bool eolian_implement_is_empty (const Eolian_Implement *impl)
 
EAPI Eina_Bool eolian_implement_is_virtual (const Eolian_Implement *impl)
 
EAPI Eina_Bool eolian_implement_is_prop_get (const Eolian_Implement *impl)
 
EAPI Eina_Bool eolian_implement_is_prop_set (const Eolian_Implement *impl)
 
EAPI Eina_Iteratoreolian_class_implements_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_constructor_full_name_get (const Eolian_Constructor *ctor)
 
EAPI const Eolian_Classeolian_constructor_class_get (const Eolian_Constructor *ctor)
 
EAPI const Eolian_Functioneolian_constructor_function_get (const Eolian_Constructor *ctor)
 
EAPI Eina_Bool eolian_constructor_is_optional (const Eolian_Constructor *ctor)
 
EAPI Eina_Iteratoreolian_class_constructors_get (const Eolian_Class *klass)
 
EAPI Eina_Iteratoreolian_class_events_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_event_name_get (const Eolian_Event *event)
 
EAPI const Eolian_Typeeolian_event_type_get (const Eolian_Event *event)
 
EAPI const Eolian_Documentationeolian_event_documentation_get (const Eolian_Event *event)
 
EAPI Eolian_Object_Scope eolian_event_scope_get (const Eolian_Event *event)
 
EAPI Eina_Bool eolian_event_is_beta (const Eolian_Event *event)
 
EAPI Eina_Bool eolian_event_is_hot (const Eolian_Event *event)
 
EAPI Eina_Bool eolian_event_is_restart (const Eolian_Event *event)
 
EAPI Eina_Stringshareeolian_event_c_name_get (const Eolian_Event *event)
 
EAPI const Eolian_Eventeolian_class_event_get_by_name (const Eolian_Class *klass, const char *event_name)
 
EAPI Eina_Bool eolian_class_ctor_enable_get (const Eolian_Class *klass)
 
EAPI Eina_Bool eolian_class_dtor_enable_get (const Eolian_Class *klass)
 
EAPI Eina_Stringshareeolian_class_c_get_function_name_get (const Eolian_Class *klass)
 
EAPI const Eolian_Typedecleolian_typedecl_alias_get_by_name (const char *name)
 
EAPI const Eolian_Typedecleolian_typedecl_struct_get_by_name (const char *name)
 
EAPI const Eolian_Typedecleolian_typedecl_enum_get_by_name (const char *name)
 
EAPI Eina_Iteratoreolian_typedecl_aliases_get_by_file (const char *fname)
 
EAPI Eina_Iteratoreolian_typedecl_structs_get_by_file (const char *fname)
 
EAPI Eina_Iteratoreolian_typedecl_enums_get_by_file (const char *fname)
 
EAPI Eina_Iteratoreolian_typedecl_all_aliases_get (void)
 
EAPI Eina_Iteratoreolian_typedecl_all_structs_get (void)
 
EAPI Eina_Iteratoreolian_typedecl_all_enums_get (void)
 
EAPI Eolian_Typedecl_Type eolian_typedecl_type_get (const Eolian_Typedecl *tp)
 
EAPI Eina_Iteratoreolian_typedecl_struct_fields_get (const Eolian_Typedecl *tp)
 
EAPI const Eolian_Struct_Type_Fieldeolian_typedecl_struct_field_get (const Eolian_Typedecl *tp, const char *field)
 
EAPI Eina_Stringshareeolian_typedecl_struct_field_name_get (const Eolian_Struct_Type_Field *fl)
 
EAPI const Eolian_Documentationeolian_typedecl_struct_field_documentation_get (const Eolian_Struct_Type_Field *fl)
 
EAPI const Eolian_Typeeolian_typedecl_struct_field_type_get (const Eolian_Struct_Type_Field *fl)
 
EAPI Eina_Iteratoreolian_typedecl_enum_fields_get (const Eolian_Typedecl *tp)
 
EAPI const Eolian_Enum_Type_Fieldeolian_typedecl_enum_field_get (const Eolian_Typedecl *tp, const char *field)
 
EAPI Eina_Stringshareeolian_typedecl_enum_field_name_get (const Eolian_Enum_Type_Field *fl)
 
EAPI Eina_Stringshareeolian_typedecl_enum_field_c_name_get (const Eolian_Enum_Type_Field *fl)
 
EAPI const Eolian_Documentationeolian_typedecl_enum_field_documentation_get (const Eolian_Enum_Type_Field *fl)
 
EAPI const Eolian_Expressioneolian_typedecl_enum_field_value_get (const Eolian_Enum_Type_Field *fl, Eina_Bool force)
 
EAPI Eina_Stringshareeolian_typedecl_enum_legacy_prefix_get (const Eolian_Typedecl *tp)
 
EAPI const Eolian_Documentationeolian_typedecl_documentation_get (const Eolian_Typedecl *tp)
 
EAPI Eina_Stringshareeolian_typedecl_file_get (const Eolian_Typedecl *tp)
 
EAPI const Eolian_Typeeolian_typedecl_base_type_get (const Eolian_Typedecl *tp)
 
EAPI const Eolian_Typeeolian_typedecl_aliased_base_get (const Eolian_Typedecl *tp)
 
EAPI Eina_Bool eolian_typedecl_is_extern (const Eolian_Typedecl *tp)
 
EAPI Eina_Stringshareeolian_typedecl_c_type_get (const Eolian_Typedecl *tp)
 
EAPI Eina_Stringshareeolian_typedecl_name_get (const Eolian_Typedecl *tp)
 
EAPI Eina_Stringshareeolian_typedecl_full_name_get (const Eolian_Typedecl *tp)
 
EAPI Eina_Iteratoreolian_typedecl_namespaces_get (const Eolian_Typedecl *tp)
 
EAPI Eina_Stringshareeolian_typedecl_free_func_get (const Eolian_Typedecl *tp)
 
EAPI Eolian_Type_Type eolian_type_type_get (const Eolian_Type *tp)
 
EAPI Eina_Stringshareeolian_type_file_get (const Eolian_Type *tp)
 
EAPI const Eolian_Typeeolian_type_base_type_get (const Eolian_Type *tp)
 
EAPI const Eolian_Typeeolian_type_next_type_get (const Eolian_Type *tp)
 
EAPI const Eolian_Typedecleolian_type_typedecl_get (const Eolian_Type *tp)
 
EAPI const Eolian_Typeeolian_type_aliased_base_get (const Eolian_Type *tp)
 
EAPI const Eolian_Classeolian_type_class_get (const Eolian_Type *tp)
 
EAPI size_t eolian_type_array_size_get (const Eolian_Type *tp)
 
EAPI Eina_Bool eolian_type_is_own (const Eolian_Type *tp)
 
EAPI Eina_Bool eolian_type_is_const (const Eolian_Type *tp)
 
EAPI Eina_Bool eolian_type_is_ref (const Eolian_Type *tp)
 
EAPI Eina_Stringshareeolian_type_c_type_get (const Eolian_Type *tp)
 
EAPI Eina_Stringshareeolian_type_name_get (const Eolian_Type *tp)
 
EAPI Eina_Stringshareeolian_type_full_name_get (const Eolian_Type *tp)
 
EAPI Eina_Iteratoreolian_type_namespaces_get (const Eolian_Type *tp)
 
EAPI Eina_Stringshareeolian_type_free_func_get (const Eolian_Type *tp)
 
EAPI Eolian_Value eolian_expression_eval (const Eolian_Expression *expr, Eolian_Expression_Mask m)
 
EAPI Eolian_Value eolian_expression_eval_type (const Eolian_Expression *expr, const Eolian_Type *type)
 
EAPI Eina_Stringshareeolian_expression_value_to_literal (const Eolian_Value *v)
 
EAPI Eina_Stringshareeolian_expression_serialize (const Eolian_Expression *expr)
 
EAPI Eolian_Expression_Type eolian_expression_type_get (const Eolian_Expression *expr)
 
EAPI Eolian_Binary_Operator eolian_expression_binary_operator_get (const Eolian_Expression *expr)
 
EAPI const Eolian_Expressioneolian_expression_binary_lhs_get (const Eolian_Expression *expr)
 
EAPI const Eolian_Expressioneolian_expression_binary_rhs_get (const Eolian_Expression *expr)
 
EAPI Eolian_Unary_Operator eolian_expression_unary_operator_get (const Eolian_Expression *expr)
 
EAPI const Eolian_Expressioneolian_expression_unary_expression_get (const Eolian_Expression *expr)
 
EAPI Eolian_Value eolian_expression_value_get (const Eolian_Expression *expr)
 
EAPI const Eolian_Variableeolian_variable_global_get_by_name (const char *name)
 
EAPI const Eolian_Variableeolian_variable_constant_get_by_name (const char *name)
 
EAPI Eina_Iteratoreolian_variable_globals_get_by_file (const char *fname)
 
EAPI Eina_Iteratoreolian_variable_constants_get_by_file (const char *fname)
 
EAPI Eina_Iteratoreolian_variable_all_constants_get (void)
 
EAPI Eina_Iteratoreolian_variable_all_globals_get (void)
 
EAPI Eolian_Variable_Type eolian_variable_type_get (const Eolian_Variable *var)
 
EAPI const Eolian_Documentationeolian_variable_documentation_get (const Eolian_Variable *var)
 
EAPI Eina_Stringshareeolian_variable_file_get (const Eolian_Variable *var)
 
EAPI const Eolian_Typeeolian_variable_base_type_get (const Eolian_Variable *var)
 
EAPI const Eolian_Expressioneolian_variable_value_get (const Eolian_Variable *var)
 
EAPI Eina_Stringshareeolian_variable_name_get (const Eolian_Variable *var)
 
EAPI Eina_Stringshareeolian_variable_full_name_get (const Eolian_Variable *var)
 
EAPI Eina_Iteratoreolian_variable_namespaces_get (const Eolian_Variable *var)
 
EAPI Eina_Bool eolian_variable_is_extern (const Eolian_Variable *var)
 
EAPI const Eolian_Declarationeolian_declaration_get_by_name (const char *name)
 
EAPI Eina_Iteratoreolian_declarations_get_by_file (const char *fname)
 
EAPI Eina_Iteratoreolian_all_declarations_get (void)
 
EAPI Eolian_Declaration_Type eolian_declaration_type_get (const Eolian_Declaration *decl)
 
EAPI Eina_Stringshareeolian_declaration_name_get (const Eolian_Declaration *decl)
 
EAPI const Eolian_Classeolian_declaration_class_get (const Eolian_Declaration *decl)
 
EAPI const Eolian_Typedecleolian_declaration_data_type_get (const Eolian_Declaration *decl)
 
EAPI const Eolian_Variableeolian_declaration_variable_get (const Eolian_Declaration *decl)
 
EAPI Eina_Stringshareeolian_documentation_summary_get (const Eolian_Documentation *doc)
 
EAPI Eina_Stringshareeolian_documentation_description_get (const Eolian_Documentation *doc)
 
EAPI Eina_Stringshareeolian_documentation_since_get (const Eolian_Documentation *doc)
 

Detailed Description