To convert 'char' input/command line parameter to 'wchar_t'. More...
#include <Argv_Type_Converter.h>
Public Member Functions | |
ACE_Argv_Type_Converter (int &argc, char **argv) | |
~ACE_Argv_Type_Converter (void) | |
ACE_TCHAR ** | get_TCHAR_argv (void) |
Returns the pointer of converted command line. | |
char ** | get_ASCII_argv (void) |
Returns the pointer of ASCII (char) command line. | |
int & | get_argc (void) |
Returns the number of sub parameters (argc). | |
Private Member Functions | |
ACE_Argv_Type_Converter (const ACE_Argv_Type_Converter &) | |
Copy Constructor should not be used. | |
ACE_Argv_Type_Converter | operator= (const ACE_Argv_Type_Converter &) |
Assignment '=' operator should not be used. | |
Private Attributes | |
int & | saved_argc_ |
Original number of input parameter, same as 'argc'. | |
char ** | char_argv_ |
Data member pointer that contains converted argv in ACE_ANTI_TCHAR. |
To convert 'char' input/command line parameter to 'wchar_t'.
This class is to convert 'char' type command line parameter to wide-character (wchar_t) format and stores the copy of it. This is useful for all classes that use 'char**' argv but cannot be converted into 'ACE_TCHAR**' version. Note that the converted data will be lost upon destruction, so classes should use this class as their data member.
Definition at line 39 of file Argv_Type_Converter.h.
ACE_Argv_Type_Converter::ACE_Argv_Type_Converter | ( | int & | argc, | |
char ** | argv | |||
) |
ACE_Argv_Type_Converter::~ACE_Argv_Type_Converter | ( | void | ) |
Definition at line 56 of file Argv_Type_Converter.cpp.
{ #if defined (ACE_USES_WCHAR) // selectively delete the 'copy' of argv if (this->original_type_) { // if original type is wchar_t if (this->char_passed_) this->align_wchar_with_char (); for (int i = 0; i < this->before_pass_argc_; ++i) ACE_OS::free (this->char_argv_[i]); delete [] this->char_argv_; } else { // if original type is char if (this->wchar_passed_) this->align_char_with_wchar (); for (int i = 0; i < this->before_pass_argc_; ++i) ACE_OS::free (this->wchar_argv_[i]); delete [] this->wchar_argv_; } #endif // ACE_USES_WCHAR }
ACE_Argv_Type_Converter::ACE_Argv_Type_Converter | ( | const ACE_Argv_Type_Converter & | ) | [private] |
Copy Constructor should not be used.
int & ACE_Argv_Type_Converter::get_argc | ( | void | ) | [inline] |
Returns the number of sub parameters (argc).
Definition at line 39 of file Argv_Type_Converter.inl.
{ return this->saved_argc_; }
char ** ACE_Argv_Type_Converter::get_ASCII_argv | ( | void | ) | [inline] |
Returns the pointer of ASCII (char) command line.
Definition at line 24 of file Argv_Type_Converter.inl.
{ #if defined (ACE_USES_WCHAR) if (this->wchar_passed_) { this->align_char_with_wchar (); } this->char_passed_ = true; #endif // ACE_USES_WCHAR return this->char_argv_; }
ACE_TCHAR ** ACE_Argv_Type_Converter::get_TCHAR_argv | ( | void | ) | [inline] |
Returns the pointer of converted command line.
Definition at line 8 of file Argv_Type_Converter.inl.
{ #if defined (ACE_USES_WCHAR) if (this->char_passed_) { this->align_wchar_with_char (); } this->wchar_passed_ = true; return this->wchar_argv_; #else return this->char_argv_; #endif // ACE_USES_WCHAR }
ACE_Argv_Type_Converter ACE_Argv_Type_Converter::operator= | ( | const ACE_Argv_Type_Converter & | ) | [private] |
Assignment '=' operator should not be used.
char** ACE_Argv_Type_Converter::char_argv_ [private] |
Data member pointer that contains converted argv in ACE_ANTI_TCHAR.
Definition at line 90 of file Argv_Type_Converter.h.
int& ACE_Argv_Type_Converter::saved_argc_ [private] |
Original number of input parameter, same as 'argc'.
Definition at line 87 of file Argv_Type_Converter.h.