namespace tidl {
-Parser::Parser(bool beta_enable, bool cion_enable, bool group_enable)
+Parser::Parser(bool beta_enable, bool cion_enable, bool aitt_enable,
+ bool group_enable)
: scanner_(nullptr), error_(false), beta_enable_(beta_enable),
- cion_enable_(cion_enable), group_enable_(group_enable) {
+ cion_enable_(cion_enable), aitt_enable_(aitt_enable),
+ group_enable_(group_enable) {
yylex_init(&scanner_);
}
return cion_enable_;
}
+bool Parser::IsAittEnabled() {
+ return aitt_enable_;
+}
+
bool Parser::IsGroupEnabled() {
return group_enable_;
}
default:
break;
}
+ } else if (options->IsAitt()) {
+ switch (options->GetLanguage()) {
+ case tidl::Options::LANGUAGE_TYPE_C:
+ case tidl::Options::LANGUAGE_TYPE_CPP:
+ case tidl::Options::LANGUAGE_TYPE_CSHARP:
+ case tidl::Options::LANGUAGE_TYPE_JAVA:
+ default:
+ break;
+ }
} else {
switch (options->GetLanguage()) {
case tidl::Options::LANGUAGE_TYPE_C:
default:
break;
}
+ } else if (options->IsAitt()) {
+ switch (options->GetLanguage()) {
+ case tidl::Options::LANGUAGE_TYPE_C:
+ case tidl::Options::LANGUAGE_TYPE_CPP:
+ case tidl::Options::LANGUAGE_TYPE_CSHARP:
+ case tidl::Options::LANGUAGE_TYPE_JAVA:
+ default:
+ break;
+ }
} else {
switch (options->GetLanguage()) {
case tidl::Options::LANGUAGE_TYPE_C:
default:
break;
}
+ } else {
+ switch (options->GetLanguage()) {
+ case tidl::Options::LANGUAGE_TYPE_C:
+ case tidl::Options::LANGUAGE_TYPE_CPP:
+ case tidl::Options::LANGUAGE_TYPE_CSHARP:
+ case tidl::Options::LANGUAGE_TYPE_JAVA:
+ default:
+ break;
+ }
}
}
exit(1);
tidl::Parser ps(options->IsBetaEnabled(), options->IsCion(),
+ options->IsAitt(),
options->GetType() == tidl::Options::Type::TYPE_GROUP ? true : false);
std::string path(options->GetInput());
-h, --help Show help options
Additional Options:
- -l, --language=LANGUAGE Select generating language (C, C++, C#, Java(CION only)).
+ -l, --language=LANGUAGE Select generating language (C, C++, C#, Java(CION & AITT only)).
-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).
-b, --beta Use beta version (Support private file sharing).
-t, --thread Generate thread code (Stub only).
-c, --cion Generate CION code.
+ -a, --aitt Generate AITT code.
Application Options:
-p, --proxy Generate proxy code
-s, --stub Generate stub code
- -g, --group Generate group code (CION only)
+ -g, --group Generate group code (CION and AITT only)
-v, --version Show version information
)__option_cb";
}
{"beta", no_argument, NULL, 'b'},
{"thread", no_argument, NULL, 't'},
{"cion", no_argument, NULL, 'c'},
+ {"aitt", no_argument, NULL, 'a'},
{0, 0, 0, 0}
};
while (true) {
- int c = getopt_long(argc, argv, "tcbpsgvhl:i:o:nr", long_options,
+ int c = getopt_long(argc, argv, "tcbpsgvhal:i:o:nr", long_options,
&option_index);
if (c == -1)
break;
options->isCion_ = true;
break;
+ case 'a':
+ options->isAitt_ = true;
+ break;
+
default:
cmd[CMD_HELP] = 1;
}
return std::shared_ptr<Options>(nullptr);
}
+ if (options->isCion_ && options->isAitt_) {
+ std::cerr << "Only one of cion and aitt is allowed." << std::endl;
+ return std::shared_ptr<Options>(nullptr);
+ }
switch (static_cast<int>(options->type_)) {
case TYPE_UNKNOWN:
std::cerr <<
- "Stub or proxy or group (CION only) must be specified." << std::endl;
+ "Stub or proxy or group (CION & AITT only) must be specified." << std::endl;
options->PrintSample();
return std::shared_ptr<Options>(nullptr);
case TYPE_GROUP:
- if (!options->isCion_) {
+ if (!options->isCion_ && !options->isAitt_) {
std::cerr <<
- "Group is only allowed for the CION codes." << std::endl;
+ "Group is only allowed for the CION and AITT codes." << std::endl;
options->PrintSample();
return std::shared_ptr<Options>(nullptr);
}
switch (static_cast<int>(options->language_)) {
case LANGUAGE_TYPE_UNKNOWN:
std::cerr <<
- "Select a language (C, C++, C#, Java(CION only)).." << std::endl;
+ "Select a language (C, C++, C#, Java(CION & AITT only)).." << std::endl;
options->PrintSample();
return std::shared_ptr<Options>(nullptr);
case LANGUAGE_TYPE_JAVA:
- if (!options->isCion_) {
+ if (!options->isCion_ && !options->isAitt_) {
std::cerr <<
- "Java language is only allowed for the CION codes." << std::endl;
+ "Java language is only allowed for the CION and "
+ "AITT codes." << std::endl;
options->PrintSample();
return std::shared_ptr<Options>(nullptr);
}