diff options
Diffstat (limited to 'ACE/apps/FaCE/CE_Screen_Output.h')
-rw-r--r-- | ACE/apps/FaCE/CE_Screen_Output.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/ACE/apps/FaCE/CE_Screen_Output.h b/ACE/apps/FaCE/CE_Screen_Output.h new file mode 100644 index 00000000000..9f29c9cf30f --- /dev/null +++ b/ACE/apps/FaCE/CE_Screen_Output.h @@ -0,0 +1,97 @@ +/** + * @file CE_Screen_Output.h + * + * $Id$ + * + * @author Si Mong Park <spark@ociweb.com> + */ +//============================================================================= + +#ifndef CE_Screen_Output_h +#define CE_Screen_Output_h + +#include <windows.h> + +const wchar_t endl[] = L"\r\n"; +const wchar_t tab[] = L"\t"; + +/** + * @class CE_Screen_Output + * + * @brief Replacement of text output for Windows CE. + * + * This class allows standard text output to be displayed on + * text window for Windows CE. Generally, all ACE output will + * go through under CE if and only if user uses WindozeCE + * implementation by using main_ce instead of main. + * Also, for the easier debugging purpose, object pointer of + * this class can be gotten from ACE_Log_Msg::msg_callback() + * and then can be used directly by user just like cout stream. + */ +class CE_Screen_Output +{ +public: + /** + * Default Ctor + */ + CE_Screen_Output(); + + /** + * Default Dtor + */ + virtual ~CE_Screen_Output(); + + /** + * Interface to specify active window handle. + */ + void SetOutputWindow(HWND hWnd); + + /** + * Clears text screen. + */ + void clear(); + + /** + * << operator that performs actual print out. + * + * Note: This is the only one operator that performs + * output. All other perators convert the type and + * use this operator underneath. + */ + CE_Screen_Output& operator << (wchar_t*); + CE_Screen_Output& operator << (const wchar_t*); + + CE_Screen_Output& operator << (char* output); + CE_Screen_Output& operator << (const char* output); + + CE_Screen_Output& operator << (char output); + CE_Screen_Output& operator << (unsigned char output); + + CE_Screen_Output& operator << (unsigned short output); + + CE_Screen_Output& operator << (int output); + CE_Screen_Output& operator << (unsigned int output); + + CE_Screen_Output& operator << (float output); + + CE_Screen_Output& operator << (long output); + CE_Screen_Output& operator << (unsigned long output); + + CE_Screen_Output& operator << (FILE* pFile); + +private: + /** + * Copy Ctor + */ + CE_Screen_Output(CE_Screen_Output&); + + static HWND handler_; + + /** + * File pointer that used to save output to file. + * This class does not own the file handler pointer. + */ + FILE* pFile_; +}; + +#endif // CE_Screen_Output_h |