From c982291e5417f8acb4adbb0b23ac89b2e8aca352 Mon Sep 17 00:00:00 2001 From: qwerty2501 Date: Sat, 10 Mar 2012 23:45:55 +0900 Subject: [PATCH] =?utf8?q?=E8=A6=8B=E5=AF=BE=E5=BF=9C=E3=81=AE=E3=82=A8?= =?utf8?q?=E3=83=A9=E3=83=BC=E3=83=A1=E3=83=83=E3=82=BB=E3=83=BC=E3=82=B8?= =?utf8?q?=E5=AF=BE=E5=BF=9C=20=E8=A6=8B=E7=A2=BA=E8=AA=8DAPI=E3=82=A8?= =?utf8?q?=E3=83=A9=E3=83=BC=E7=99=BA=E7=94=9F=E6=99=82=E3=81=AE=E5=87=A6?= =?utf8?q?=E7=90=86=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- nlib/nlib.h | 8 +------- nlib/nlib_common.cpp | 10 ++++++++-- nlib/nlib_define.h | 3 ++- nlib/nlib_errorMessage.cpp | 4 ++++ nlib/nlib_nicoLive.cpp | 14 +++++++++++--- nlib/nlib_xmlHandler.cpp | 9 ++++++++- nlite.suo | Bin 200192 -> 200192 bytes 7 files changed, 34 insertions(+), 14 deletions(-) diff --git a/nlib/nlib.h b/nlib/nlib.h index d84b4eb..20b8444 100644 --- a/nlib/nlib.h +++ b/nlib/nlib.h @@ -235,9 +235,7 @@ public: } -#ifdef __cplusplus -extern "C" { -#endif + /// @@ -482,10 +480,6 @@ extern "C" { -#ifdef __cplusplus -} -#endif - #pragma comment(lib,"Wininet.lib") diff --git a/nlib/nlib_common.cpp b/nlib/nlib_common.cpp index fe44ffd..3a02236 100644 --- a/nlib/nlib_common.cpp +++ b/nlib/nlib_common.cpp @@ -228,9 +228,13 @@ static INLINE VOID Parser_Finalize(){ goto networkerr; } + try{ + rslt = XMLParse(userData,recvBuffer,startElementEvent,endElementEvent,characterDataEvent); + }catch (nlib::Exception &e){ - rslt = XMLParse(userData,recvBuffer,startElementEvent,endElementEvent,characterDataEvent); - + free(buffer); + throw e; + } if(rslt != NLIB_ERR_OK){ goto end; @@ -249,4 +253,6 @@ networkerr: rslt = NLIB_FAILED_CONNECT; goto end; + + } \ No newline at end of file diff --git a/nlib/nlib_define.h b/nlib/nlib_define.h index 6a7d47a..9228167 100644 --- a/nlib/nlib_define.h +++ b/nlib/nlib_define.h @@ -204,7 +204,8 @@ ///¶Žå‚Å‚Í‚È‚¢ #define NLIB_ERR_YOUARE_NOTOWNER ((NLIB_RESULT)43) - +///ƒ†[ƒU[•ú‘—‚ª–žˆõ +#define NLIB_ERR_GETPLAYERSTATUS_USERLIVESLOTFULL ((NLIB_RESULT)44) diff --git a/nlib/nlib_errorMessage.cpp b/nlib/nlib_errorMessage.cpp index f13ea46..1363dc0 100644 --- a/nlib/nlib_errorMessage.cpp +++ b/nlib/nlib_errorMessage.cpp @@ -143,6 +143,9 @@ DECLARE_NLIB_ERROR_MESSAGE(NLIB_ERR_STREAM_IS_NULL,TEXT(" ///NLIB_ERR_YOUARE_NOTOWNER DECLARE_NLIB_ERROR_MESSAGE(NLIB_ERR_YOUARE_NOTOWNER,TEXT("‚ ‚È‚½‚͐¶Žå‚Å‚Í‚ ‚è‚Ü‚¹‚ñ")); +///NLIB_ERR_GETPLAYERSTATUS_USERLIVESLOTFULL +DECLARE_NLIB_ERROR_MESSAGE(NLIB_ERR_GETPLAYERSTATUS_USERLIVESLOTFULL,TEXT("ƒ†[ƒU¶•ú‘—‚ª–žˆõ‚Å‚·")); + #define NLIB_ERRMESSAGE_TABLE_START(c) switch(c){ @@ -205,6 +208,7 @@ LPCTSTR NLIB_GetErrorMessage(NLIB_RESULT rsltCode){ NLIB_ERRMESSAGE_CASE(errmes,NLIB_HEARTBEAT_FAILED_CONNECT) NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_STREAM_IS_NULL) NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_YOUARE_NOTOWNER) + NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_USERLIVESLOTFULL) NLIB_ERRMESSAGE_TABLE_END() diff --git a/nlib/nlib_nicoLive.cpp b/nlib/nlib_nicoLive.cpp index da6a41b..728b185 100644 --- a/nlib/nlib_nicoLive.cpp +++ b/nlib/nlib_nicoLive.cpp @@ -542,14 +542,22 @@ NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVid } - + //ƒvƒŒƒCƒ„[ƒXƒe[ƒ^ƒXŽæ“¾ EnterCriticalSection(&self->sessionManager.cs); - rslt = GetPlayerStatus(&self->playerStatus,self->userSession,self->sessionManager.getPlayerStatusSession); - + try{ + rslt = GetPlayerStatus(&self->playerStatus,self->userSession,self->sessionManager.getPlayerStatusSession); + }catch (nlib::Exception &e){ + LeaveCriticalSection(&self->sessionManager.cs); + throw e; + } LeaveCriticalSection(&self->sessionManager.cs); + + + + if(rslt != NLIB_ERR_OK){ goto connecterr; diff --git a/nlib/nlib_xmlHandler.cpp b/nlib/nlib_xmlHandler.cpp index 7242d79..77acda0 100644 --- a/nlib/nlib_xmlHandler.cpp +++ b/nlib/nlib_xmlHandler.cpp @@ -167,8 +167,12 @@ static INLINE NLIB_RESULT convToResultCode(LPCTSTR pszData,UINT nLength){ rslt = NLIB_ERR_GETPLAYERSTATUS_BLOCK_NOW_COUNT_OVERFLOW; + }else if(_tcsncmp(pszData,TEXT("userliveslotfull"),nLength) == 0){ + + rslt = NLIB_ERR_GETPLAYERSTATUS_USERLIVESLOTFULL; + }else { - std::wstring errmessage(TEXT("Œ©Šm”F‚̃vƒŒƒCƒ„[ƒXƒe[ƒ^ƒXƒGƒ‰[:")); + std::wstring errmessage(TEXT("–¢Šm”F‚̃vƒŒƒCƒ„[ƒXƒe[ƒ^ƒXƒGƒ‰[:")); errmessage.append(pszData,nLength); rslt = NLIB_ERR_GETPLAYERSTATUS_UNDEFINED; throw nlib::Exception(errmessage.c_str(),__LINE__,TEXT(__FILE__),TEXT(__FILE__)); @@ -177,6 +181,9 @@ static INLINE NLIB_RESULT convToResultCode(LPCTSTR pszData,UINT nLength){ } + + + return rslt; } diff --git a/nlite.suo b/nlite.suo index 112c5d2940647dc5e3323fa78c8c44ae04b260f2..b55cc9e402e01f84adb958a28a2dab1c59165382 100644 GIT binary patch delta 184 zcmZpe!_zQ_XG0DPYs2P`yeFCqS+*ClFz#g(oNk=FCgEdh&Mu`iKC7!+A2CgCj1!(7 zv6)e0vVk~TdjlKe_69bl69z2Oj0_Bux5ltE=QURS+*ClFz#iXzD9{rWqQPBMvch^;%w~=Y>e9**qBZj zut+g7Fie)OQ=DwT!oI!4oau@jiv)^L7}Et_4r!o}5{hsN(|KV|Msc8+B$D{_k_smO h$%k1Cr+)!5rXQ|kGMrvg$rLd82$#Y3FO^I@Qvl25F4X`4 -- 2.11.0