From 766386566f74bd7cfe65263ba52f1b58fc388d3b Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Thu, 13 Jun 2019 23:16:12 +0000 Subject: [PATCH] made ErrorGrab a template class --- qse/include/qse/cmn/ErrorGrab.hpp | 20 ++++++++++++-------- qse/include/qse/si/TcpServer.hpp | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/qse/include/qse/cmn/ErrorGrab.hpp b/qse/include/qse/cmn/ErrorGrab.hpp index 4b9c6a2f..ad1b671e 100644 --- a/qse/include/qse/cmn/ErrorGrab.hpp +++ b/qse/include/qse/cmn/ErrorGrab.hpp @@ -33,16 +33,17 @@ QSE_BEGIN_NAMESPACE(QSE) +template class QSE_EXPORT ErrorGrab { public: - ErrorGrab(): _errcode(Types::E_ENOERR) + ErrorGrab(): _errcode((ERRCODE)0) { this->_errmsg[0] = QSE_T('\0'); this->_errmsg_backup[0] = QSE_T('\0'); } - Types::ErrorCode getErrorCode () const QSE_CPP_NOEXCEPT { return this->_errcode; } + ERRCODE getErrorCode () const QSE_CPP_NOEXCEPT { return this->_errcode; } const qse_char_t* getErrorMsg () const QSE_CPP_NOEXCEPT { return this->_errmsg; } const qse_char_t* backupErrorMsg () QSE_CPP_NOEXCEPT @@ -51,13 +52,13 @@ public: return this->_errmsg_backup; } - void setErrorFmtv (Types::ErrorCode errcode, const qse_char_t* fmt, va_list ap) QSE_CPP_NOEXCEPT + void setErrorFmtv (ERRCODE errcode, const qse_char_t* fmt, va_list ap) QSE_CPP_NOEXCEPT { this->_errcode = errcode; qse_strxvfmt (this->_errmsg, QSE_COUNTOF(this->_errmsg), fmt, ap); } - void setErrorFmt (Types::ErrorCode errcode, const qse_char_t* fmt, ...) QSE_CPP_NOEXCEPT + void setErrorFmt (ERRCODE errcode, const qse_char_t* fmt, ...) QSE_CPP_NOEXCEPT { va_list ap; va_start (ap, fmt); @@ -65,14 +66,17 @@ public: va_end (ap); } - void setErrorCode (Types::ErrorCode errcode); + void setErrorCode (ERRCODE errcode); private: - Types::ErrorCode _errcode; - qse_char_t _errmsg_backup[256]; - qse_char_t _errmsg[256]; + ERRCODE _errcode; + qse_char_t _errmsg_backup[MSGSZ]; + qse_char_t _errmsg[MSGSZ]; }; +typedef ErrorGrab ErrorGrab128; +typedef ErrorGrab ErrorGrab256; + QSE_END_NAMESPACE(QSE) #endif diff --git a/qse/include/qse/si/TcpServer.hpp b/qse/include/qse/si/TcpServer.hpp index 2cea4005..8d3d0ccd 100644 --- a/qse/include/qse/si/TcpServer.hpp +++ b/qse/include/qse/si/TcpServer.hpp @@ -41,7 +41,7 @@ QSE_BEGIN_NAMESPACE(QSE) // The TcpServer class implements a simple block TCP server that start a thread // for each connection accepted. -class QSE_EXPORT TcpServer: public Uncopyable, public Mmged, public Types, public ErrorGrab +class QSE_EXPORT TcpServer: public Uncopyable, public Mmged, public Types, public ErrorGrab256 { public: TcpServer (Mmgr* mmgr = QSE_NULL) QSE_CPP_NOEXCEPT;