efl

Форк
0
/
database_function_parameter_api.c 
69 строк · 1.9 Кб
1
#ifdef HAVE_CONFIG_H
2
# include "config.h"
3
#endif
4

5
#include <Eina.h>
6
#include "eolian_database.h"
7

8
EOLIAN_API Eolian_Parameter_Direction
9
eolian_parameter_direction_get(const Eolian_Function_Parameter *param)
10
{
11
   EINA_SAFETY_ON_NULL_RETURN_VAL(param, EOLIAN_PARAMETER_UNKNOWN);
12
   return param->param_dir;
13
}
14

15
EOLIAN_API const Eolian_Type *
16
eolian_parameter_type_get(const Eolian_Function_Parameter *param)
17
{
18
   EINA_SAFETY_ON_NULL_RETURN_VAL(param, NULL);
19
   return param->type;
20
}
21

22
EOLIAN_API const Eolian_Expression *
23
eolian_parameter_default_value_get(const Eolian_Function_Parameter *param)
24
{
25
   EINA_SAFETY_ON_NULL_RETURN_VAL(param, NULL);
26
   return param->value;
27
}
28

29
EOLIAN_API const Eolian_Documentation *
30
eolian_parameter_documentation_get(const Eolian_Function_Parameter *param)
31
{
32
   EINA_SAFETY_ON_NULL_RETURN_VAL(param, NULL);
33
   return param->doc;
34
}
35

36
EOLIAN_API Eina_Bool
37
eolian_parameter_is_optional(const Eolian_Function_Parameter *param)
38
{
39
   EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
40
   return param->optional;
41
}
42

43
EOLIAN_API Eina_Bool
44
eolian_parameter_is_move(const Eolian_Function_Parameter *param)
45
{
46
   EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
47
   return param->move;
48
}
49

50
EOLIAN_API Eina_Bool
51
eolian_parameter_is_by_ref(const Eolian_Function_Parameter *param)
52
{
53
   EINA_SAFETY_ON_NULL_RETURN_VAL(param, EINA_FALSE);
54
   return param->by_ref;
55
}
56

57
EOLIAN_API Eina_Stringshare *
58
eolian_parameter_c_type_get(const Eolian_Function_Parameter *param_desc,
59
                            Eina_Bool as_return)
60
{
61
   EINA_SAFETY_ON_NULL_RETURN_VAL(param_desc, NULL);
62
   Eina_Strbuf *buf = eina_strbuf_new();
63
   database_type_to_str(param_desc->type, buf, NULL,
64
                        as_return ? EOLIAN_C_TYPE_RETURN : EOLIAN_C_TYPE_PARAM,
65
                        param_desc->by_ref);
66
   Eina_Stringshare *ret = eina_stringshare_add(eina_strbuf_string_get(buf));
67
   eina_strbuf_free(buf);
68
   return ret;
69
}

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.