From c70a1fef91b9eeef16bc530587bdb1b76f837b27 Mon Sep 17 00:00:00 2001 From: hyunho Date: Thu, 25 Jun 2020 17:48:48 +0900 Subject: [PATCH] Use receiving thread for cpp stub Change-Id: I934cac8c5efbb150aa60333842074f602458d0ee Signed-off-by: hyunho --- idlc/ast/location.hh | 12 +- idlc/ast/position.hh | 12 +- idlc/ast/tidlc_l.cpp | 112 +++++++-------- idlc/ast/tidlc_y.cpp | 296 +++++++++++++++++++------------------- idlc/ast/tidlc_y.hpp | 14 +- idlc/gen/cpp_stub_body_gen.cc | 46 ++++-- idlc/gen/cpp_stub_body_gen.h | 6 +- idlc/gen/cpp_stub_body_gen_cb.h | 97 ++++++++++++- idlc/gen/cpp_stub_header_gen.cc | 10 +- idlc/gen/cpp_stub_header_gen.h | 7 +- idlc/gen/cpp_stub_header_gen_cb.h | 168 ++++++++++++++++++++++ idlc/main.cc | 210 +-------------------------- idlc/options.cc | 181 +++++++++++++++++++++++ idlc/options.h | 76 ++++++++++ 14 files changed, 803 insertions(+), 444 deletions(-) create mode 100644 idlc/options.cc create mode 100644 idlc/options.h diff --git a/idlc/ast/location.hh b/idlc/ast/location.hh index 67ad5f2..7971b93 100644 --- a/idlc/ast/location.hh +++ b/idlc/ast/location.hh @@ -31,18 +31,18 @@ // version 2.2 of Bison. /** - ** \file /home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/location.hh + ** \file /home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/location.hh ** Define the yy::location class. */ -#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED -# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED +#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED +# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED # include "position.hh" namespace yy { -#line 46 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/location.hh" // location.cc:296 +#line 46 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/location.hh" // location.cc:296 /// Abstract a location. class location { @@ -164,5 +164,5 @@ namespace yy { } // yy -#line 168 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/location.hh" // location.cc:296 -#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED +#line 168 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/location.hh" // location.cc:296 +#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_LOCATION_HH_INCLUDED diff --git a/idlc/ast/position.hh b/idlc/ast/position.hh index ff35512..b687a5f 100644 --- a/idlc/ast/position.hh +++ b/idlc/ast/position.hh @@ -31,12 +31,12 @@ // version 2.2 of Bison. /** - ** \file /home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/position.hh + ** \file /home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/position.hh ** Define the yy::position class. */ -#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED -# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED +#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED +# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED # include // std::max # include @@ -52,7 +52,7 @@ namespace yy { -#line 56 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/position.hh" // location.cc:296 +#line 56 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/position.hh" // location.cc:296 /// Abstract a position. class position { @@ -165,5 +165,5 @@ namespace yy { } // yy -#line 169 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/position.hh" // location.cc:296 -#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED +#line 169 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/position.hh" // location.cc:296 +#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_POSITION_HH_INCLUDED diff --git a/idlc/ast/tidlc_l.cpp b/idlc/ast/tidlc_l.cpp index debd1f5..585435c 100644 --- a/idlc/ast/tidlc_l.cpp +++ b/idlc/ast/tidlc_l.cpp @@ -1,6 +1,6 @@ -#line 2 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp" +#line 2 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_l.cpp" -#line 4 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp" +#line 4 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_l.cpp" #define YY_INT_ALIGNED short int @@ -553,8 +553,8 @@ static yyconst flex_int32_t yy_rule_can_match_eol[47] = #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -#line 1 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" -#line 2 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 1 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" +#line 2 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" #include #include @@ -572,7 +572,7 @@ static yyconst flex_int32_t yy_rule_can_match_eol[47] = #define YY_USER_ACTION yylloc->columns(yyleng); -#line 576 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp" +#line 576 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_l.cpp" #define INITIAL 0 #define COMMENT 1 @@ -859,14 +859,14 @@ YY_DECL } { -#line 28 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 28 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" std::string comments; std::string values; -#line 870 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp" +#line 870 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_l.cpp" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -937,55 +937,55 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 34 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 34 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { comments += yytext; BEGIN(COMMENT); } YY_BREAK case 2: YY_RULE_SETUP -#line 35 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 35 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { comments += yytext; yylloc->step(); BEGIN(INITIAL); } YY_BREAK case 3: YY_RULE_SETUP -#line 36 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 36 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { comments += yytext; comments += "\n"; BEGIN(INITIAL); } YY_BREAK case 4: /* rule 4 can match eol */ YY_RULE_SETUP -#line 37 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 37 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { comments += yytext; yylloc->step(); BEGIN(INITIAL); } YY_BREAK case 5: /* rule 5 can match eol */ YY_RULE_SETUP -#line 38 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 38 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { comments += yytext; yylloc->lines(yyleng); } YY_BREAK case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 39 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 39 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { comments += yytext; yylloc->step(); } YY_BREAK case YY_STATE_EOF(COMMENT): -#line 40 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 40 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return 0; } YY_BREAK case 7: /* rule 7 can match eol */ YY_RULE_SETUP -#line 42 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 42 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { comments += yytext; yylloc->step(); } YY_BREAK case 8: YY_RULE_SETUP -#line 44 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 44 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { BEGIN(VALUE); } YY_BREAK case 9: YY_RULE_SETUP -#line 45 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 45 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { BEGIN(INITIAL); yylval->token = new tidl::Token(values, comments); @@ -995,54 +995,54 @@ YY_RULE_SETUP case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 50 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 50 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { values += yytext; yylloc->step(); } YY_BREAK case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 52 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 52 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylloc->lines(yyleng); yylloc->step(); } YY_BREAK case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 54 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 54 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" ; // ignore all whitespace YY_BREAK case 13: YY_RULE_SETUP -#line 55 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 55 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_COMMA; } YY_BREAK case 14: YY_RULE_SETUP -#line 56 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 56 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_BRACE_OPEN; } YY_BREAK case 15: YY_RULE_SETUP -#line 57 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 57 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_BRACE_CLOSE; } YY_BREAK case 16: YY_RULE_SETUP -#line 58 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 58 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_LEFT; } YY_BREAK case 17: YY_RULE_SETUP -#line 59 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 59 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_RIGHT; } YY_BREAK case 18: YY_RULE_SETUP -#line 60 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 60 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_SEMICOLON; } YY_BREAK case 19: YY_RULE_SETUP -#line 61 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 61 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_VOID; @@ -1050,7 +1050,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 65 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 65 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_CHAR; @@ -1058,7 +1058,7 @@ YY_RULE_SETUP YY_BREAK case 21: YY_RULE_SETUP -#line 69 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 69 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_SHORT; @@ -1066,7 +1066,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 73 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 73 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_INT; @@ -1074,7 +1074,7 @@ YY_RULE_SETUP YY_BREAK case 23: YY_RULE_SETUP -#line 77 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 77 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_LONG; @@ -1082,7 +1082,7 @@ YY_RULE_SETUP YY_BREAK case 24: YY_RULE_SETUP -#line 81 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 81 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_FLOAT; @@ -1090,7 +1090,7 @@ YY_RULE_SETUP YY_BREAK case 25: YY_RULE_SETUP -#line 85 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 85 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_DOUBLE; @@ -1098,7 +1098,7 @@ YY_RULE_SETUP YY_BREAK case 26: YY_RULE_SETUP -#line 89 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 89 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_BUNDLE; @@ -1106,7 +1106,7 @@ YY_RULE_SETUP YY_BREAK case 27: YY_RULE_SETUP -#line 93 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 93 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_FILE; @@ -1114,7 +1114,7 @@ YY_RULE_SETUP YY_BREAK case 28: YY_RULE_SETUP -#line 97 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 97 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_STRING; @@ -1122,7 +1122,7 @@ YY_RULE_SETUP YY_BREAK case 29: YY_RULE_SETUP -#line 101 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 101 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_BOOL; @@ -1130,42 +1130,42 @@ YY_RULE_SETUP YY_BREAK case 30: YY_RULE_SETUP -#line 105 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 105 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_IN; } YY_BREAK case 31: YY_RULE_SETUP -#line 106 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 106 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_OUT; } YY_BREAK case 32: YY_RULE_SETUP -#line 107 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 107 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_REF; } YY_BREAK case 33: YY_RULE_SETUP -#line 108 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 108 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_ASYNC; } YY_BREAK case 34: YY_RULE_SETUP -#line 109 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 109 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_DELEGATE; } YY_BREAK case 35: YY_RULE_SETUP -#line 110 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 110 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_META_OPEN; } YY_BREAK case 36: YY_RULE_SETUP -#line 111 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 111 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_META_CLOSE; } YY_BREAK case 37: YY_RULE_SETUP -#line 112 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 112 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_LIST; @@ -1173,7 +1173,7 @@ YY_RULE_SETUP YY_BREAK case 38: YY_RULE_SETUP -#line 116 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 116 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_ARRAY; @@ -1181,7 +1181,7 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 120 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 120 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_STRUCTURE; @@ -1189,7 +1189,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 124 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 124 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_INTERFACE; @@ -1197,7 +1197,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 128 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 128 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_ID; @@ -1205,7 +1205,7 @@ YY_RULE_SETUP YY_BREAK case 42: YY_RULE_SETUP -#line 132 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 132 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { // Square Bracket yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_SB_OPEN; @@ -1213,7 +1213,7 @@ YY_RULE_SETUP YY_BREAK case 43: YY_RULE_SETUP -#line 136 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 136 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { // Square Bracket yylval->token = new tidl::Token(yytext, comments); return yy::parser::token::T_SB_CLOSE; @@ -1221,20 +1221,20 @@ YY_RULE_SETUP YY_BREAK case 44: YY_RULE_SETUP -#line 140 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 140 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_EQUAL; } YY_BREAK case 45: YY_RULE_SETUP -#line 141 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 141 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" { return yy::parser::token::T_UNKNOWN; } YY_BREAK case 46: YY_RULE_SETUP -#line 143 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 143 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" ECHO; YY_BREAK -#line 1238 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_l.cpp" +#line 1238 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_l.cpp" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(VALUE): yyterminate(); @@ -2439,7 +2439,7 @@ void yyfree (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 143 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.ll" +#line 143 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.ll" diff --git a/idlc/ast/tidlc_y.cpp b/idlc/ast/tidlc_y.cpp index a1c3936..4a686f0 100644 --- a/idlc/ast/tidlc_y.cpp +++ b/idlc/ast/tidlc_y.cpp @@ -50,7 +50,7 @@ /* First part of user declarations. */ -#line 1 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:240 +#line 1 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:240 #include #include @@ -73,7 +73,7 @@ int yylex(yy::parser::semantic_type *, yy::parser::location_type *, void *); #define lex_scanner ps->Scanner() -#line 77 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:240 +#line 77 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:240 # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -105,7 +105,7 @@ static YYLTYPE yyloc_default ; /* Copy the second part of user declarations. */ -#line 109 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:263 +#line 109 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:263 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ @@ -127,7 +127,7 @@ static YYLTYPE yyloc_default #define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc) static void yyerror (const yy::parser::location_type *yylocationp, yy::parser& yyparser, tidl::Parser* ps, const char* msg); -#line 131 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:263 +#line 131 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:263 #include #include @@ -1088,25 +1088,25 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, switch (yyn) { case 2: -#line 96 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 96 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->SetDoc((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.doc)); } -#line 1096 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1096 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 3: -#line 101 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 101 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).doc) = new tidl::Document(); if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.blk) != NULL) ((*yyvalp).doc)->AddBlock((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.blk)); } -#line 1106 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1106 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 4: -#line 106 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 106 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).doc) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.doc); @@ -1119,80 +1119,80 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, } } } -#line 1123 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1123 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 5: -#line 120 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 120 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).blk) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.interf); } -#line 1131 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1131 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 6: -#line 123 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 123 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).blk) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.structure); } -#line 1139 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1139 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 7: -#line 128 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 128 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).structure) = new tidl::Structure((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.elms), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token)->GetComments(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token); } -#line 1150 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1150 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 8: -#line 134 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 134 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line); ((*yyvalp).structure) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token); } -#line 1160 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1160 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 9: -#line 139 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 139 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"Please check it before an open brace.\"", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line); ((*yyvalp).structure) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token); } -#line 1171 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1171 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 10: -#line 145 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 145 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in structure declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); ((*yyvalp).structure) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token); } -#line 1181 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1181 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 11: -#line 152 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 152 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).elms) = new (std::nothrow) tidl::Elements(); if (((*yyvalp).elms) != nullptr) { ((*yyvalp).elms)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.elm)); } } -#line 1192 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1192 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 12: -#line 158 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 158 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).elms) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.elms); if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.elm) != nullptr) { @@ -1204,68 +1204,68 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, } } } -#line 1208 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1208 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 13: -#line 169 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 169 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in elements declarations.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yyloc).begin.line); ((*yyvalp).elms) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.elms); } -#line 1217 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1217 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 14: -#line 175 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 175 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).elm) = new tidl::Element((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.b_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.b_type)->GetComments(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yyloc).begin.line); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.token); } -#line 1227 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1227 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 15: -#line 180 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 180 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line); ((*yyvalp).elm) = NULL; } -#line 1236 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1236 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 16: -#line 184 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 184 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in element declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); ((*yyvalp).elm) = NULL; } -#line 1245 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1245 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 17: -#line 188 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 188 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in element declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line); ((*yyvalp).elm) = NULL; } -#line 1254 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1254 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 18: -#line 194 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 194 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).attrs) = new (std::nothrow) tidl::Attributes(); if (((*yyvalp).attrs) != nullptr) { ((*yyvalp).attrs)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.attr)); } } -#line 1265 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1265 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 19: -#line 200 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 200 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).attrs) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.attrs); if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.attr) != nullptr) { @@ -1277,62 +1277,62 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, } } } -#line 1281 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1281 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 20: -#line 211 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 211 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in attributes", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line); ((*yyvalp).attrs) = new tidl::Attributes(); } -#line 1290 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1290 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 21: -#line 217 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 217 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).attr) = new tidl::Attribute((((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yyloc).begin.line); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1300 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1300 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 22: -#line 222 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 222 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in attribute declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); ((*yyvalp).attr) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1311 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1311 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 23: -#line 228 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 228 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in attribute declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line); ((*yyvalp).attr) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token); } -#line 1321 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1321 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 24: -#line 235 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 235 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).interf) = new tidl::Interface((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.decls), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token)->GetComments(), new tidl::Attributes(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token); } -#line 1332 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1332 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 25: -#line 241 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 241 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).interf) = new tidl::Interface((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.decls), (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yysemantics.yysval.token)->GetComments(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.attrs), (((yyGLRStackItem const *)yyvsp)[YYFILL (-7)].yystate.yyloc).begin.line); @@ -1341,52 +1341,52 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token); } -#line 1345 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1345 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 26: -#line 249 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 249 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line); ((*yyvalp).interf) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token); } -#line 1355 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1355 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 27: -#line 254 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 254 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in interface declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line); ((*yyvalp).interf) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token); } -#line 1365 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1365 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 28: -#line 259 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 259 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in interface declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); ((*yyvalp).interf) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.token); } -#line 1375 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1375 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 29: -#line 266 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 266 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).decls) = new (std::nothrow) tidl::Declarations(); if (((*yyvalp).decls) != nullptr) { ((*yyvalp).decls)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.decl)); } } -#line 1386 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1386 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 30: -#line 272 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 272 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).decls) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.decls); if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.decl) != nullptr) { @@ -1398,30 +1398,30 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, } } } -#line 1402 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1402 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 31: -#line 283 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 283 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in methods declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); ((*yyvalp).decls) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.decls); } -#line 1411 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1411 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 32: -#line 289 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 289 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).decl) = new tidl::Declaration((((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.b_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.params), (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.b_type)->GetComments(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yyloc).begin.line, tidl::Declaration::MethodType::SYNC); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token); } -#line 1421 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1421 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 33: -#line 294 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 294 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).decl) = new tidl::Declaration((((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token)->ToString(), new tidl::BaseType("void", (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token)->GetComments()), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.params), @@ -1429,11 +1429,11 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token); } -#line 1433 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1433 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 34: -#line 301 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 301 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).decl) = new tidl::Declaration((((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token)->ToString(), new tidl::BaseType("void", (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token)->GetComments()), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.params), @@ -1442,97 +1442,97 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-6)].yystate.yysemantics.yysval.token); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token); } -#line 1446 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1446 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 35: -#line 309 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 309 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token); } -#line 1456 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1456 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 36: -#line 314 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 314 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-5)].yystate.yysemantics.yysval.token); } -#line 1466 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1466 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 37: -#line 319 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 319 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"No async\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yysemantics.yysval.token); } -#line 1476 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1476 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 38: -#line 324 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 324 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; } -#line 1485 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1485 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 39: -#line 328 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 328 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; } -#line 1494 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1494 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 40: -#line 332 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 332 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (-4)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; } -#line 1503 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1503 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 41: -#line 336 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 336 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; } -#line 1512 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1512 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 42: -#line 340 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 340 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in method declaration.", (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); ((*yyvalp).decl) = NULL; } -#line 1521 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1521 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 43: -#line 346 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 346 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).params) = new tidl::Parameters(); if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.param) != nullptr) { ((*yyvalp).params)->Add((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.param)); } } -#line 1532 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1532 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 44: -#line 352 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 352 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).params) = (((yyGLRStackItem const *)yyvsp)[YYFILL (-2)].yystate.yysemantics.yysval.params); if ((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.param) != nullptr) { @@ -1544,95 +1544,95 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, } } } -#line 1548 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1548 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 45: -#line 363 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 363 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ps->ReportError("syntax error in parameter list", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line); ((*yyvalp).params) = new tidl::Parameters(); } -#line 1557 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1557 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 46: -#line 369 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 369 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).direction) = new tidl::Token("in", ""); } -#line 1565 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1565 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 47: -#line 372 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 372 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).direction) = new tidl::Token("out", ""); } -#line 1573 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1573 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 48: -#line 375 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 375 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).direction) = new tidl::Token("ref", ""); } -#line 1581 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1581 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 49: -#line 380 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 380 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).param) = nullptr; } -#line 1589 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1589 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 50: -#line 383 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 383 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).param) = nullptr; delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1598 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1598 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 51: -#line 387 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 387 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).param) = new tidl::Parameter((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.p_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yyloc).begin.line); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1607 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1607 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 52: -#line 393 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 393 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).p_type) = new tidl::ParameterType((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type)); } -#line 1615 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1615 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 53: -#line 396 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 396 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).p_type) = new tidl::ParameterType((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type), (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.direction)->ToString()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.direction); } -#line 1624 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1624 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 54: -#line 402 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 402 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type); } -#line 1632 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1632 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 55: -#line 405 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 405 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { if (!ps->IsBetaEnabled()) { ps->ReportError("syntax error. \"No identifier\".", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yyloc).begin.line); @@ -1643,146 +1643,146 @@ yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp, delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } } -#line 1647 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1647 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 56: -#line 417 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 417 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.b_type); } -#line 1655 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1655 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 57: -#line 420 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 420 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("void", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1664 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1664 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 58: -#line 424 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 424 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("char", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1673 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1673 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 59: -#line 428 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 428 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("short", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1682 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1682 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 60: -#line 432 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 432 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("int", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1691 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1691 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 61: -#line 436 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 436 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("long", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1700 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1700 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 62: -#line 440 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 440 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("float", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1709 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1709 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 63: -#line 444 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 444 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("double", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1718 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1718 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 64: -#line 448 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 448 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("bundle", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1727 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1727 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 65: -#line 452 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 452 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("string", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1736 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1736 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 66: -#line 456 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 456 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType("bool", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1745 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1745 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 67: -#line 460 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 460 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType((((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments(), true); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1754 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1754 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 68: -#line 466 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 466 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).b_type) = new tidl::BaseType((((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->ToString(), (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token)->GetComments()); ((*yyvalp).b_type)->SetMetaType((((yyGLRStackItem const *)yyvsp)[YYFILL (-1)].yystate.yysemantics.yysval.b_type)); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (-3)].yystate.yysemantics.yysval.token); } -#line 1764 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1764 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 69: -#line 473 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 473 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).token) = new tidl::Token("list", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1773 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1773 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; case 70: -#line 477 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 +#line 477 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:816 { ((*yyvalp).token) = new tidl::Token("array", (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token)->GetComments()); delete (((yyGLRStackItem const *)yyvsp)[YYFILL (0)].yystate.yysemantics.yysval.token); } -#line 1782 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1782 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 break; -#line 1786 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 +#line 1786 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:816 default: break; } @@ -3257,7 +3257,7 @@ yyparse (yy::parser& yyparser, tidl::Parser* ps) /* User initialization code. */ yylloc.initialize (); -#line 3261 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2270 +#line 3261 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2270 if (! yyinitGLRStack (yystackp, YYINITDEPTH)) goto yyexhaustedlab; @@ -3558,7 +3558,7 @@ yypdumpstack (yyGLRStack* yystackp) -#line 483 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.c:2584 +#line 483 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.c:2584 #include @@ -3570,7 +3570,7 @@ void yy::parser::error(const yy::parser::location_type& l, } -#line 3574 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584 +#line 3574 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584 /*------------------. | Report an error. | @@ -3587,7 +3587,7 @@ yyerror (const yy::parser::location_type *yylocationp, yy::parser& yyparser, tid namespace yy { -#line 3591 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584 +#line 3591 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584 /// Build a parser object. parser::parser (tidl::Parser* ps_yyarg) : @@ -3668,4 +3668,4 @@ namespace yy { #endif } // yy -#line 3672 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584 +#line 3672 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.cpp" // glr.c:2584 diff --git a/idlc/ast/tidlc_y.hpp b/idlc/ast/tidlc_y.hpp index e903a9a..a6fc076 100644 --- a/idlc/ast/tidlc_y.hpp +++ b/idlc/ast/tidlc_y.hpp @@ -32,8 +32,8 @@ // C++ GLR parser skeleton written by Akim Demaille. -#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED -# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED +#ifndef YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED +# define YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED #include @@ -48,7 +48,7 @@ namespace yy { -#line 52 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329 +#line 52 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329 /// A Bison parser. @@ -59,7 +59,7 @@ namespace yy { /// Symbol semantic values. union semantic_type { - #line 37 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc.yy" // glr.cc:329 + #line 37 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc.yy" // glr.cc:329 tidl::Document* doc; tidl::Interface* interf; @@ -78,7 +78,7 @@ namespace yy { tidl::Attribute* attr; tidl::Attributes* attrs; -#line 82 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329 +#line 82 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329 }; #else typedef YYSTYPE semantic_type; @@ -299,7 +299,7 @@ namespace yy { } // yy -#line 303 "/home/hyunho/full-sources/tizen/tidl_private_sharing_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329 +#line 303 "/home/hyunho/full-sources/tizen/tidl_thread_proj/tidl/idlc/ast/tidlc_y.hpp" // glr.cc:329 -#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_PRIVATE_SHARING_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED +#endif // !YY_YY_HOME_HYUNHO_FULL_SOURCES_TIZEN_TIDL_THREAD_PROJ_TIDL_IDLC_AST_TIDLC_Y_HPP_INCLUDED diff --git a/idlc/gen/cpp_stub_body_gen.cc b/idlc/gen/cpp_stub_body_gen.cc index 8235950..e39d3e9 100644 --- a/idlc/gen/cpp_stub_body_gen.cc +++ b/idlc/gen/cpp_stub_body_gen.cc @@ -22,8 +22,9 @@ namespace { namespace tidl { -CppStubBodyGen::CppStubBodyGen(std::shared_ptr doc) - : CppGeneratorBase(doc) {} +CppStubBodyGen::CppStubBodyGen(std::shared_ptr doc, + std::shared_ptr options) + : CppGeneratorBase(doc), options_(options) {} void CppStubBodyGen::OnInitGen(std::ofstream& stream) { std::string key(".cc"); @@ -118,18 +119,29 @@ void CppStubBodyGen::GenConstructor(std::ofstream& stream, void CppStubBodyGen::GenDefaultMethods(std::ofstream& stream, const Interface& iface) { GenConstructor(stream, iface); + if (options_->IsThreadEnabled()) + stream << ReplaceAll(CB_DEFAULT_THREAD_METHODS, "##", iface.GetID()); + stream << ReplaceAll(CB_DEFAULT_METHODS, "##", iface.GetID()); } void CppStubBodyGen::GenReceivedEvent(std::ofstream& stream, const Interface& iface) { - GenTemplate(CB_ON_RECEIVED_CB_FRONT, stream, - [&]()->std::string { - return iface.GetID(); - }, - [&]()->std::string { - return iface.GetID(); - }); + if (options_->IsThreadEnabled()) { + GenTemplate(CB_RUN_PENDING_JOB_FRONT, stream, + [&]()->std::string { + return iface.GetID(); + }); + } else { + GenTemplate(CB_ON_RECEIVED_CB_FRONT, stream, + [&]()->std::string { + return iface.GetID(); + }, + [&]()->std::string { + return iface.GetID(); + }); + } + for (auto& i : iface.GetDeclarations().GetDecls()) { if (i->GetMethodType() == Declaration::MethodType::DELEGATE) continue; @@ -141,7 +153,20 @@ void CppStubBodyGen::GenReceivedEvent(std::ofstream& stream, }, false); stream << NLine(1); } - stream << CB_ON_RECEIVED_CB_BACK << NLine(1); + + if (options_->IsThreadEnabled()) { + stream << CB_RUN_PENDING_JOB_BACK << NLine(1); + + GenTemplate(CB_ON_RECEIVED_CB, stream, + [&]()->std::string { + return iface.GetID(); + }, + [&]()->std::string { + return iface.GetID(); + }); + } else { + stream << CB_ON_RECEIVED_CB_BACK << NLine(1); + } } void CppStubBodyGen::GenInvocation(std::ofstream& stream, @@ -221,6 +246,7 @@ void CppStubBodyGen::GenInvocation(std::ofstream& stream, } m += "ret = rpc_port_parcel_send(result, port);\n"; + m += "_I(\"Parcel send result(%d)\", ret);\n"; stream << AddIndent(TAB_SIZE * 3, m); } diff --git a/idlc/gen/cpp_stub_body_gen.h b/idlc/gen/cpp_stub_body_gen.h index 7db4dec..a21aebd 100644 --- a/idlc/gen/cpp_stub_body_gen.h +++ b/idlc/gen/cpp_stub_body_gen.h @@ -21,12 +21,13 @@ #include #include "idlc/gen/cpp_gen_base.h" +#include "idlc/options.h" namespace tidl { class CppStubBodyGen : public CppGeneratorBase { public: - explicit CppStubBodyGen(std::shared_ptr doc); + explicit CppStubBodyGen(std::shared_ptr doc, std::shared_ptr options); virtual ~CppStubBodyGen() = default; void OnInitGen(std::ofstream& stream) override; @@ -41,6 +42,9 @@ class CppStubBodyGen : public CppGeneratorBase { void GenReceivedEvent(std::ofstream& stream, const Interface& iface); void GenInvocation(std::ofstream& stream, const Declaration& decl); void GenConstructor(std::ofstream& stream, const Interface& iface); + + private: + std::shared_ptr options_; }; } // namespace tidl diff --git a/idlc/gen/cpp_stub_body_gen_cb.h b/idlc/gen/cpp_stub_body_gen_cb.h index d3fad11..709ea4d 100644 --- a/idlc/gen/cpp_stub_body_gen_cb.h +++ b/idlc/gen/cpp_stub_body_gen_cb.h @@ -73,6 +73,32 @@ void ##::OnDisconnectedCB(const char* sender, const char* instance, void *data) } } } + +)__cpp_cb"; + +const char CB_DEFAULT_THREAD_METHODS[] = +R"__cpp_cb( +void ##::ServiceBase::Dispatch(rpc_port_h port, + rpc_port_h callback_port, + rpc_port_parcel_h parcel, + std::shared_ptr service) { + active_object_->Send( + std::shared_ptr( + new (std::nothrow) PendingJob( + port, callback_port, parcel, service))); +} + +##::PendingJob::PendingJob(rpc_port_h port, + rpc_port_h callback_port, + rpc_port_parcel_h parcel, + std::shared_ptr service) + : Job(this), + port_(port), + callback_port_(callback_port), + parcel_(parcel), + service_(std::move(service)) { +} + )__cpp_cb"; const char CB_ON_RECEIVED_CB_FRONT[] = @@ -132,8 +158,77 @@ R"__cpp_cb( default: } )__cpp_cb"; + +const char CB_RUN_PENDING_JOB_FRONT[] = +R"__cpp_cb( +void $$::PendingJob::Run() { + rpc_port_parcel_h result; + int cmd; + int ret; + rpc_port_parcel_h p = parcel_; + std::shared_ptr b = service_; + rpc_port_h port = port_; + + rpc_port_parcel_create(&result); + rpc_port_parcel_read_int32(parcel_, &cmd); + + switch (cmd) { +)__cpp_cb"; + +const char CB_RUN_PENDING_JOB_BACK[] = +R"__cpp_cb( default: + _E("Unknown command(%d)", cmd); + rpc_port_parcel_destroy(parcel_); + rpc_port_parcel_destroy(result); + return; + } + + rpc_port_parcel_destroy(parcel_); + rpc_port_parcel_destroy(result); +} +)__cpp_cb"; + +const char CB_ON_RECEIVED_CB[] = +R"__cpp_cb( +int $$::OnReceivedCB(const char* sender, const char* instance, rpc_port_h port, void *data) +{ + auto* cxt = static_cast<$$*>(data); + std::shared_ptr b; + rpc_port_parcel_h parcel; + rpc_port_h callback_port; + + for (auto& i : cxt->services_) { + if (i->GetInstance() == instance) { + b = i; + break; + } + } + + if (b.get() == nullptr) { + _E("Failed to find $$ context(%s)", instance); + return -1; + } + + int ret = rpc_port_stub_get_port(cxt->stub_, RPC_PORT_PORT_CALLBACK, instance, + &callback_port); + if (ret != 0) { + _E("Failed to get callback port"); + } + + ret = rpc_port_parcel_create_from_port(&parcel, port); + if (ret != 0) { + _E("Failed to create parcel from port"); + return ret; + } + b->Dispatch(port, callback_port, parcel, b); + + return ret; +} +)__cpp_cb"; + const char CB_CTOR_SERVICE_BASE[] = R"__cpp_cb($$::ServiceBase::ServiceBase(std::string sender, std::string instance) - : sender_(std::move(sender)), instance_(std::move(instance)) {})__cpp_cb"; + : sender_(std::move(sender)), instance_(std::move(instance)), + active_object_(new ActiveObject()) {})__cpp_cb"; #endif // IDLC_CPP_GEN_CPP_STUB_BODY_GEN_CB_H_ diff --git a/idlc/gen/cpp_stub_header_gen.cc b/idlc/gen/cpp_stub_header_gen.cc index 0e5689e..3e6e78f 100644 --- a/idlc/gen/cpp_stub_header_gen.cc +++ b/idlc/gen/cpp_stub_header_gen.cc @@ -22,8 +22,9 @@ namespace { namespace tidl { -CppStubHeaderGen::CppStubHeaderGen(std::shared_ptr doc) - : CppGeneratorBase(doc) {} +CppStubHeaderGen::CppStubHeaderGen(std::shared_ptr doc, + std::shared_ptr options) + : CppGeneratorBase(doc), options_(options) {} void CppStubHeaderGen::OnInitGen(std::ofstream& stream) { GenVersion(stream); @@ -44,6 +45,9 @@ void CppStubHeaderGen::GenNamespace(std::ofstream& stream) { stream << "namespace stub "; GenBrace(stream, 0, [&]() { GenExceptions(stream); + stream << CB_JOB; + stream << CB_SHARED_QUEUE; + stream << CB_ACTIVE_OBJECT; GenInterfaces(stream); }, false, false); stream << " // namespace stub" + NLine(1); @@ -81,6 +85,8 @@ void CppStubHeaderGen::GenPublic(std::ofstream& stream, stream << " public:" << NLine(1); stream << " class ServiceBase;" << NLine(1); GenHeaderCallbacks(stream, iface, false); + if (options_->IsThreadEnabled()) + stream << CB_PENDING_JOB << NLine(1); GenServiceBase(stream, iface); GenPublicMethods(stream, iface); } diff --git a/idlc/gen/cpp_stub_header_gen.h b/idlc/gen/cpp_stub_header_gen.h index db8d82b..4bcd243 100644 --- a/idlc/gen/cpp_stub_header_gen.h +++ b/idlc/gen/cpp_stub_header_gen.h @@ -21,12 +21,14 @@ #include #include "idlc/gen/cpp_gen_base.h" +#include "idlc/options.h" namespace tidl { class CppStubHeaderGen : public CppGeneratorBase { public: - explicit CppStubHeaderGen(std::shared_ptr doc); + explicit CppStubHeaderGen(std::shared_ptr doc, + std::shared_ptr options); virtual ~CppStubHeaderGen() = default; void OnInitGen(std::ofstream& stream) override; @@ -41,6 +43,9 @@ class CppStubHeaderGen : public CppGeneratorBase { void GenPrivate(std::ofstream& stream, const Interface& iface); void GenServiceBase(std::ofstream& stream, const Interface& iface); void GenPublicMethods(std::ofstream& stream, const Interface& iface); + + private: + std::shared_ptr options_; }; } // namespace tidl diff --git a/idlc/gen/cpp_stub_header_gen_cb.h b/idlc/gen/cpp_stub_header_gen_cb.h index 8cb4c1f..b4db8a5 100644 --- a/idlc/gen/cpp_stub_header_gen_cb.h +++ b/idlc/gen/cpp_stub_header_gen_cb.h @@ -76,6 +76,27 @@ R"__cpp_cb( /// virtual void OnTerminate() = 0; + void Dispatch(rpc_port_h port, rpc_port_h callback_port, + rpc_port_parcel_h parcel, std::shared_ptr service); + +)__cpp_cb"; + +const char CB_PENDING_JOB[] = +R"__cpp_cb( + class PendingJob : public Job, Job::IEvent { + public: + PendingJob(rpc_port_h port, rpc_port_h callback_port, + rpc_port_parcel_h parcel, std::shared_ptr service_); + + private: + void Run() override; + + private: + rpc_port_h port_; + rpc_port_h callback_port_; + rpc_port_parcel_h parcel_; + std::shared_ptr service_; + }; )__cpp_cb"; const char CB_SERVICE_BASE_BACK[] = @@ -86,6 +107,7 @@ R"__cpp_cb( private: std::string sender_; std::string instance_; + std::unique_ptr active_object_; };)__cpp_cb"; const char CB_PUBLIC_METHODS[] = @@ -111,6 +133,148 @@ R"__cpp_cb( ##(); )__cpp_cb"; + +const char CB_JOB[] = R"__cls_job(class Job { + public: + class IEvent { + public: + virtual void Run() = 0; + }; + + Job() : handler_(nullptr) { + } + + Job(IEvent* handler) : handler_(handler) { + } + virtual ~Job() = default; + + Job(const Job& job) { + handler_ = job.handler_; + } + + Job& operator = (const Job& job) { + if (this != &job) + handler_ = job.handler_; + return *this; + } + Job(Job&& job) noexcept { + handler_ = job.handler_; + job.handler_ = nullptr; + } + + Job& operator = (Job&& job) noexcept { + if (this != &job) { + handler_ = job.handler_; + job.handler_ = nullptr; + } + return *this; + } + + void Invoke() { + if (handler_) + handler_->Run(); + } + + private: + IEvent* handler_; +}; + +)__cls_job"; + +const char CB_SHARED_QUEUE[] = R"__cls_shared_que( +template +class SharedQueue { + public: + SharedQueue() = default; + virtual ~SharedQueue() = default; + + void Push(T item) { + std::lock_guard lock(mutex_); + queue_.push_back(item); + cond_var_.notify_one(); + } + + void PushFront(T item) { + std::lock_guard lock(mutex_); + queue_.push_front(item); + cond_var_.notify_one(); + } + + bool TryAndPop(T& item) { + std::lock_guard lock(mutex_); + if (queue_.empty()) + return false; + + item = queue_.front(); + queue_.pop_front(); + + return true; + } + + void WaitAndPop(T& item) { + std::unique_lock lock(mutex_); + while (queue_.empty()) + cond_var_.wait(lock); + + item = queue_.front(); + queue_.pop_front(); + } + + bool Empty() { + std::lock_guard lock(mutex_); + return queue_.empty(); + } + + int Size() { + std::lock_guard lock(mutex_); + return queue_.size(); + } + + private: + std::deque queue_; + mutable std::mutex mutex_; + std::condition_variable cond_var_; +}; + +)__cls_shared_que"; + +const char CB_ACTIVE_OBJECT[] = R"__cls_active_obj(class ActiveObject : public Job::IEvent { + public: + ActiveObject() { + thread_ = std::thread([&]{ + do { + std::shared_ptr item; + queue_.WaitAndPop(item); + item->Invoke(); + } while (!done_); + }); + } + virtual ~ActiveObject() { + Quit(); + thread_.join(); + } + + public: + void Send(std::shared_ptr job) { + queue_.Push(std::move(job)); + } + + private: + void Quit() { + Send(std::shared_ptr(new (std::nothrow) Job(this))); + } + void Run() override { + done_ = true; + } + + private: + std::thread thread_; + bool done_ = false; + SharedQueue> queue_; +}; + +)__cls_active_obj"; + const char CB_HEADER[] = R"__cpp_cb( #pragma once @@ -124,6 +288,10 @@ R"__cpp_cb( #include #include #include +#include +#include +#include +#include )__cpp_cb"; diff --git a/idlc/main.cc b/idlc/main.cc index 13140e4..22faf9c 100644 --- a/idlc/main.cc +++ b/idlc/main.cc @@ -14,7 +14,6 @@ * limitations under the License. */ -#include #include #include @@ -32,211 +31,10 @@ #include "idlc/gen/cpp_proxy_body_gen.h" #include "idlc/gen/cpp_stub_header_gen.h" #include "idlc/gen/cpp_stub_body_gen.h" - -namespace { - -class Options { - public: - Options(); - ~Options() = default; - - static std::unique_ptr Parse(int argc, char** argv); - bool IsProxy() const { return isProxy_; } - bool IsBetaEnabled() const { return isBetaEnabled_; } - std::string GetLanguage() const { return language_; } - std::string GetInput() const { return input_; } - std::string GetOutput() const { return output_; } - bool HasNamespace() const { return hasNamespace_; } - bool HasRpcPortLib() const { return hasRpcPortLib_; } - - private: - enum Cmd { - CMD_PROXY, - CMD_STUB, - CMD_VERSION, - CMD_HELP, - CMD_MAX - }; - - enum Opt { - OPT_LANGUAGE, - OPT_INPUT, - OPT_OUTPUT, - OPT_NAMESPACE, - OPT_RPCLIB, - OPT_MAX - }; - - void PrintUsage(); - void PrintVersion(); - void PrintSample(); - - private: - bool isProxy_; - std::string language_; - std::string input_; - std::string output_; - std::string help_; - bool hasNamespace_ = false; - bool hasRpcPortLib_ = false; - bool isBetaEnabled_ = false; -}; - -Options::Options() { - help_ = R"__option_cb( -Usage: - tidlc [OPTION...] - -Help Options: - -h, --help Show help options - -Additional Options: - -l, --language=LANGUAGE Select generating language (C, C++, C#). - -i, --input=INPUT A tidl interface file. - -o, --output=OUTPUT The generated interface file. - -n, --namespace Add the prefix in the funtion name as output file name (C language only). - -r, --rpclib Generate C# library for rpc-port (C# language only). - -Application Options: - -p, --proxy Generate proxy code - -s, --stub Generate stub code - -v, --version Show version information -)__option_cb"; -} - -void Options::PrintUsage() { - std::cerr << help_ << std::endl; -} - -void Options::PrintVersion() { - std::cerr << "tidlc " << FULLVER << std::endl; -} - -void Options::PrintSample() { - std::cerr << "tidlc -p -l C++ -i test.tidl -o CppTestProxy " << std::endl; -} - -std::unique_ptr Options::Parse(int argc, char** argv) { - int cmd[CMD_MAX] = { 0, }; - int opt[OPT_MAX] = { 0, }; - auto options = std::unique_ptr(new Options()); - int option_index = 0; - - struct option long_options[] = { - {"proxy", no_argument, NULL, 'p'}, - {"stub", no_argument, NULL, 's'}, - {"version", no_argument, NULL, 'v'}, - {"help", no_argument, NULL, 'h'}, - {"language", required_argument, NULL, 'l'}, - {"input", required_argument, NULL, 'i'}, - {"output", required_argument, NULL, 'o'}, - {"namespace", no_argument, NULL, 'n'}, - {"rpclib", no_argument, NULL, 'r'}, - {"beta", no_argument, NULL, 'b'}, - {0, 0, 0, 0} - }; - - while (true) { - int c = getopt_long(argc, argv, "bpsvhl:i:o:nr", long_options, - &option_index); - if (c == -1) - break; - - switch (c) { - case 0: - break; - - case 'p': - cmd[CMD_PROXY] = 1; - break; - - case 's': - cmd[CMD_STUB] = 1; - break; - - case 'v': - cmd[CMD_VERSION] = 1; - break; - - case 'h': - cmd[CMD_HELP] = 1; - break; - - case 'n': - opt[OPT_NAMESPACE] = 1; - break; - - case 'r': - opt[OPT_RPCLIB] = 1; - break; - - case 'l': - opt[OPT_LANGUAGE] = 1; - options->language_ = optarg; - break; - - case 'i': - opt[OPT_INPUT] = 1; - options->input_ = optarg; - break; - - case 'o': - opt[OPT_OUTPUT] = 1; - options->output_ = optarg; - break; - - case 'b': - options->isBetaEnabled_ = true; - break; - - default: - cmd[CMD_HELP] = 1; - } - } - - if (cmd[CMD_VERSION]) { - options->PrintVersion(); - return std::unique_ptr(nullptr); - } - - if (cmd[CMD_HELP]) { - options->PrintUsage(); - return std::unique_ptr(nullptr); - } else if (!cmd[CMD_PROXY] && !cmd[CMD_STUB]) { - std::cerr << "Stub or proxy must be specified." << std::endl; - options->PrintSample(); - return std::unique_ptr(nullptr); - } else if (!opt[OPT_LANGUAGE]) { - std::cerr << "Select a language (C, C++, C#).." << std::endl; - options->PrintSample(); - return std::unique_ptr(nullptr); - } else if (!opt[OPT_INPUT]) { - std::cerr << "No input file." << std::endl; - options->PrintSample(); - return std::unique_ptr(nullptr); - } else if (opt[OPT_INPUT]) { - std::ifstream in_file(options->input_.c_str()); - if (!in_file.good()) { - std::cerr << "Not exist input file." << std::endl; - return std::unique_ptr(nullptr); - } - } else if (!opt[OPT_OUTPUT]) { - std::cerr << "No out file." << std::endl; - options->PrintSample(); - return std::unique_ptr(nullptr); - } - - options->isProxy_ = cmd[CMD_PROXY] ? true : false; - options->hasNamespace_ = opt[OPT_NAMESPACE] ? true : false; - options->hasRpcPortLib_ = opt[OPT_RPCLIB] ? true : false; - - return options; -} - -} // namespace +#include "idlc/options.h" int main(int argc, char** argv) { - std::unique_ptr<::Options> options = ::Options::Parse(argc, argv); + std::shared_ptr options = tidl::Options::Parse(argc, argv); if (!options) exit(1); @@ -276,9 +74,9 @@ int main(int argc, char** argv) { lib.Run("rpc-port.cs"); } } else if (options->GetLanguage() == "C++") { - tidl::CppStubHeaderGen stub_header(ps.GetDoc()); + tidl::CppStubHeaderGen stub_header(ps.GetDoc(), options); stub_header.Run(options->GetOutput() + ".h"); - tidl::CppStubBodyGen stub_body(ps.GetDoc()); + tidl::CppStubBodyGen stub_body(ps.GetDoc(), options); stub_body.Run(options->GetOutput() + ".cc"); } else if (options->GetLanguage() == "C") { tidl::CStubHeaderGen stub_header(ps.GetDoc()); diff --git a/idlc/options.cc b/idlc/options.cc new file mode 100644 index 0000000..c19cd5a --- /dev/null +++ b/idlc/options.cc @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +#include + +#include "idlc/options.h" + +namespace tidl { + +Options::Options() { + help_ = R"__option_cb( +Usage: + tidlc [OPTION...] + +Help Options: + -h, --help Show help options + +Additional Options: + -l, --language=LANGUAGE Select generating language (C, C++, C#). + -i, --input=INPUT A tidl interface file. + -o, --output=OUTPUT The generated interface file. + -n, --namespace Add the prefix in the funtion name as output file name (C language only). + -r, --rpclib Generate C# library for rpc-port (C# language only). + +Application Options: + -p, --proxy Generate proxy code + -s, --stub Generate stub code + -v, --version Show version information +)__option_cb"; +} + +void Options::PrintUsage() { + std::cerr << help_ << std::endl; +} + +void Options::PrintVersion() { + std::cerr << "tidlc " << FULLVER << std::endl; +} + +void Options::PrintSample() { + std::cerr << "tidlc -p -l C++ -i test.tidl -o CppTestProxy " << std::endl; +} + +std::shared_ptr Options::Parse(int argc, char** argv) { + int cmd[CMD_MAX] = { 0, }; + int opt[OPT_MAX] = { 0, }; + auto options = std::shared_ptr(new Options()); + int option_index = 0; + + struct option long_options[] = { + {"proxy", no_argument, NULL, 'p'}, + {"stub", no_argument, NULL, 's'}, + {"version", no_argument, NULL, 'v'}, + {"help", no_argument, NULL, 'h'}, + {"language", required_argument, NULL, 'l'}, + {"input", required_argument, NULL, 'i'}, + {"output", required_argument, NULL, 'o'}, + {"namespace", no_argument, NULL, 'n'}, + {"rpclib", no_argument, NULL, 'r'}, + {"beta", no_argument, NULL, 'b'}, + {"thread", no_argument, NULL, 't'}, + {0, 0, 0, 0} + }; + + while (true) { + int c = getopt_long(argc, argv, "tbpsvhl:i:o:nr", long_options, + &option_index); + if (c == -1) + break; + + switch (c) { + case 0: + break; + + case 'p': + cmd[CMD_PROXY] = 1; + break; + + case 's': + cmd[CMD_STUB] = 1; + break; + + case 'v': + cmd[CMD_VERSION] = 1; + break; + + case 'h': + cmd[CMD_HELP] = 1; + break; + + case 'n': + opt[OPT_NAMESPACE] = 1; + break; + + case 'r': + opt[OPT_RPCLIB] = 1; + break; + + case 'l': + opt[OPT_LANGUAGE] = 1; + options->language_ = optarg; + break; + + case 'i': + opt[OPT_INPUT] = 1; + options->input_ = optarg; + break; + + case 'o': + opt[OPT_OUTPUT] = 1; + options->output_ = optarg; + break; + + case 'b': + options->isBetaEnabled_ = true; + break; + + case 't': + options->isThreadEnabled_ = true; + break; + + default: + cmd[CMD_HELP] = 1; + } + } + + if (cmd[CMD_VERSION]) { + options->PrintVersion(); + return std::shared_ptr(nullptr); + } + + if (cmd[CMD_HELP]) { + options->PrintUsage(); + return std::shared_ptr(nullptr); + } else if (!cmd[CMD_PROXY] && !cmd[CMD_STUB]) { + std::cerr << "Stub or proxy must be specified." << std::endl; + options->PrintSample(); + return std::shared_ptr(nullptr); + } else if (!opt[OPT_LANGUAGE]) { + std::cerr << "Select a language (C, C++, C#).." << std::endl; + options->PrintSample(); + return std::shared_ptr(nullptr); + } else if (!opt[OPT_INPUT]) { + std::cerr << "No input file." << std::endl; + options->PrintSample(); + return std::shared_ptr(nullptr); + } else if (opt[OPT_INPUT]) { + std::ifstream in_file(options->input_.c_str()); + if (!in_file.good()) { + std::cerr << "Not exist input file." << std::endl; + return std::shared_ptr(nullptr); + } + } else if (!opt[OPT_OUTPUT]) { + std::cerr << "No out file." << std::endl; + options->PrintSample(); + return std::shared_ptr(nullptr); + } + + options->isProxy_ = cmd[CMD_PROXY] ? true : false; + options->hasNamespace_ = opt[OPT_NAMESPACE] ? true : false; + options->hasRpcPortLib_ = opt[OPT_RPCLIB] ? true : false; + + return options; +} + +} // namespace tidl diff --git a/idlc/options.h b/idlc/options.h new file mode 100644 index 0000000..3a09cfb --- /dev/null +++ b/idlc/options.h @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef TIDL_IDLC_OPTIONS_H_ +#define TIDL_IDLC_OPTIONS_H_ + +#include +#include +#include + +namespace tidl { +class Options { + public: + Options(); + ~Options() = default; + + static std::shared_ptr Parse(int argc, char** argv); + bool IsProxy() const { return isProxy_; } + bool IsBetaEnabled() const { return isBetaEnabled_; } + bool IsThreadEnabled() const { return isThreadEnabled_; } + std::string GetLanguage() const { return language_; } + std::string GetInput() const { return input_; } + std::string GetOutput() const { return output_; } + bool HasNamespace() const { return hasNamespace_; } + bool HasRpcPortLib() const { return hasRpcPortLib_; } + + private: + enum Cmd { + CMD_PROXY, + CMD_STUB, + CMD_VERSION, + CMD_HELP, + CMD_MAX + }; + + enum Opt { + OPT_LANGUAGE, + OPT_INPUT, + OPT_OUTPUT, + OPT_NAMESPACE, + OPT_RPCLIB, + OPT_MAX + }; + + void PrintUsage(); + void PrintVersion(); + void PrintSample(); + + private: + bool isProxy_; + std::string language_; + std::string input_; + std::string output_; + std::string help_; + bool hasNamespace_ = false; + bool hasRpcPortLib_ = false; + bool isBetaEnabled_ = false; + bool isThreadEnabled_ = false; +}; + +} // namespace tidl + +#endif // TIDL_IDLC_OPTIONS_H_ \ No newline at end of file -- 2.7.4