Use receiving thread for cpp stub 43/237143/4
authorhyunho <hhstark.kang@samsung.com>
Thu, 25 Jun 2020 08:48:48 +0000 (17:48 +0900)
committerhyunho <hhstark.kang@samsung.com>
Fri, 3 Jul 2020 05:26:33 +0000 (14:26 +0900)
Change-Id: I934cac8c5efbb150aa60333842074f602458d0ee
Signed-off-by: hyunho <hhstark.kang@samsung.com>
14 files changed:
idlc/ast/location.hh
idlc/ast/position.hh
idlc/ast/tidlc_l.cpp
idlc/ast/tidlc_y.cpp
idlc/ast/tidlc_y.hpp
idlc/gen/cpp_stub_body_gen.cc
idlc/gen/cpp_stub_body_gen.h
idlc/gen/cpp_stub_body_gen_cb.h
idlc/gen/cpp_stub_header_gen.cc
idlc/gen/cpp_stub_header_gen.h
idlc/gen/cpp_stub_header_gen_cb.h
idlc/main.cc
idlc/options.cc [new file with mode: 0644]
idlc/options.h [new file with mode: 0644]

index 67ad5f2..7971b93 100644 (file)
 // 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
index ff35512..b687a5f 100644 (file)
 // 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 <algorithm> // std::max
 # include <iostream>
@@ -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
index debd1f5..585435c 100644 (file)
@@ -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 <stdio.h>
 #include <string>
 
@@ -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"
 
 
 
index a1c3936..4a686f0 100644 (file)
@@ -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 <stdio.h>
 #include <stdlib.h>
@@ -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 <stdio.h>
 #include <stdlib.h>
@@ -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 <ctype.h>
@@ -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
index e903a9a..a6fc076 100644 (file)
@@ -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 <stdexcept>
@@ -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
index 8235950..e39d3e9 100644 (file)
@@ -22,8 +22,9 @@ namespace {
 
 namespace tidl {
 
-CppStubBodyGen::CppStubBodyGen(std::shared_ptr<Document> doc)
-    : CppGeneratorBase(doc) {}
+CppStubBodyGen::CppStubBodyGen(std::shared_ptr<Document> doc,
+    std::shared_ptr<Options> 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);
 }
 
index 7db4dec..a21aebd 100644 (file)
 #include <string>
 
 #include "idlc/gen/cpp_gen_base.h"
+#include "idlc/options.h"
 
 namespace tidl {
 
 class CppStubBodyGen : public CppGeneratorBase {
  public:
-  explicit CppStubBodyGen(std::shared_ptr<Document> doc);
+  explicit CppStubBodyGen(std::shared_ptr<Document> doc, std::shared_ptr<Options> 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> options_;
 };
 
 }  // namespace tidl
index d3fad11..709ea4d 100644 (file)
@@ -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<ServiceBase> service) {
+  active_object_->Send(
+      std::shared_ptr<Job>(
+        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<ServiceBase> 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<ServiceBase> 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<ServiceBase> 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_
index 0e5689e..3e6e78f 100644 (file)
@@ -22,8 +22,9 @@ namespace {
 
 namespace tidl {
 
-CppStubHeaderGen::CppStubHeaderGen(std::shared_ptr<Document> doc)
-    : CppGeneratorBase(doc) {}
+CppStubHeaderGen::CppStubHeaderGen(std::shared_ptr<Document> doc,
+      std::shared_ptr<Options> 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);
 }
index db8d82b..4bcd243 100644 (file)
 #include <string>
 
 #include "idlc/gen/cpp_gen_base.h"
+#include "idlc/options.h"
 
 namespace tidl {
 
 class CppStubHeaderGen : public CppGeneratorBase {
  public:
-  explicit CppStubHeaderGen(std::shared_ptr<Document> doc);
+  explicit CppStubHeaderGen(std::shared_ptr<Document> doc,
+      std::shared_ptr<Options> 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> options_;
 };
 
 }  // namespace tidl
index 8cb4c1f..b4db8a5 100644 (file)
@@ -76,6 +76,27 @@ R"__cpp_cb(
     /// </summary>
     virtual void OnTerminate() = 0;
 
+    void Dispatch(rpc_port_h port, rpc_port_h callback_port,
+        rpc_port_parcel_h parcel, std::shared_ptr<ServiceBase> 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<ServiceBase> service_);
+
+   private:
+    void Run() override;
+
+   private:
+    rpc_port_h port_;
+    rpc_port_h callback_port_;
+    rpc_port_parcel_h parcel_;
+    std::shared_ptr<ServiceBase> 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<ActiveObject> 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 T>
+class SharedQueue {
+ public:
+  SharedQueue() = default;
+  virtual ~SharedQueue() = default;
+
+  void Push(T item) {
+    std::lock_guard<std::mutex> lock(mutex_);
+    queue_.push_back(item);
+    cond_var_.notify_one();
+  }
+
+  void PushFront(T item) {
+    std::lock_guard<std::mutex> lock(mutex_);
+    queue_.push_front(item);
+    cond_var_.notify_one();
+  }
+
+  bool TryAndPop(T& item) {
+    std::lock_guard<std::mutex> lock(mutex_);
+    if (queue_.empty())
+       return false;
+
+    item = queue_.front();
+    queue_.pop_front();
+
+    return true;
+  }
+
+  void WaitAndPop(T& item) {
+    std::unique_lock<std::mutex> lock(mutex_);
+    while (queue_.empty())
+      cond_var_.wait(lock);
+
+    item = queue_.front();
+    queue_.pop_front();
+  }
+
+  bool Empty() {
+    std::lock_guard<std::mutex> lock(mutex_);
+    return queue_.empty();
+  }
+
+  int Size() {
+    std::lock_guard<std::mutex> lock(mutex_);
+    return queue_.size();
+  }
+
+ private:
+  std::deque<T> 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<Job> item;
+            queue_.WaitAndPop(item);
+            item->Invoke();
+          } while (!done_);
+        });
+  }
+  virtual ~ActiveObject() {
+    Quit();
+    thread_.join();
+  }
+
+ public:
+  void Send(std::shared_ptr<Job> job) {
+    queue_.Push(std::move(job));
+  }
+
+ private:
+  void Quit() {
+    Send(std::shared_ptr<Job>(new (std::nothrow) Job(this)));
+  }
+  void Run() override {
+    done_ = true;
+  }
+
+ private:
+  std::thread thread_;
+  bool done_ = false;
+  SharedQueue<std::shared_ptr<Job>> queue_;
+};
+
+)__cls_active_obj";
+
 const char CB_HEADER[] =
 R"__cpp_cb(
 #pragma once
@@ -124,6 +288,10 @@ R"__cpp_cb(
 #include <vector>
 #include <list>
 #include <atomic>
+#include <condition_variable>
+#include <mutex>
+#include <deque>
+#include <thread>
 
 )__cpp_cb";
 
index 13140e4..22faf9c 100644 (file)
@@ -14,7 +14,6 @@
  * limitations under the License.
  */
 
-#include <getopt.h>
 
 #include <iostream>
 #include <cstring>
 #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<Options> 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> Options::Parse(int argc, char** argv) {
-  int cmd[CMD_MAX] = { 0, };
-  int opt[OPT_MAX] = { 0, };
-  auto options = std::unique_ptr<Options>(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<Options>(nullptr);
-  }
-
-  if (cmd[CMD_HELP]) {
-    options->PrintUsage();
-    return std::unique_ptr<Options>(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<Options>(nullptr);
-  } else if (!opt[OPT_LANGUAGE]) {
-    std::cerr << "Select a language (C, C++, C#).." << std::endl;
-    options->PrintSample();
-    return std::unique_ptr<Options>(nullptr);
-  } else if (!opt[OPT_INPUT]) {
-    std::cerr << "No input file." << std::endl;
-    options->PrintSample();
-    return std::unique_ptr<Options>(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<Options>(nullptr);
-    }
-  } else if (!opt[OPT_OUTPUT]) {
-    std::cerr << "No out file." << std::endl;
-    options->PrintSample();
-    return std::unique_ptr<Options>(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<tidl::Options> 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 (file)
index 0000000..c19cd5a
--- /dev/null
@@ -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 <getopt.h>
+
+#include <fstream>
+
+#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> Options::Parse(int argc, char** argv) {
+  int cmd[CMD_MAX] = { 0, };
+  int opt[OPT_MAX] = { 0, };
+  auto options = std::shared_ptr<Options>(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<Options>(nullptr);
+  }
+
+  if (cmd[CMD_HELP]) {
+    options->PrintUsage();
+    return std::shared_ptr<Options>(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<Options>(nullptr);
+  } else if (!opt[OPT_LANGUAGE]) {
+    std::cerr << "Select a language (C, C++, C#).." << std::endl;
+    options->PrintSample();
+    return std::shared_ptr<Options>(nullptr);
+  } else if (!opt[OPT_INPUT]) {
+    std::cerr << "No input file." << std::endl;
+    options->PrintSample();
+    return std::shared_ptr<Options>(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<Options>(nullptr);
+    }
+  } else if (!opt[OPT_OUTPUT]) {
+    std::cerr << "No out file." << std::endl;
+    options->PrintSample();
+    return std::shared_ptr<Options>(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 (file)
index 0000000..3a09cfb
--- /dev/null
@@ -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 <string>
+#include <iostream>
+#include <memory>
+
+namespace tidl {
+class Options {
+ public:
+  Options();
+  ~Options() = default;
+
+  static std::shared_ptr<Options> 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