static VOID DebugOutputCommon(LPCWSTR szBuf,UINT mode,const struct tm* now){
- WCHAR logFileName[24];
+
+
LPWSTR logFileNameFormat = L"debug_%d-%d-%d.log";
- DWORD number;
+
#ifndef WINDEBUGER_NOTRACEING
#ifndef WINDEBUGER_NOPRINTING
if(mode & PRINTING__DEBUGER__){
+ DWORD number;
AllocConsole();
WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE),szBuf,wcslen(szBuf),&number,NULL);
#ifndef WINDEBUGER_NOLOGGING
if(mode & LOGGING__DEBUGER__){
-
+ WCHAR logFileName[24];
wsprintfW(logFileName,logFileNameFormat,now->tm_year + 1900,now->tm_mon + 1,now->tm_mday);
#pragma once
#include "targetver.h"
-#define _CRT_NON_CONFORMING_SWPRINTFS = 1
+#define _CRT_NON_CONFORMING_SWPRINTFS 1
+#define _CRT_SECURE_NO_WARNINGS 1
#define WIN32_LEAN_AND_MEAN // Windows \83w\83b\83_\81[\82©\82ç\8eg\97p\82³\82ê\82Ä\82¢\82È\82¢\95\94\95ª\82ð\8f\9c\8aO\82µ\82Ü\82·\81B
-
+#define WINDEBUGER_NOPRINTING //\83f\83o\83b\83O\8fo\97Í\82ð\83R\83\93\83\\81[\83\8b\82É\95\\8e¦\82µ\82½\82\82È\82¢\8fê\8d\87\92è\8b`\82·\82é
//windowsAPI\8aÖ\98A\83w\83b\83_
//\8c^\92è\8b`
//////////////////////////////////////////////////////////////////////////////////////////////////////
+
+
+
///
///nlib\82Ì\96ß\82è\92l\82Ì\8c^
///
///
-///\90¶\95ú\91\97\83X\83e\81[\83^\83X
+///\83j\83R\83j\83R\90¶\95ú\91\97\83X\83e\81[\83^\83X
///
-typedef struct streamstatus_t{
+typedef struct streamstatus_t *StreamStatus_P;
+
- WCHAR id[LENGTH_128];
- WCHAR default_community[LENGTH_128];
- PROVIDERTYPE provider_type;
- BOOL is_owner;
- time_t start_time;
- time_t end_time;
- time_t open_time;
- time_t base_time;
-}StreamStatus,*StreamStatus_P;
///
-///\83}\83C\83\8a\83X\83g\93®\89æ\83f\81[\83^
+///\83j\83R\83j\83R\93®\89æ\83}\83C\83\8a\83X\83g\83A\83C\83e\83\80\83I\83u\83W\83F\83N\83g
///
-typedef struct {
- WCHAR deleted[LENGTH_2048];
- time_t first_retrieve;
- WCHAR group_type[LENGTH_2048];
- WCHAR last_res_body[LENGTH_2048];
- WCHAR length_seconds[LENGTH_2048];
- WCHAR mylist_counter[LENGTH_2048];
- WCHAR num_res[LENGTH_2048];
- WCHAR thumbnail_url[LENGTH_2048];
- WCHAR title[LENGTH_2048];
- time_t update_time;
- WCHAR video_id[LENGTH_2048];
- WCHAR view_counter[LENGTH_2048];
- WCHAR watch_id[LENGTH_2048];
-}NicoItemData,*NicoItemData_P;
+typedef struct nicomylistitem_t *NicoMyListItem_P;
///
-///\83j\83R\83j\83R\93®\89æ\82¨\8bC\82É\93ü\82è\93®\89æ
+///\83j\83R\83j\83R\93®\89æ\83}\83C\83\8a\83X\83g\83A\83C\83e\83\80\83f\81[\83^\83I\83u\83W\83F\83N\83g
///
-typedef struct {
- time_t create_time;
- WCHAR description[LENGTH_2048];
- NicoItemData itemData;
- WCHAR item_id[LENGTH_2048];
- WCHAR item_type[LENGTH_2048];
- time_t update_time;
- UINT_PTR watch;
-
-
-}NicoMyListItem,*NicoMyListItem_P;
-
+typedef struct nicoitemdata_t *NicoItemData_P;
///
-///\83j\83R\83j\83R\93®\89æ\83}\83C\83\8a\83X\83g
+///\83j\83R\83j\83R\93®\89æ\82Ì\83}\83C\83\8a\83X\83g\83I\83u\83W\83F\83N\83g
///
-typedef struct {
- time_t create_time;
- WCHAR default_sort[LENGTH_256];
- WCHAR description[LENGTH_2048];
- WCHAR icon_id[LENGTH_256];
- WCHAR id[LENGTH_256];
- WCHAR name[LENGTH_2048];
- WCHAR publicType[LENGTH_256];
- WCHAR sort_order[LENGTH_256];
- time_t update_time;
- WCHAR user_id[LENGTH_256];
-
-}NicoMyList,*NicoMyList_P;
-
-
+typedef struct nicomylist_t *NicoMyList_P;
///
///\83j\83R\83j\83R\90¶\95ú\91\97\83C\83x\83\93\83g\83n\83\93\83h\83\89
typedef NLIB_RESULT (*NicoMyListGroupCallBack)(LPVOID option,NicoMyList_P pMyList);
-
-
-typedef UCHAR NICOLIVE_PREMIUM;
-typedef UCHAR NICOLIVE_ANONYMITY;
-
-
///
///\83j\83R\83j\83R\90¶\95ú\91\97\83`\83\83\83b\83g\83R\83\81\83\93\83g\8d\\91¢\91Ì
///
typedef struct{
- LPCWSTR premium;
- LPCWSTR anonymity;
- LPCWSTR thread;
- LPCWSTR no;
- LPCWSTR vpos;
- LPCWSTR date;
- LPCWSTR locale;
- LPCWSTR user_id;
- LPCWSTR name;
- LPCWSTR chatBuf;
- LPCWSTR* mail;
+ LPCTSTR premium;
+ LPCTSTR anonymity;
+ LPCTSTR thread;
+ LPCTSTR no;
+ LPCTSTR vpos;
+ LPCTSTR date;
+ LPCTSTR locale;
+ LPCTSTR user_id;
+ LPCTSTR name;
+ LPCTSTR chatBuf;
+ LPCTSTR* mail;
UINT_PTR mailCount;
}NicoLiveChat,*NicoLiveChat_P;
///\83j\83R\83j\83R\90¶\95ú\91\97\83X\83\8c\83b\83h\83R\83\81\83\93\83g\8d\\91¢\91Ì
///
typedef struct{
- LPCWSTR thread;
- LPCWSTR ticket;
- LPCWSTR last_res;
- LPCWSTR server_time;
+ LPCTSTR thread;
+ LPCTSTR ticket;
+ LPCTSTR last_res;
+ LPCTSTR server_time;
}NicoLiveThreadComment,*NicoLiveThreadComment_P;
///\83j\83R\83j\83R\90¶\95ú\91\97\91\97\90M\8c\8b\89Ê\83R\83\81\83\93\83g\8d\\91¢\91Ì
///
typedef struct{
- LPCWSTR status;
- LPCWSTR no;
- LPCWSTR thread;
+ LPCTSTR status;
+ LPCTSTR no;
+ LPCTSTR thread;
}NicoLiveSendResultComment,*NicoLiveSendResultComment_P;
UINT_PTR commentCount;
- LPCWSTR is_restrict;
+ LPCTSTR is_restrict;
- LPCWSTR ticket;
+ LPCTSTR ticket;
}NicoLiveHeartBeat,*NicoLiveHeartBeat_P;
///
NLIB_DECLSPEC VOID FinalizeNLIB();
+
+ ///
+ ///\83G\83\89\81[\83\81\83b\83Z\81[\83W\8eæ\93¾
+ ///
+ NLIB_DECLSPEC LPCTSTR NLIB_GetErrorMessage(NLIB_RESULT rsltCode);
+
//
//\83j\83R\83j\83R\90¶\95ú\91\97\8aÖ\98A\8aÖ\90\94
/////////////////////////////////////////////////////////////////////////////////////////////////////
///
///\8ew\92è\82µ\82½URL\82Ì\95ú\91\97\82É\90Ú\91±
///
- NLIB_DECLSPEC NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVideoAuth,LPCWSTR url,NicoRecvCallBack callback,LPVOID option);
+ NLIB_DECLSPEC NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVideoAuth,LPCTSTR url,NicoRecvCallBack callback,LPVOID option);
///
///
///\83R\83\81\83\93\83g\91\97\90M
///
- NLIB_DECLSPEC NLIB_RESULT NicoLiveStream_sendChat(NicoLiveStream_P self,LPCWSTR chatbuf,LPCWSTR *mail,LPCWSTR *extends);
+ NLIB_DECLSPEC NLIB_RESULT NicoLiveStream_sendChat(NicoLiveStream_P self,LPCTSTR chatbuf,LPCTSTR *mail,LPCTSTR *extends);
///
///\83n\81[\83g\83r\81[\83g\91\97\90M
///
NLIB_DECLSPEC NLIB_RESULT NicoLiveStream_sendHeartBeat(NicoLiveStream_P self);
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82ÌID\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC LPCTSTR StreamStatus_getId(StreamStatus_P self);
+
+
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83R\83~\83\85\83j\83e\83B\94Ô\8d\86\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC LPCTSTR StreamStatus_getDefaultCommunity(StreamStatus_P self);
+
+
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83v\83\8d\83o\83C\83_\83^\83C\83v\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC PROVIDERTYPE StreamStatus_getProviderType(StreamStatus_P self);
+
+
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83I\81[\83i\81[\83t\83\89\83O\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC BOOL StreamStatus_isOwner(StreamStatus_P self);
+
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8aJ\8en\8e\9e\8d\8f\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC time_t StreamStatus_getStartTime(StreamStatus_P self);
+
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8fI\97¹\8e\9e\8d\8f\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC time_t StreamStatus_getEndTime(StreamStatus_P self);
+
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8aJ\8fê\8e\9e\8d\8f\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC time_t StreamStatus_getOpenTime(StreamStatus_P self);
+
+ ///
+ ///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83x\81[\83X\8e\9e\8d\8f\82ð\8eæ\93¾
+ ///
+ NLIB_DECLSPEC time_t StreamStatus_getBaseTime(StreamStatus_P self);
//
//\83j\83R\83j\83R\93®\89æ\94F\8fØ\8aÖ\98A\8aÖ\90\94
///
///\83}\83C\83\8a\83X\83g\8eæ\93¾
///
- NLIB_DECLSPEC NLIB_RESULT NicoMyList_getMyList(NicoVideoAuth_P pAuth,LPCWSTR id,NicoMyListCallBack callback,LPVOID option);
+ NLIB_DECLSPEC NLIB_RESULT NicoMyList_getMyList(NicoVideoAuth_P pAuth,LPCTSTR id,NicoMyListCallBack callback,LPVOID option);
///
///\83}\83C\83\8a\83X\83g\83O\83\8b\81[\83v\8eæ\93¾
///
///\83}\83C\83\8a\83X\83g\93o\98^\8cÄ\82Ñ\8fo\82µ
///
- NLIB_DECLSPEC NLIB_RESULT NicoMyList_addItem(LPCWSTR video_id);
+ NLIB_DECLSPEC NLIB_RESULT NicoMyList_addItem(LPCTSTR video_id);
</ItemGroup>
<ItemGroup>
<ClCompile Include="nlib_common.c" />
+ <ClCompile Include="nlib_errorMessage.c" />
<ClCompile Include="nlib_myList.c" />
<ClCompile Include="nlib_nicoLive.c" />
<ClCompile Include="nlib_nicoVideoAuth.c" />
<ClCompile Include="stdAfx.c">
<Filter>ソース ファイル</Filter>
</ClCompile>
+ <ClCompile Include="nlib_errorMessage.c">
+ <Filter>ソース ファイル</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="nlib_xmlHandler.h">
HINTERNET hWatchLiveNicoConnect;
HINTERNET hNicoVideoConnect;
-WCHAR appDataPath[_MAX_PATH];
-WCHAR localAppDataPath[_MAX_PATH];
+TCHAR appDataPath[_MAX_PATH];
+TCHAR localAppDataPath[_MAX_PATH];
XML_Parser xmlParser;
static CRITICAL_SECTION playerStatusParserCs;
NLIB_RESULT InitializeNLIB(HINTERNET hInternet){
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
hHttpSession = hInternet;
if(hHttpSession == NULL){
- return NLIB_INITALIZE_FAILED_NETWORK;
+ rslt = NLIB_INITALIZE_FAILED_NETWORK;
+ goto end;
}
hWatchLiveNicoConnect = WinHttpConnect(hHttpSession,WTEXT(WATCH_LIVE_NICO_VIDEO_DOMEINNAME),INTERNET_DEFAULT_HTTP_PORT,0);
if(hHttpSession == NULL){
-
- return NLIB_INITALIZE_FAILED_NETWORK;
+ rslt = NLIB_INITALIZE_FAILED_NETWORK;
+ goto end;
}
hNicoVideoConnect = WinHttpConnect(hHttpSession,WWW_NICO_VIDEO_DOMEINNAME,INTERNET_DEFAULT_HTTP_PORT,0);
//\83p\81[\83T\82ð\8f\89\8aú\89»
Parser_Initialize();
- return NLIB_ERR_OK;
+ rslt = NLIB_ERR_OK;
+
+end:
+
+
+ return rslt;
}
VOID FinalizeNLIB(){
typedef struct nicovideoauth_t{
- WCHAR userSession[LENGTH_256];
+ TCHAR userSession[LENGTH_256];
}NicoVideoAuth;
///
///appData\83t\83H\83\8b\83_
///
-extern WCHAR appDataPath[];
+extern TCHAR appDataPath[];
///
///localAppDAta\83t\83H\83\8b\83_
///
-extern WCHAR localAppDataPath[];
+extern TCHAR localAppDataPath[];
///
///\83N\83b\83L\81[\8eæ\93¾\8e¸\94s
#define NLIB_ERR_COOKIE_FAILED ((NLIB_RESULT)1)
-///NLIB\8f\89\8aú\89»\83G\83\89\81[\81F\83l\83b\83g\83\8f\81[\83N\8f\89\8aú\89»\8e¸\94s
+///\83l\83b\83g\83\8f\81[\83N\8f\89\8aú\89»\8e¸\94s
#define NLIB_INITALIZE_FAILED_NETWORK ((NLIB_RESULT)2)
-///\93ü\97Í\82³\82ê\82½\95ú\91\97\94Ô\8d\86\82ª\94F\8e¯\82Å\82«\82È\82¢
-#define NLIB_LIVENO_FAILED_INPUT ((NLIB_RESULT)3)
+///\93ü\97Í\82³\82ê\82½\95ú\91\97\94Ô\8d\86\82ªNULL
+#define NLIB_LIVENO_IS_NULL ((NLIB_RESULT)3)
///\93ü\97Í\82³\82ê\82½\95ú\91\97\94Ô\8d\86\82ª\92·\82·\82¬\82é
#define NLIB_LIVENO_FAILED_TOOBIG ((NLIB_RESULT)4)
#define NLIB_ERR_GETPLAYERSTATUS_NOT_PERMITTED ((NLIB_RESULT)23)
///\83v\83\8c\83C\83\84\81[\83X\83e\81[\83^\83X\8eæ\93¾\83G\83\89\81[:require_accept_print_timeshift_ticket\82ª\94\90¶\82µ\82½
-#define NLIB_ERR_GETPLAYERSTATUS_NOT_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET ((NLIB_RESULT)24)
+#define NLIB_ERR_GETPLAYERSTATUS_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET ((NLIB_RESULT)24)
///\83v\83\8c\83C\83\84\81[\83X\83e\81[\83^\83X\8eæ\93¾\83G\83\89\81[:tsarchive\82ª\94\90¶\82µ\82½
#define NLIB_ERR_GETPLAYERSTATUS_TSARCHIVE ((NLIB_RESULT)25)
///\90¶\95ú\91\97\82É\90Ú\91±\82µ\82Ä\82¢\82È\82¢
-#define NLIB_ERR_NOT_CONNECT ((NLIB_RESULT)35)
+#define NLIB_ERR_NOT_LIVECONNECT ((NLIB_RESULT)35)
+
+///\83R\83\81\83\93\83g\91\97\90M\97p\82Ì\83|\83X\83g\83L\81[\8eæ\93¾\8e¸\94s
+#define NLIB_ERR_LIVE_GETPOSTKEY_FAILED ((NLIB_RESULT)36)
+
+///\83G\83\89\81[\83R\81[\83h\82ª\90Ý\92è\82³\82ê\82Ä\82¢\82È\82¢
+#define NLIB_ERR_CODE_NOTSET ((NLIB_RESULT)0xFFFFFFFF)
--- /dev/null
+#include "StdAfx.h"
+#include "nlib_include.h"
+
+
+//NLIB_ERR_OK
+static const LPCTSTR NLIB_ERR_OK_STRING =
+ TEXT("\83G\83\89\81[\82Í\94\90¶\82µ\82Ä\82¢\82Ü\82¹\82ñ");
+
+//NLIB_ERR_COOKIE_FAILED
+static const LPCTSTR NLIB_ERR_COOKIE_FAILED_STRING =
+ TEXT("\83N\83b\83L\81[\8eæ\93¾\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+
+//NLIB_INITALIZE_FAILED_NETWORK
+static const LPCTSTR NLIB_INITALIZE_FAILED_NETWORK_STRING=
+ TEXT("\83l\83b\83g\83\8f\81[\83N\82Ì\8f\89\8aú\89»\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+
+//NLIB_LIVENO_IS_NULL
+static const LPCTSTR NLIB_LIVENO_IS_NULL_STRING=
+ TEXT("\93ü\97Í\82³\82ê\82½\95ú\91\97\94Ô\8d\86\82ªNULL\92l\82Å\82·");
+
+//NLIB_LIVENO_FAILED_TOOBIG
+static const LPCTSTR NLIB_LIVENO_FAILED_TOOBIG_STRING=
+ TEXT("\93ü\97Í\82³\82ê\82½\95ú\91\97\94Ô\8d\86\82ª\92·\82·\82¬\82Ü\82·");
+
+//NLIB_LIVENO_FAILED_UNDEFEINE
+static const LPCTSTR NLIB_LIVENO_FAILED_UNDEFEINE_STRING=
+ TEXT("\93ü\97Í\82³\82ê\82½\95ú\91\97\94Ô\8d\86\82ª\90³\82µ\82\82 \82è\82Ü\82¹\82ñ");
+
+//NLIB_USERSESSION_FAILED_TOOBIG
+static const LPCTSTR NLIB_USERSESSION_FAILED_TOOBIG_STRING=
+ TEXT("\83\86\81[\83U\81[\83Z\83b\83V\83\87\83\93\82Ì\95¶\8e\9a\97ñ\82ª\92·\82·\82¬\82Ü\82·");
+
+//NLIB_GETPLAYERSTATUS_FAILED_CONNECT
+static const LPCTSTR NLIB_GETPLAYERSTATUS_FAILED_CONNECT_STRING=
+ TEXT("\83v\83\8c\83C\83\84\81[\83X\83e\81[\83^\83X\82Ì\90Ú\91±\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_INVALID_LV
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_INVALID_LV_STRING=
+ TEXT("\96³\8cø\82È\95ú\91\97\94Ô\8d\86\82Å\82·");
+
+//NLIB_ERR_GETPLAYERSTATUS_INVALID_THREAD
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_INVALID_THREAD_STRING=
+ TEXT("\95ú\91\97\83X\83\8c\83b\83h\82ª\8c©\82Â\82©\82è\82Ü\82¹\82ñ\82Å\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_CLOSED
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_CLOSED_STRING=
+ TEXT("\95ú\91\97\82ª\8fI\97¹\82µ\82Ä\82¢\82Ü\82·");
+
+//NLIB_ERR_GETPLAYERSTATUS_UNKNOWN_ERROR
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_UNKNOWN_ERROR_STRING=
+ TEXT("\95ú\91\97\90Ú\91±\92\86\82É\95s\96¾\82È\83G\83\89\81[\82ª\94\90¶\82µ\82Ü\82µ\82½:unknown_error");
+
+//NLIB_ERR_GETPLAYERSTATUS_SERVER_ERROR
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_SERVER_ERROR_STRING=
+ TEXT("\95ú\91\97\83T\81[\83o\81[\90Ú\91±\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_DELETED
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_DELETED_STRING=
+ TEXT("\95ú\91\97\82ª\8dí\8f\9c\82³\82ê\82Ä\82¢\82Ü\82·");
+
+//NLIB_ERR_GETPLAYERSTATUS_FULL
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_FULL_STRING=
+ TEXT("\96\9e\88õ\82Ì\82½\82ß\90Ú\91±\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_PERMISSION_DENIED
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_PERMISSION_DENIED_STRING =
+ TEXT("\95ú\91\97\82É\90Ú\91±\82·\82é\8c \8cÀ\82ª\82 \82è\82Ü\82¹\82ñ");
+
+//NLIB_ERR_GETPLAYERSTATUS_ACCESS_LOCKED
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_ACCESS_LOCKED_STRING=
+ TEXT("\95ú\91\97\82ª\83\8d\83b\83N\82³\82ê\82Ä\82¢\82Ä\90Ú\91±\82Å\82«\82Ü\82¹\82ñ");
+
+//NLIB_ERR_GETPLAYERSTATUS_REQUIRE_COMMUNITY_MEMBER
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_REQUIRE_COMMUNITY_MEMBER_STRING=
+ TEXT("\83R\83~\83\85\83j\83e\83B\8cÀ\92è\95ú\91\97\82Ì\82½\82ß\90Ú\91±\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_COMINGSOON
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_COMINGSOON_STRING=
+ TEXT("\95ú\91\97\82ª\8aJ\8fê\82³\82ê\82Ä\82¢\82È\82¢\82½\82ß\90Ú\91±\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_NOTFOUND
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_NOTFOUND_STRING=
+ TEXT("\95ú\91\97\82ª\8c©\82Â\82©\82è\82Ü\82¹\82ñ\82Å\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_NOTLOGIN
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_NOTLOGIN_STRING=
+ TEXT("\83\8d\83O\83C\83\93\82µ\82Ä\82¢\82È\82¢\82½\82ß\95ú\91\97\82É\90Ú\91±\82Å\82«\82Ü\82¹\82ñ");
+
+//NLIB_ERR_GETPLAYERSTATUS_UNKNOWN
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_UNKNOWN_STRING=
+ TEXT("\95ú\91\97\90Ú\91±\92\86\82É\95s\96¾\82È\83G\83\89\81[\82ª\94\90¶\82µ\82Ü\82µ\82½:unknown");
+
+//NLIB_ERR_GETPLAYERSTATUS_MAINTENANCE
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_MAINTENANCE_STRING=
+ TEXT("\83\81\83\93\83e\83i\83\93\83X\92\86\82Å\82·");
+
+//NLIB_ERR_GETPLAYERSTATUS_NOT_PERMITTED
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_NOT_PERMITTED_STRING=
+ TEXT("\8fI\97¹\82µ\82½\95ú\91\97\82©\81A\8cÃ\82¢\95ú\91\97\81A\82 \82é\82¢\82ÍBAN\82³\82ê\82Ä\82¢\82Ü\82·");
+
+//NLIB_ERR_GETPLAYERSTATUS_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET_STRING=
+ TEXT("\83^\83C\83\80\83V\83t\83g\82Ì\8e\8b\92®\8c \97\98\82ª\82 \82è\82Ü\82¹\82ñ");
+
+//NLIB_ERR_GETPLAYERSTATUS_TSARCHIVE
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_TSARCHIVE_STRING=
+ TEXT("\97L\97¿\95ú\91\97\82Ì\83A\81[\83J\83C\83u\8e\8b\92®\8c \97\98\82ª\82È\82¢\82½\82ß\90Ú\91±\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½");
+
+//NLIB_ERR_GETPLAYERSTATUS_USERTIMESHIFT
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_USERTIMESHIFT_STRING=
+ TEXT("\83R\83~\83\85\83j\83e\83B\82É\8eQ\89Á\82µ\82Ä\82¢\82È\82¢\82½\82ß\83^\83C\83\80\83V\83t\83g\82ð\8e\8b\92®\82·\82é\82±\82Æ\82ª\82Å\82«\82Ü\82¹\82ñ");
+
+//NLIB_ERR_GETPLAYERSTATUS_UNDEFINED
+static const LPCTSTR NLIB_ERR_GETPLAYERSTATUS_UNDEFINED_STRING=
+ TEXT("\83A\83v\83\8a\83P\81[\83V\83\87\83\93\93à\82Å\92è\8b`\82³\82ê\82Ä\82È\82¢\83G\83\89\81[\82ª\94\90¶\82µ\82Ü\82µ\82½");
+
+//NLIB_ERR_WATCHLIVENICOVIDEO_FAILED_CONNECT
+static const LPCTSTR NLIB_ERR_WATCHLIVENICOVIDEO_FAILED_CONNECT_STRING=
+ TEXT("\83j\83R\90¶\82Ì\83T\81[\83o\81[\90Ú\91±\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+
+//NLIB_ERR_BUFFER_TOOLITTLE
+static const LPCTSTR NLIB_ERR_BUFFER_TOOLITTLE_STRING=
+ TEXT("\93à\95\94\82Å\8am\95Û\82³\82ê\82½\83o\83b\83t\83@\82ª\91«\82è\82Ü\82¹\82ñ");
+
+//NLIB_ERR_FAILED_NETWORK
+static const LPCTSTR NLIB_ERR_FAILED_NETWORK_STRING=
+ TEXT("\83l\83b\83g\83\8f\81[\83N\82É\89½\82ç\82©\82Ì\88Ù\8fí\82ª\94\90¶\82µ\82Ü\82µ\82½");
+
+//NLIB_ERR_PLAYERSTATUS_ERROR
+static const LPCTSTR NLIB_ERR_PLAYERSTATUS_ERROR_STRING=
+ TEXT("\8eæ\93¾\82µ\82½\83v\83\8c\83C\83\84\81[\83X\83e\81[\83^\83X\82ª\83G\83\89\81[\82Å\82·");
+
+//NLIB_ERR_HEARTBEAT_ERROR
+static const LPCTSTR NLIB_ERR_HEARTBEAT_ERROR_STRING=
+ TEXT("\8eæ\93¾\82µ\82½\83n\81[\83g\83r\81[\83g\82ª\83G\83\89\81[\82Å\82·");
+
+//NLIB_ERR_JSON_PARSE
+static const LPCTSTR NLIB_ERR_JSON_PARSE_STRING=
+ TEXT("json\89ð\90Í\92\86\82É\83G\83\89\81[\82ª\94\90¶\82µ\82Ü\82µ\82½");
+
+//NLIB_ERR_SHELL_FAILED
+static const LPCTSTR NLIB_ERR_SHELL_FAILED_STRING=
+ TEXT("shell\83R\83}\83\93\83h\8eÀ\8ds\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+
+//NLIB_ERR_NOT_LIVECONNECT
+static const LPCTSTR NLIB_ERR_NOT_LIVECONNECT_STRING=
+ TEXT("\90¶\95ú\91\97\82É\90Ú\91±\82µ\82Ä\82¢\82Ü\82¹\82ñ");
+
+//NLIB_ERR_LIVE_GETPOSTKEY_FAILED
+static const LPCTSTR NLIB_ERR_LIVE_GETPOSTKEY_FAILED_STRING=
+ TEXT("\83R\83\81\83\93\83g\91\97\90M\97p\82Ì\83|\83X\83g\83L\81[\8eæ\93¾\82É\8e¸\94s\82µ\82Ü\82µ\82½");
+
+
+//NLIB_ERR_CODE_NOTSET
+static const LPCTSTR NLIB_ERR_CODE_NOTSET_STRING=
+ TEXT("\83G\83\89\81[\83R\81[\83h\82ª\90Ý\92è\82³\82ê\82Ä\82¢\82Ü\82¹\82ñ\81B\83\89\83C\83u\83\89\83\8a\82Ì\8eÀ\91\95\82É\89½\82ç\82©\82Ì\96â\91è\82ª\82 \82é\82Ì\82Å\8aJ\94\8eÒ\82É\95ñ\8d\90\82µ\82Ä\82\82¾\82³\82¢");
+
+#define NLIB_ERRMESSAGE_TABLE_START(c) switch(c){
+
+
+#define NLIB_ERRMESSAGE_CASE(m,c)\
+case c:{\
+ m = c##_STRING;\
+ break;\
+}
+
+#define NLIB_ERRMESSAGE_TABLE_END() }
+
+LPCTSTR NLIB_GetErrorMessage(NLIB_RESULT rsltCode){
+
+ static const LPCTSTR INI_ERRMES = TEXT("");
+ LPCTSTR errmes = INI_ERRMES;
+
+ NLIB_ERRMESSAGE_TABLE_START(rsltCode)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_OK)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_COOKIE_FAILED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_INITALIZE_FAILED_NETWORK)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_LIVENO_IS_NULL)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_LIVENO_FAILED_TOOBIG)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_LIVENO_FAILED_UNDEFEINE)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_USERSESSION_FAILED_TOOBIG)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_GETPLAYERSTATUS_FAILED_CONNECT)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_INVALID_LV)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_INVALID_THREAD)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_CLOSED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_UNKNOWN_ERROR)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_SERVER_ERROR)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_DELETED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_FULL)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_PERMISSION_DENIED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_ACCESS_LOCKED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_REQUIRE_COMMUNITY_MEMBER)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_COMINGSOON)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_NOTFOUND)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_NOTLOGIN)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_UNKNOWN)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_MAINTENANCE)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_NOT_PERMITTED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_TSARCHIVE)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_USERTIMESHIFT)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_GETPLAYERSTATUS_UNDEFINED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_WATCHLIVENICOVIDEO_FAILED_CONNECT)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_BUFFER_TOOLITTLE)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_FAILED_NETWORK)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_PLAYERSTATUS_ERROR)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_HEARTBEAT_ERROR)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_JSON_PARSE)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_SHELL_FAILED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_NOT_LIVECONNECT)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_LIVE_GETPOSTKEY_FAILED)
+ NLIB_ERRMESSAGE_CASE(errmes,NLIB_ERR_CODE_NOTSET)
+ NLIB_ERRMESSAGE_TABLE_END()
+
+
+
+ return errmes;
+}
\ No newline at end of file
///
///\83}\83C\83\8a\83X\83g\88ê\97\97\8eæ\93¾\8b¤\92Ê\8f\88\97\9d
///
-static NLIB_RESULT NicoMyList_getMyListInternal(NicoVideoAuth_P pAuth,LPCWSTR objectName,NicoMyListCallBack callback,LPVOID option);
+static NLIB_RESULT NicoMyList_getMyListInternal(NicoVideoAuth_P pAuth,LPCTSTR objectName,NicoMyListCallBack callback,LPVOID option);
-static NLIB_RESULT NicoMyList_common(NicoVideoAuth_P pAuth,LPCWSTR objectName,JSONStructEventHandler structHandler,JSONDataEventHandler dataHandler,JSONStructEndEventHandler endHandler,LPVOID item);
+static NLIB_RESULT NicoMyList_common(NicoVideoAuth_P pAuth,LPCTSTR objectName,JSONStructEventHandler structHandler,JSONDataEventHandler dataHandler,JSONStructEndEventHandler endHandler,LPVOID item);
static NicoMyListItem_P NicoMyListItem_new();
-static NLIB_RESULT jsonStrCpy(LPWSTR buf,LPCWSTR in,SIZE_T size);
+static NLIB_RESULT jsonStrCpy(LPTSTR buf,LPCTSTR in,SIZE_T size);
//
#define jsonToArray(arr,in) jsonStrCpy((arr),(in),sizeof(arr) / sizeof(arr[0]))
-#define jsonDataDecimal(nmc,dt) if((valueType) == JSONTypeDecimal && wcscmp((name),(nmc)) == 0){(dt) = wcstoul((LPCWSTR)param,NULL,10);goto jsondataend;}
-#define jsonDataString(nmc,dt,err) if((valueType) == JSONTypeString && wcscmp((name),(nmc)) == 0){(err) = jsonToArray((dt),(LPCWSTR)param);goto jsondataend;}
+#define jsonDataDecimal(nmc,dt) if((valueType) == JSONTypeDecimal && wcscmp((name),(nmc)) == 0){(dt) = wcstoul((LPCTSTR)param,NULL,10);goto jsondataend;}
+#define jsonDataString(nmc,dt,err) if((valueType) == JSONTypeString && wcscmp((name),(nmc)) == 0){(err) = jsonToArray((dt),(LPCTSTR)param);goto jsondataend;}
///
NLIB_RESULT NicoMyList_getDefList(NicoVideoAuth_P pAuth,NicoMyListCallBack callback,LPVOID option){
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
-
- NLIB_RESULT rslt = NicoMyList_getMyListInternal(pAuth,L"api/deflist/list",callback,option);
+ rslt = NicoMyList_getMyListInternal(pAuth,L"api/deflist/list",callback,option);
return rslt;
}
-NLIB_DECLSPEC NLIB_RESULT NicoMyList_getMyList(NicoVideoAuth_P pAuth,LPCWSTR id,NicoMyListCallBack callback,LPVOID option){
+NLIB_DECLSPEC NLIB_RESULT NicoMyList_getMyList(NicoVideoAuth_P pAuth,LPCTSTR id,NicoMyListCallBack callback,LPVOID option){
- WCHAR objectName[LENGTH_512];
- NLIB_RESULT rslt = NLIB_ERR_OK;
+ TCHAR objectName[LENGTH_512];
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
if(wcslen(id) > ARRAY_LENGTH(objectName) / 2){
return NLIB_ERR_BUFFER_TOOLITTLE;
}
}
-static NLIB_RESULT NicoMyList_getMyListInternal(NicoVideoAuth_P pAuth,LPCWSTR objectName,NicoMyListCallBack callback,LPVOID option){
- NLIB_RESULT rslt = NLIB_ERR_OK;
+static NLIB_RESULT NicoMyList_getMyListInternal(NicoVideoAuth_P pAuth,LPCTSTR objectName,NicoMyListCallBack callback,LPVOID option){
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
NicoMyListItemContainer itemContainer;
ZeroMemory(&itemContainer,sizeof(itemContainer));
itemContainer.callBack = callback;
NLIB_DECLSPEC NLIB_RESULT NicoMyList_getMyListGroup(NicoVideoAuth_P pAuth,NicoMyListGroupCallBack callback,LPVOID option){
- NLIB_RESULT rslt = NLIB_ERR_OK;
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
NicoMyListContainer listContainer;
ZeroMemory(&listContainer,sizeof(listContainer));
listContainer.callBack = callback;
NicoMyList_delete(&listContainer.pMyList);
return rslt;
}
-NLIB_DECLSPEC NLIB_RESULT NicoMyList_addItem(LPCWSTR video_id){
+NLIB_DECLSPEC NLIB_RESULT NicoMyList_addItem(LPCTSTR video_id){
- NLIB_RESULT rslt = NLIB_ERR_OK;
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
- WCHAR addApi[LENGTH_512] = {L"http://www.nicovideo.jp/mylist_add/video/"};
+ TCHAR addApi[LENGTH_512] = {L"http://www.nicovideo.jp/mylist_add/video/"};
if(wcslen(video_id) > ARRAY_LENGTH(addApi) /2){
goto buffererr;
goto shellerr;
}
+ rslt = NLIB_ERR_OK;
end:
//\83v\83\89\83C\83x\81[\83g\8aÖ\90\94
//
-static NLIB_RESULT NicoMyList_common(NicoVideoAuth_P pAuth,LPCWSTR objectName,JSONStructEventHandler structHandler,JSONDataEventHandler dataHandler,JSONStructEndEventHandler endHandler,LPVOID item){
+static NLIB_RESULT NicoMyList_common(NicoVideoAuth_P pAuth,LPCTSTR objectName,JSONStructEventHandler structHandler,JSONDataEventHandler dataHandler,JSONStructEndEventHandler endHandler,LPVOID item){
//\95Ï\90\94\90é\8c¾\81A\8f\89\8aú\89»
- NLIB_RESULT rslt = NLIB_ERR_OK;
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
//HINTERNET hNicoVideoSession = NULL;
HINTERNET hrequest = NULL;
- WCHAR sendBuffer[LENGTH_512] = {L"Cookie: "};
+ TCHAR sendBuffer[LENGTH_512] = {L"Cookie: "};
JSONParser_P jsonParser = JSONParser_new();
wcscat(sendBuffer,pAuth->userSession);
//hNicoVideoSession = WinHttpConnect(hHttpSession,WWW_NICO_VIDEO_DOMEINNAME,INTERNET_DEFAULT_HTTP_PORT,0);
- hrequest = WinHttpOpenRequest(hNicoVideoConnect,L"GET",objectName,L"1.1",(LPCWSTR)WINHTTP_NO_REFERER,(LPCWSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
+ hrequest = WinHttpOpenRequest(hNicoVideoConnect,L"GET",objectName,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
if(hrequest == NULL){
goto networkerr;
}
}
+ rslt = NLIB_ERR_OK;
+
end:
free(readBuffer);
JSONParser_delete(&jsonParser);
if(valueType == JSONTypeDecimal && wcscmp(name,L"create_time") == 0){
- self->pitem->create_time = wcstoul((LPCWSTR)param,NULL,10);
+ self->pitem->create_time = wcstoul((LPCTSTR)param,NULL,10);
} else if(valueType == JSONTypeString && wcscmp(name,L"description") == 0){
- self->container.errcode = jsonToArray(self->pitem->description,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->description,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"item_id") == 0){
- self->container.errcode = jsonToArray(self->pitem->item_id,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->item_id,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"item_type") == 0){
- self->container.errcode = jsonToArray(self->pitem->item_type,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->item_type,(LPCTSTR)param);
} else if(valueType == JSONTypeDecimal && wcscmp(name,L"update_time") == 0){
- self->pitem->update_time = wcstoul((LPCWSTR)param,NULL,10);
+ self->pitem->update_time = wcstoul((LPCTSTR)param,NULL,10);
} else if(valueType == JSONTypeDecimal && wcscmp(name,L"watch") == 0){
- self->pitem->watch = wcstoul((LPCWSTR)param,NULL,10);
+ self->pitem->watch = wcstoul((LPCTSTR)param,NULL,10);
}
break;
if(valueType == JSONTypeString && wcscmp(name,L"deleted") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.deleted,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.deleted,(LPCTSTR)param);
} else if(valueType == JSONTypeDecimal && wcscmp(name,L"first_retrieve") == 0){
- self->pitem->itemData.first_retrieve = wcstoul((LPCWSTR)param,NULL,10);
+ self->pitem->itemData.first_retrieve = wcstoul((LPCTSTR)param,NULL,10);
} else if(valueType == JSONTypeString && wcscmp(name,L"group_type") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.group_type,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.group_type,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"last_res_body") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.last_res_body,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.last_res_body,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"length_seconds") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.length_seconds,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.length_seconds,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"mylist_counter") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.mylist_counter,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.mylist_counter,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"num_res") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.num_res,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.num_res,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"thumbnail_url") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.thumbnail_url,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.thumbnail_url,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"title") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.title,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.title,(LPCTSTR)param);
} else if(valueType == JSONTypeDecimal && wcscmp(name,L"update_time") == 0){
- self->pitem->itemData.update_time = wcstoul((LPCWSTR)param,NULL,10);
+ self->pitem->itemData.update_time = wcstoul((LPCTSTR)param,NULL,10);
} else if(valueType == JSONTypeString && wcscmp(name,L"video_id") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.video_id,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.video_id,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"view_counter") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.view_counter,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.view_counter,(LPCTSTR)param);
} else if(valueType == JSONTypeString && wcscmp(name,L"watch_id") == 0){
- self->container.errcode = jsonToArray(self->pitem->itemData.watch_id,(LPCWSTR)param);
+ self->container.errcode = jsonToArray(self->pitem->itemData.watch_id,(LPCTSTR)param);
}
return;
}
-static NLIB_RESULT jsonStrCpy(LPWSTR buf,LPCWSTR in,SIZE_T size){
+static NLIB_RESULT jsonStrCpy(LPTSTR buf,LPCTSTR in,SIZE_T size){
NLIB_RESULT rslt = NLIB_ERR_OK;
}
return rslt;
-}
\ No newline at end of file
+}
+
+
+
+
+
#pragma once
+
+
+///
+///\83}\83C\83\8a\83X\83g\93®\89æ\83f\81[\83^
+///
+typedef struct nicoitemdata_t{
+ TCHAR deleted[LENGTH_2048];
+ time_t first_retrieve;
+ TCHAR group_type[LENGTH_2048];
+ TCHAR last_res_body[LENGTH_2048];
+ TCHAR length_seconds[LENGTH_2048];
+ TCHAR mylist_counter[LENGTH_2048];
+ TCHAR num_res[LENGTH_2048];
+ TCHAR thumbnail_url[LENGTH_2048];
+ TCHAR title[LENGTH_2048];
+ time_t update_time;
+ TCHAR video_id[LENGTH_2048];
+ TCHAR view_counter[LENGTH_2048];
+ TCHAR watch_id[LENGTH_2048];
+}NicoItemData,*NicoItemData_P;
+
+///
+///\83j\83R\83j\83R\93®\89æ\82¨\8bC\82É\93ü\82è\93®\89æ
+///
+typedef struct nicomylistitem_t{
+ time_t create_time;
+ TCHAR description[LENGTH_2048];
+ NicoItemData itemData;
+ TCHAR item_id[LENGTH_2048];
+ TCHAR item_type[LENGTH_2048];
+ time_t update_time;
+ UINT_PTR watch;
+}NicoMyListItem,*NicoMyListItem_P;
+
+
+///
+///\83j\83R\83j\83R\93®\89æ\83}\83C\83\8a\83X\83g
+///
+typedef struct nicomylist_t{
+ time_t create_time;
+ TCHAR default_sort[LENGTH_256];
+ TCHAR description[LENGTH_2048];
+ TCHAR icon_id[LENGTH_256];
+ TCHAR id[LENGTH_256];
+ TCHAR name[LENGTH_2048];
+ TCHAR publicType[LENGTH_256];
+ TCHAR sort_order[LENGTH_256];
+ time_t update_time;
+ TCHAR user_id[LENGTH_256];
+
+}NicoMyList,*NicoMyList_P;
\ No newline at end of file
///
///\83v\83\8c\83C\83\84\81[\83X\83e\81[\83^\83X\8eæ\93¾
///
-static INLINE NLIB_RESULT GetPlayerStatus(NicoLivePlayerStatus_P pPlayerStatus,LPCWSTR userSession,HINTERNET hConnect,LPVOID buffer);
+static INLINE NLIB_RESULT GetPlayerStatus(NicoLivePlayerStatus_P pPlayerStatus,LPCTSTR userSession,HINTERNET hConnect,LPVOID buffer);
///
///nicoLiveHistory\8eæ\93¾
///
///\83R\83\81\83\93\83g\89ð\90Í\8aÖ\90\94
///
-static VOID NicoLiveParseComment(NicoLiveStream_P self,LPWSTR commentBuf,UINT_PTR endSize,LPWSTR* mailCountBuf,SIZE_T* mailCountBufSize,SIZE_T* commentBufSize);
+static VOID NicoLiveParseComment(NicoLiveStream_P self,LPTSTR commentBuf,UINT_PTR endSize,LPTSTR* mailCountBuf,SIZE_T* mailCountBufSize,SIZE_T* commentBufSize);
static void NicoLiveError(void *buf);
///
///\83\\83P\83b\83g\8eæ\93¾\8aÖ\90\94
///
-static INLINE SOCKET GetConectedSocket(LPCWSTR nordName,LPCWSTR port,int socktype,int addr_famiry,int protocol);
+static INLINE SOCKET GetConectedSocket(LPCTSTR nordName,LPCTSTR port,int socktype,int addr_famiry,int protocol);
StreamStatus_P NicoLiveStream_getStreamStatus(NicoLiveStream_P self){
//\83n\81[\83g\83r\81[\83g\83R\83\93\83e\83i\8f\89\8aú\89»
ZeroMemory(&heartBeatContainer,sizeof(heartBeatContainer));
- heartBeatContainer.is_restrictSize = sizeof(WCHAR) * LENGTH_1024;
- heartBeatContainer.is_restrictBuff = (LPWSTR)calloc(1,heartBeatContainer.is_restrictSize);
+ heartBeatContainer.is_restrictSize = sizeof(TCHAR) * LENGTH_1024;
+ heartBeatContainer.is_restrictBuff = (LPTSTR)calloc(1,heartBeatContainer.is_restrictSize);
heartBeatContainer.heartBeat.is_restrict = heartBeatContainer.is_restrictBuff;
- heartBeatContainer.ticketSize = sizeof(WCHAR) * LENGTH_1024;
- heartBeatContainer.ticketBuff = (LPWSTR)calloc(1,heartBeatContainer.ticketSize);
+ heartBeatContainer.ticketSize = sizeof(TCHAR) * LENGTH_1024;
+ heartBeatContainer.ticketBuff = (LPTSTR)calloc(1,heartBeatContainer.ticketSize);
heartBeatContainer.heartBeat.ticket = heartBeatContainer.ticketBuff;
InitializeCriticalSection(&heartBeatCs);
return (-1) * self->res_from;
}
-NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVideoAuth,LPCWSTR url,NicoRecvCallBack callback,LPVOID option){
+NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVideoAuth,LPCTSTR url,NicoRecvCallBack callback,LPVOID option){
#define NICOLIVE_CONNECTIONSTREAM_COOKIE_COUNT 1
#define LIVENO_LENGTH LENGTH_NICOLIVEID
- NLIB_RESULT rslt = NLIB_ERR_OK;
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
//url\82©\82ç\90Ú\91±\94Ô\8d\86\82ð\92\8a\8fo
- LPCWSTR pInputLiveNo = url;
- LPCWSTR psrech = wcsstr(url,L"http://");
- LPCWSTR pInputLiveNoEnd;
- WCHAR liveNo[LIVENO_LENGTH] = {0};
+ LPCTSTR pInputLiveNo = url;
+ LPCTSTR psrech = wcsstr(url,L"http://");
+ LPCTSTR pInputLiveNoEnd;
+ TCHAR liveNo[LIVENO_LENGTH] = {0};
if(self == NULL)goto end;
if(pInputLiveNo == NULL){
- rslt = NLIB_LIVENO_FAILED_INPUT;
+ rslt = NLIB_LIVENO_IS_NULL;
goto end;
}else if(pInputLiveNoEnd - pInputLiveNo + 2 >= LIVENO_LENGTH - 1){
{
- WCHAR objectName[LENGTH_256] = {L"api/getplayerstatus?v="};
+ TCHAR objectName[LENGTH_256] = {L"api/getplayerstatus?v="};
wcsncat(objectName,liveNo,sizeof(objectName) / sizeof(objectName[0]));
- self->sessionManager.getPlayerStatusSession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",objectName,L"1.1",(LPCWSTR)WINHTTP_NO_REFERER,(LPCWSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
+ self->sessionManager.getPlayerStatusSession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",objectName,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
}
//\83v\83\8c\83C\83\84\81[\83X\83e\81[\83^\83X\8eæ\93¾
self->isConnecting = TRUE;
+
+ rslt = NLIB_ERR_OK;
//nicoLiveHistory\82ð\8eæ\93¾(\95K\97v\82È\82µ\81H)
//GetNicoLiveHistory(self,hWatchLiveNicVideo);
NLIB_RESULT NicoLiveStream_sendHeartBeat(NicoLiveStream_P self){
- NLIB_RESULT rslt = NLIB_ERR_OK;
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
if(self->isConnecting == FALSE){
- rslt = NLIB_ERR_NOT_CONNECT;
+ rslt = NLIB_ERR_NOT_LIVECONNECT;
goto end;
}
if(self == NULL || self->playerStatus.error != NLIB_ERR_OK){
const UINT_PTR buflen = LENGTH_65536;
LPVOID buffer = self->sessionManager.buffer;
- LPWSTR objectName = (LPWSTR)buffer;
- LPWSTR indexPtr;
- //LPWSTR sendBuffer = (LPWSTR)&objectName[LENGTH_4096];
+ LPTSTR objectName = (LPTSTR)buffer;
+ LPTSTR indexPtr;
+ //LPTSTR sendBuffer = (LPTSTR)&objectName[LENGTH_4096];
LPSTR recvBuffer = (LPSTR)&objectName[LENGTH_4096];
DWORD readSize;
DWORD statusCode;
if(self->sessionManager.heartBeatSession == NULL){
- self->sessionManager.heartBeatSession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",objectName,L"1.1",(LPCWSTR)WINHTTP_NO_REFERER,(LPCWSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
+ self->sessionManager.heartBeatSession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",objectName,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
}
if(WinHttpSendRequest(self->sessionManager.heartBeatSession,self->userSession,-1,WINHTTP_NO_REQUEST_DATA,0,0,0) == FALSE){
}
+
+ rslt = NLIB_ERR_OK;
connectend:
ZeroMemory(self->sessionManager.buffer,sizeof(self->sessionManager.buffer));
LeaveCriticalSection(&self->sessionManager.cs);
#define NICOLIVE_SENDCHATBUFLEN LENGTH_4096
#define NICOLIVE_SENDFORMAT "<chat thread=\"%d\" ticket=\"%S\" postkey=\"%s\" user_id=\"%S\" premium=\"%d\" locale=\"%S\" vpos=\"%ld\"%s>%S</chat>"
-NLIB_RESULT NicoLiveStream_sendChat(NicoLiveStream_P self,LPCWSTR chatbuf,LPCWSTR *mail,LPCWSTR *extends){
+NLIB_RESULT NicoLiveStream_sendChat(NicoLiveStream_P self,LPCTSTR chatbuf,LPCTSTR *mail,LPCTSTR *extends){
- NLIB_RESULT rslt = NLIB_ERR_OK;
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
EnterCriticalSection(&self->sessionManager.cs);
{
LPSTR postKey;
LPSTR postKeyBuf = (LPSTR)chunk;
- LPWSTR postKeyReqBuf = (LPWSTR)&postKeyBuf[NICOLIVE_SENDCHATBUFLEN];
- LPWSTR cookieBuf = &postKeyReqBuf[NICOLIVE_SENDCHATBUFLEN];
+ LPTSTR postKeyReqBuf = (LPTSTR)&postKeyBuf[NICOLIVE_SENDCHATBUFLEN];
+ LPTSTR cookieBuf = &postKeyReqBuf[NICOLIVE_SENDCHATBUFLEN];
DWORD statusCode;
DWORD statusCodeSize = sizeof(statusCode);
DWORD readSize;
if(self->isConnecting == FALSE){
- rslt = NLIB_ERR_NOT_CONNECT;
- goto end;
+ rslt = NLIB_ERR_NOT_LIVECONNECT;
+ goto errorend;
}
if(chatbuf == NULL || wcslen(chatbuf) >= LENGTH_1024){
rslt = NLIB_ERR_BUFFER_TOOLITTLE;
- goto end;
+ goto errorend;
}
_swprintf(postKeyReqBuf,L"api/getpostkey?thread=%u&block_no=%u",self->playerStatus.ms.thread,self->chatManager.chatNo / 100);
//hWatchLiveNicoVideo = WinHttpConnect(hHttpSession,WTEXT(WATCH_LIVE_NICO_VIDEO_DOMEINNAME),INTERNET_DEFAULT_HTTP_PORT,0);
- hGetPostKeySession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",postKeyReqBuf,L"1.1",(LPCWSTR)WINHTTP_NO_REFERER,(LPCWSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
+ hGetPostKeySession = WinHttpOpenRequest(hWatchLiveNicoConnect,L"GET",postKeyReqBuf,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
//_swprintf(cookieBuf,L"Cookie: %s; %s",self->userSession,self->nicoLiveHistory);
if(WinHttpSendRequest(hGetPostKeySession,self->userSession,-1,WINHTTP_NO_REQUEST_DATA,0,0,0) == FALSE){
- rslt = NLIB_GETPLAYERSTATUS_FAILED_CONNECT;
- goto end;
+ rslt = NLIB_ERR_LIVE_GETPOSTKEY_FAILED;
+ goto errorend;
}
if(WinHttpReceiveResponse(hGetPostKeySession,NULL) == FALSE){
- rslt = NLIB_GETPLAYERSTATUS_FAILED_CONNECT;
- goto end;
+ rslt = NLIB_ERR_LIVE_GETPOSTKEY_FAILED;
+ goto errorend;
}
if (WinHttpQueryHeaders(hGetPostKeySession,WINHTTP_QUERY_STATUS_CODE | WINHTTP_QUERY_FLAG_NUMBER,WINHTTP_HEADER_NAME_BY_INDEX,&statusCode,&statusCodeSize,WINHTTP_NO_HEADER_INDEX) == FALSE){
- rslt = NLIB_GETPLAYERSTATUS_FAILED_CONNECT;
- goto end;
+ rslt = NLIB_ERR_LIVE_GETPOSTKEY_FAILED;
+ goto errorend;
}
if (HTTP_STATUS_OK != statusCode){
- rslt = NLIB_GETPLAYERSTATUS_FAILED_CONNECT;
- goto end;
+ rslt = NLIB_ERR_LIVE_GETPOSTKEY_FAILED;
+ goto errorend;
}
if(ReadHttpBody(hGetPostKeySession,(LPBYTE)postKeyBuf,buflen,&readSize) == FALSE){
- rslt = NLIB_GETPLAYERSTATUS_FAILED_CONNECT;
- goto end;
+ rslt = NLIB_ERR_LIVE_GETPOSTKEY_FAILED;
+ goto errorend;
}
postKeyBuf[readSize] = '\0';
len = NICOLIVE_SENDCHATBUFLEN - (indexPtr - mailBuf) - 1;
if(GetLenToMB(CP_UTF8,mail[0]) >= len){
rslt = NLIB_ERR_BUFFER_TOOLITTLE;
- goto end;
+ goto errorend;
}
if(GetLenToMB(CP_UTF8,mail[0]) >= len){
rslt = NLIB_ERR_BUFFER_TOOLITTLE;
- goto end;
+ goto errorend;
}
if(GetLenToMB(CP_UTF8,extends[0]) >= len){
rslt = NLIB_ERR_BUFFER_TOOLITTLE;
- goto end;
+ goto errorend;
}
WideToMB(CP_UTF8,extends[0],indexPtr,len);
if(GetLenToMB(CP_UTF8,extends[1]) >= len){
rslt = NLIB_ERR_BUFFER_TOOLITTLE;
- goto end;
+ goto errorend;
}
WideToMB(CP_UTF8,extends[1],indexPtr,len);
if(GetLenToMB(CP_UTF8,extends[0]) >= len){
rslt = NLIB_ERR_BUFFER_TOOLITTLE;
- goto end;
+ goto errorend;
}
WideToMB(CP_UTF8,extends[0],indexPtr,len);
if(GetLenToMB(CP_UTF8,extends[1]) >= len){
rslt = NLIB_ERR_BUFFER_TOOLITTLE;
- goto end;
+ goto errorend;
}
WideToMB(CP_UTF8,extends[1],indexPtr,len);
strcpy(indexPtr,">");
indexPtr += strlen(indexPtr);
{
- LPWSTR sendBuf = (LPWSTR)&buffer[NICOLIVE_SENDCHATBUFLEN * 4];
- LPWSTR sendPtr = sendBuf;
- LPCWSTR endPtr= chatbuf + wcslen(chatbuf);
+ LPTSTR sendBuf = (LPTSTR)&buffer[NICOLIVE_SENDCHATBUFLEN * 4];
+ LPTSTR sendPtr = sendBuf;
+ LPCTSTR endPtr= chatbuf + wcslen(chatbuf);
//convertTEXT(indexPtr,chatbuf,indexPtr,endPtr);
}
}
+ rslt = NLIB_ERR_OK;
-end:
+errorend:
- WinHttpCloseHandle(hGetPostKeySession);
+ WinHttpCloseHandle(hGetPostKeySession);
- ZeroMemory(self->sessionManager.buffer,sizeof(self->sessionManager.buffer));
- LeaveCriticalSection(&self->sessionManager.cs);
- }
+ ZeroMemory(self->sessionManager.buffer,sizeof(self->sessionManager.buffer));
+ LeaveCriticalSection(&self->sessionManager.cs);
+ }
-NLIB_RESULT GetPlayerStatus(NicoLivePlayerStatus_P self,LPCWSTR userSession,HINTERNET hConnect,LPVOID buffer){
+NLIB_RESULT GetPlayerStatus(NicoLivePlayerStatus_P self,LPCTSTR userSession,HINTERNET hConnect,LPVOID buffer){
NLIB_RESULT rslt = NLIB_ERR_OK;
//HINTERNET hGetPlayerStatusRequest = NULL;
const UINT_PTR buflen = LENGTH_65536;
//LPVOID buffer = ;
- //LPWSTR sendBuffer;
+ //LPTSTR sendBuffer;
LPSTR recvBuffer = (LPSTR)buffer;
DWORD readSize;
DWORD statusCode;
HINTERNET hStreamBrowse = NULL;
- WCHAR objectName[GETNICOLIVEHIS_OBJNAMELENGTH] = {L"/watch/"};
- WCHAR cookie[GETNICOLIVEHIS_COOKIELENGTH] = {L"Cookie: "};
+ TCHAR objectName[GETNICOLIVEHIS_OBJNAMELENGTH] = {L"/watch/"};
+ TCHAR cookie[GETNICOLIVEHIS_COOKIELENGTH] = {L"Cookie: "};
DWORD statusCode;
DWORD statusCodeSize = sizeof(statusCode);
DWORD chunkSize = LENGTH_65536;
- LPWSTR buffer = (LPWSTR)chunkSize;
+ LPTSTR buffer = (LPTSTR)chunkSize;
- hStreamBrowse = WinHttpOpenRequest(hNicoVideoConnect,L"GET",objectName,L"1.1",(LPCWSTR)WINHTTP_NO_REFERER,(LPCWSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
+ hStreamBrowse = WinHttpOpenRequest(hNicoVideoConnect,L"GET",objectName,L"1.1",(LPCTSTR)WINHTTP_NO_REFERER,(LPCTSTR*)WINHTTP_DEFAULT_ACCEPT_TYPES,0);
}
{
- LPWSTR start =wcsstr(buffer,L"nicolivehistory=");
+ LPTSTR start =wcsstr(buffer,L"nicolivehistory=");
- LPWSTR end = wcsstr(start,L";");
+ LPTSTR end = wcsstr(start,L";");
UINT_PTR length = end - start;
static VOID OnSendKeepAllive(NicoLiveStream_P self){
if(self->chatManager.keapALiveFlag){
- LPCWSTR mail[2] = {L"184",NULL};
+ LPCTSTR mail[2] = {L"184",NULL};
NicoLiveStream_sendChat(self,L"/keapalive",mail,NULL);
}
unsigned int rslt = 0;
- //LPWSTR user_id = NULL;
- //LPWSTR name = NULL;
- //LPWSTR chatBuf = NULL;
+ //LPTSTR user_id = NULL;
+ //LPTSTR name = NULL;
+ //LPTSTR chatBuf = NULL;
//\83R\83\81\83\93\83g\8eó\90M\8f\88\97\9d
//
BOOL rslt = TRUE; //\8c\8b\89Ê
- LPWSTR commentBuf = NULL; //\83R\83\81\83\93\83g\83o\83b\83t\83@
- LPWSTR* mailCountBuf = NULL; //\83\81\81[\83\8b\83|\83C\83\93\83^\83o\83b\83t\83@
+ LPTSTR commentBuf = NULL; //\83R\83\81\83\93\83g\83o\83b\83t\83@
+ LPTSTR* mailCountBuf = NULL; //\83\81\81[\83\8b\83|\83C\83\93\83^\83o\83b\83t\83@
INT_PTR recevedLen; //\8eó\90M\95¶\8e\9a\97ñ\92·
INT_PTR messageBufLen; //\83o\83b\83t\83@\92·
DWORD dwResult; //\83C\83x\83\93\83g\82ª\83E\83F\83C\83g\8aÖ\90\94\82Ì\8c\8b\89Ê\82ð\8ai\94[\82·\82é\95Ï\90\94
- SIZE_T commentBufSize = sizeof(WCHAR) * LENGTH_2048; //\83R\83\81\83\93\83g\83o\83b\83t\83@\92·
- SIZE_T mailCountBufSize = sizeof(LPWSTR) * LENGTH_256; //\83\81\81[\83\8b\82Ì\83|\83C\83\93\83^\97p\83o\83b\83t\83@\92·
+ SIZE_T commentBufSize = sizeof(TCHAR) * LENGTH_2048; //\83R\83\81\83\93\83g\83o\83b\83t\83@\92·
+ SIZE_T mailCountBufSize = sizeof(LPTSTR) * LENGTH_256; //\83\81\81[\83\8b\82Ì\83|\83C\83\93\83^\97p\83o\83b\83t\83@\92·
WSAEVENT hRecvEvent = NULL;
hEventArray[0] = hRecvEvent;
hEventArray[1] = self->chatManager.endEvent;
- commentBuf = (LPWSTR)malloc(commentBufSize);
- mailCountBuf = (LPWSTR*)malloc(mailCountBufSize);
+ commentBuf = (LPTSTR)malloc(commentBufSize);
+ mailCountBuf = (LPTSTR*)malloc(mailCountBufSize);
//\90Ø\92f\82³\82ê\82é\82Ü\82Å\83\8b\81[\83v
while(1){
-static VOID NicoLiveParseComment(NicoLiveStream_P self,LPWSTR commentBuf,UINT_PTR endSize,LPWSTR* mailCountBuf,SIZE_T* mailCountBufSize,SIZE_T* commentBufSize){
+static VOID NicoLiveParseComment(NicoLiveStream_P self,LPTSTR commentBuf,UINT_PTR endSize,LPTSTR* mailCountBuf,SIZE_T* mailCountBufSize,SIZE_T* commentBufSize){
- LPWSTR indexPtr; //\89ð\90Í\8e\9e\82Ì\8ew\95W\83|\83C\83\93\83^
+ LPTSTR indexPtr; //\89ð\90Í\8e\9e\82Ì\8ew\95W\83|\83C\83\93\83^
NicoLiveChat nicoLiveChat; //\83`\83\83\83b\83g\83R\83\81\83\93\83g\8ai\94[\97p\8d\\91¢\91Ì
NicoLiveThreadComment nicoLiveThreadComment; //\90Ú\91±\89\9e\93\9a\83R\83\81\83\93\83g\8ai\94[\97p\8d\\91¢\91Ì
NicoLiveSendResultComment nicoLiveSendResultComment; //\91\97\90M\89\9e\93\9a\83R\83\81\83\93\83g\8ai\94[\97p\8d\\91¢\91Ì
NicoLiveChat nicoLiveChatBase; //\83`\83\83\83b\83g\83R\83\81\83\93\83g\8aî\92ê\8d\\91¢\91Ì
NicoLiveThreadComment nicoLiveThreadCommentBase; //\90Ú\91±\89\9e\93\9a\83R\83\81\83\93\83g\8aî\92ê\8d\\91¢\91Ì
NicoLiveSendResultComment nicoLiveSendResultCommentBase;//\91\97\90M\89\9e\93\9a\83R\83\81\83\93\83g\8aî\92ê\8d\\91¢\91Ì
- LPWSTR attrNameStart; //\91®\90«\96¼\8aJ\8en\83|\83C\83\93\83^
- LPWSTR attrNameEnd; //\91®\90«\96¼\8fI\97¹\83|\83C\83\93\83^
- LPWSTR attrValueStart; //\91®\90«\92l\8aJ\8en\83|\83C\83\93\83^
- LPWSTR attrValueEnd; //\91®\90«\92l\8fI\97¹\83|\83C\83\93\83^
+ LPTSTR attrNameStart; //\91®\90«\96¼\8aJ\8en\83|\83C\83\93\83^
+ LPTSTR attrNameEnd; //\91®\90«\96¼\8fI\97¹\83|\83C\83\93\83^
+ LPTSTR attrValueStart; //\91®\90«\92l\8aJ\8en\83|\83C\83\93\83^
+ LPTSTR attrValueEnd; //\91®\90«\92l\8fI\97¹\83|\83C\83\93\83^
INT_PTR nameLen; //\91®\90«\82Ì\96¼\91O\82Ì\92·\82³
- LPWSTR mailIndexPtr; //\83\81\81[\83\8b\91®\90«\92l\89ð\90Í\97p\8ew\95W\83|\83C\83\93\83^
- LPWSTR xmlTextPtr; //xml\83e\83L\83X\83g\8c`\8e®\82Ì\83f\81[\83^\89ð\90Í\8e\9e\82É\8eg\97p\82·\82é\83|\83C\83\93\83^
- LPWSTR xmlTextEnd; //xml\83e\83L\83X\83g\8fI\97¹\83|\83C\83\93\83^
- LPWSTR* mailIndex; //\83\81\81[\83\8b\83R\83}\83\93\83h\83\8a\83X\83g\83|\83C\83\93\83^
+ LPTSTR mailIndexPtr; //\83\81\81[\83\8b\91®\90«\92l\89ð\90Í\97p\8ew\95W\83|\83C\83\93\83^
+ LPTSTR xmlTextPtr; //xml\83e\83L\83X\83g\8c`\8e®\82Ì\83f\81[\83^\89ð\90Í\8e\9e\82É\8eg\97p\82·\82é\83|\83C\83\93\83^
+ LPTSTR xmlTextEnd; //xml\83e\83L\83X\83g\8fI\97¹\83|\83C\83\93\83^
+ LPTSTR* mailIndex; //\83\81\81[\83\8b\83R\83}\83\93\83h\83\8a\83X\83g\83|\83C\83\93\83^
BOOL isReceveChat = FALSE; //\83`\83\83\83b\83g\8eó\90M\83t\83\89\83O
SIZE_T commentSizeCh; //\8eó\90M\82µ\82½\83R\83\81\83\93\83g\82ð\83\86\83j\83R\81[\83h\82É\95Ï\8a·\82·\82é\82Æ\82«\82Ì\92·\82³
LPSTR recvBufTmp; //\8eó\90M\95¶\8e\9a\97ñ\91\80\8dì\97p\83|\83C\83\93\83^
for (;recvBufTmp + strlen(recvBufTmp) < recvEndPoint;recvBufTmp += strlen(recvBufTmp) + 1){
- commentSizeCh = sizeof(WCHAR) * GetLenToWide(CP_UTF8,recvBufTmp);
- extendMalloc(commentBuf,LPWSTR,*commentBufSize,commentSizeCh);
+ commentSizeCh = sizeof(TCHAR) * GetLenToWide(CP_UTF8,recvBufTmp);
+ extendMalloc(commentBuf,LPTSTR,*commentBufSize,commentSizeCh);
MBToWide(CP_UTF8,recvBufTmp,commentBuf,*commentBufSize);
traceln(TEXT("comment:\r\n%s"),commentBuf);
}
- extendMalloc(mailCountBuf,LPWSTR*,*mailCountBufSize,nicoLiveChat.mailCount);
+ extendMalloc(mailCountBuf,LPTSTR*,*mailCountBufSize,nicoLiveChat.mailCount);
nicoLiveChat.mail = mailCountBuf;
mailCountBuf[0] = NULL;
}
-static INLINE SOCKET GetConectedSocket(LPCWSTR nordName,LPCWSTR port,int socktype,int addr_famiry,int protocol){
+static INLINE SOCKET GetConectedSocket(LPCTSTR nordName,LPCTSTR port,int socktype,int addr_famiry,int protocol){
SOCKET rslt = INVALID_SOCKET;
return rslt;
+}
+
+
+//
+//\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\8aÖ\98A
+//
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82ÌID\82ð\8eæ\93¾
+///
+NLIB_DECLSPEC LPCTSTR StreamStatus_getId(StreamStatus_P self){
+
+ return self->id;
+}
+
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83R\83~\83\85\83j\83e\83B\94Ô\8d\86\82ð\8eæ\93¾
+///
+NLIB_DECLSPEC LPCTSTR StreamStatus_getDefaultCommunity(StreamStatus_P self){
+
+ return self->default_community;
+}
+
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83v\83\8d\83o\83C\83_\83^\83C\83v\82ð\8eæ\93¾
+///
+PROVIDERTYPE StreamStatus_getProviderType(StreamStatus_P self){
+
+ return self->provider_type;
+}
+
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83I\81[\83i\81[\83t\83\89\83O\82ð\8eæ\93¾
+///
+BOOL StreamStatus_isOwner(StreamStatus_P self){
+
+ return self->is_owner;
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8aJ\8en\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getStartTime(StreamStatus_P self){
+
+ return self->start_time;
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8fI\97¹\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getEndTime(StreamStatus_P self){
+
+ return self->end_time;
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8aJ\8fê\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getOpenTime(StreamStatus_P self){
+
+ return self->open_time;
+
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83x\81[\83X\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getBaseTime(StreamStatus_P self){
+
+ return self->base_time;
}
\ No newline at end of file
typedef struct {
NicoLiveHeartBeat heartBeat;
- LPWSTR is_restrictBuff;
+ LPTSTR is_restrictBuff;
INT_PTR is_restrictSize;
- LPWSTR ticketBuff;
+ LPTSTR ticketBuff;
INT_PTR ticketSize;
NLIB_RESULT error;
time_t baseVpos;
}ChatManager,*ChatManager_P;
-
+///
+///\90¶\95ú\91\97\83X\83e\81[\83^\83X
+///
+typedef struct streamstatus_t{
+
+ TCHAR id[LENGTH_128];
+ TCHAR default_community[LENGTH_128];
+ PROVIDERTYPE provider_type;
+ BOOL is_owner;
+ time_t start_time;
+ time_t end_time;
+ time_t open_time;
+ time_t base_time;
+}StreamStatus,*StreamStatus_P;
///\83\81\83b\83Z\81[\83W\83T\81[\83o\81[\83X\83e\81[\83^\83X
typedef struct messageserver_t{
- WCHAR addr[LENGTH_IP];
- WCHAR port[LENGTH_32];
+ TCHAR addr[LENGTH_IP];
+ TCHAR port[LENGTH_32];
UINT_PTR thread;
typedef struct{
UINT_PTR is_premium;
- WCHAR user_id[LENGTH_128];
- WCHAR userDomain[LENGTH_128];
+ TCHAR user_id[LENGTH_128];
+ TCHAR userDomain[LENGTH_128];
}NicoLivePSOwn,*NicoLivePSOwn_P;
#define NICOLIVEHISTORY_LENGTH LENGTH_256
typedef struct nicolivestream_t{
- WCHAR userSession[USERSESSION_LENGTH];
- WCHAR nicoLiveHistory[NICOLIVEHISTORY_LENGTH];
- WCHAR ticket[LENGTH_256];
+ TCHAR userSession[USERSESSION_LENGTH];
+ TCHAR nicoLiveHistory[NICOLIVEHISTORY_LENGTH];
+ TCHAR ticket[LENGTH_256];
LPVOID option;
NicoLivePlayerStatus playerStatus;
ChatManager chatManager;
NLIB_RESULT NicoVideoAuth_getNicoVideoAuth(NicoVideoAuth_P self,BROWSERTYPE browserType){
-
+ NLIB_RESULT rslt = NLIB_ERR_CODE_NOTSET;
//\83N\83b\83L\81[\82Ì\8eæ\93¾
if( GetCookie(browserType,self->userSession,sizeof(self->userSession),L"user_session",WTEXT(NICO_VIDEO_DOMEINNAME)) != COOKIE_ERR_OK){
-
- return NLIB_ERR_COOKIE_FAILED;
+ rslt = NLIB_ERR_COOKIE_FAILED;
+ goto end;
}
+ rslt = NLIB_ERR_OK;
+end:
- return NLIB_ERR_OK;
+ return rslt;
}
\ No newline at end of file
#define StrCpyArray(buf,pszData,nLength) StrCpy(buf,sizeof(buf) / sizeof(buf[0]),pszData,nLength)
-static INLINE NLIB_RESULT StrCpy(LPWSTR buf,UINT_PTR buflen,LPCWSTR pszData,UINT_PTR nLength);
+static INLINE NLIB_RESULT StrCpy(LPTSTR buf,UINT_PTR buflen,LPCTSTR pszData,UINT_PTR nLength);
///
///UTF8\95Ï\8a·\93à\95\94\8aÖ\90\94
///
-static INLINE VOID ToUTF8(LPSTR buf,LPCWSTR input,INT_PTR nLength,INT_PTR maxLength);
+static INLINE VOID ToUTF8(LPSTR buf,LPCTSTR input,INT_PTR nLength,INT_PTR maxLength);
}else if(_tcsncmp(pszData,TEXT("require_accept_print_timeshift_ticket"),nLength) == 0) {
- ps->error = NLIB_ERR_GETPLAYERSTATUS_NOT_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET;
+ ps->error = NLIB_ERR_GETPLAYERSTATUS_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET;
}else if(_tcsncmp(pszData,TEXT("access_locked"),nLength) == 0) {
}
-static INLINE NLIB_RESULT StrCpy(LPWSTR buf,UINT_PTR buflen,LPCWSTR pszData,UINT_PTR nLength){
+static INLINE NLIB_RESULT StrCpy(LPTSTR buf,UINT_PTR buflen,LPCTSTR pszData,UINT_PTR nLength){
if(nLength >= buflen){
return NLIB_ERR_BUFFER_TOOLITTLE;
//heartbeat/is_restrict
case MAKENORD1(NicoLiveHeartBeat_HEARTBEAT,NicoLiveHeartBeat_IS_RESTRICT):
- extendMalloc(hbc->is_restrictBuff,LPWSTR,hbc->is_restrictSize,(INT_PTR)sizeof(WCHAR) * nLength);
+ extendMalloc(hbc->is_restrictBuff,LPTSTR,hbc->is_restrictSize,(INT_PTR)sizeof(TCHAR) * nLength);
wcsncpy(hbc->is_restrictBuff,pszData,nLength);
//heartbeat/ticket
case MAKENORD1(NicoLiveHeartBeat_HEARTBEAT,NicoLiveHeartBeat_TICKET):
- extendMalloc(hbc->ticketBuff,LPWSTR,hbc->ticketSize,(INT_PTR)sizeof(WCHAR) * nLength);
+ extendMalloc(hbc->ticketBuff,LPTSTR,hbc->ticketSize,(INT_PTR)sizeof(TCHAR) * nLength);
wcsncpy(hbc->ticketBuff,pszData,nLength);
}
-static INLINE VOID ToUTF8(LPSTR buf,LPCWSTR input,INT_PTR nLength,INT_PTR maxLength){
+static INLINE VOID ToUTF8(LPSTR buf,LPCTSTR input,INT_PTR nLength,INT_PTR maxLength){
if(WideCharToMultiByte(CP_UTF8,0,input,nLength,(LPSTR)NULL,0,(LPCSTR)NULL,(LPBOOL)NULL) > maxLength){
NLIB_RESULT myListCallBack(LPVOID option,NicoMyListItem_P pVideo){
- dumpln(TEXT("video_id:%s"),pVideo->itemData.video_id);
+// dumpln(TEXT("video_id:%s"),pVideo->itemData.video_id);
static NLIB_RESULT myListGroupCallBack(LPVOID option,NicoMyList_P pMyList){
WCHAR buf[256];
NLIB_RESULT rslt;
- wcscpy(buf,pMyList->id);
+// wcscpy(buf,pMyList->id);
dumpln(TEXT("id:%s"),buf);
rslt = NicoMyList_getMyList(nva,buf,myListCallBack,NULL);
//Sleep(3000);
+
+
return;
}
nicoLive_setup();
- nicoLive_connect();
- nicoLive_mylist();
+ for(int index = 0; index <= NLIB_ERR_NOT_LIVECONNECT;index++){
+
+ idumpln(TEXT("errmessage:%s"),NLIB_GetErrorMessage(index));
+ }
+
+ //nicoLive_connect();
+ //nicoLive_mylist();
nicoLive_teardown();
- getch();
+ _getch();
return 0;
}
\ No newline at end of file
//
#pragma once
-
+#define _CRT_NON_CONFORMING_SWPRINTFS 1
#include <nlite\targetver.h>
#include <stdio.h>
-const CApplicationInfo* nlite::appInfo = NULL;
+const CApplicationInfo * nlite::appInfo = NULL;
static TCHAR localAppDataPath[_MAX_PATH];
static WSAData wsaData; //winsockdata
return;
}
+ VOID nlite::UnexpectedErrorMessageShow(LPCTSTR headMessage,LPCTSTR summary){
+ CNLiteString errMessage;
+ errMessage = headMessage;
+ errMessage += TEXT("\91z\92è\82³\82ê\82Ä\82¢\82È\82¢\83G\83\89\81[\82ª\94\90¶\82µ\82Ü\82µ\82½\81B\83A\83v\83\8a\83P\81[\83V\83\87\83\93\94z\92u\83t\83H\83\8b\83_\82É\8dì\90¬\82³\82ê\82½\83\8d\83O\83t\83@\83C\83\8b\82ð\93n\82µ\82Ä\82à\82ç\82¦\82é\82Æ\8aJ\94\8eÒ\82ª\94ñ\8fí\82É\8aì\82Ñ\82Ü\82·");
+ errMessage += TEXT("\r\n\83G\83\89\81[\83\81\83b\83Z\81[\83W:");
+ errMessage += summary;
+ ::MessageBox(NULL,errMessage,TEXT("\91z\92è\82³\82ê\82Ä\82¢\82È\82¢\83G\83\89\81["),MB_ICONERROR | MB_OK);
+
+
+ return;
+ }
\ No newline at end of file
namespace nlite{
+ //\83N\83\89\83X\90æ\8ds\90é\8c¾
class CApplicationInfo;
class CListenerList;
- extern const CApplicationInfo* appInfo;
+ //\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8fî\95ñ\83N\83\89\83X
+ extern const CApplicationInfo * appInfo;
extern CListenerList listenerList;
+ extern VOID UnexpectedErrorMessageShow(LPCTSTR headMessage,LPCTSTR summary);
+
+
#define NLITE_ERR_MESSAGE_FORMAT "\83n\83\93\83h\83\8b\82³\82ê\82Ä\82¢\82È\82¢\83G\83\89\81[:\r\n%s\r\n\8ds\94Ô\8d\86:%d\r\n\83\\81[\83X\83t\83@\83C\83\8b:%s"
<ClCompile Include="nlite_chatData.cpp" />
<ClCompile Include="nlite_commentview.cpp" />
<ClCompile Include="nlite_commentWrite.cpp" />
+ <ClCompile Include="nlite_exception.cpp" />
<ClCompile Include="nlite_mainframe.cpp" />
<ClCompile Include="nlite_nlib.cpp" />
<ClCompile Include="nlite_property.cpp" />
+ <ClCompile Include="nlite_string.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-window|Win32'">Create</PrecompiledHeader>
<ClCompile Include="nlite_nlib.cpp">
<Filter>ソース ファイル</Filter>
</ClCompile>
+ <ClCompile Include="nlite_exception.cpp">
+ <Filter>ソース ファイル</Filter>
+ </ClCompile>
+ <ClCompile Include="nlite_string.cpp">
+ <Filter>ソース ファイル</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="nlite.rc">
namespace nlite {
+
+
+
CApplicationInfo::CApplicationInfo(){
struct LANGANDCODEPAGE {
safeFree(pBlock);
}
+///
+///\83V\83\93\83O\83\8b\83g\83\93
+///
+CApplicationInfo& CApplicationInfo::getInstance(){
+ static CApplicationInfo appInfo;
+ return appInfo;
+
+}
+
+
+
+LPCTSTR CApplicationInfo::getProductVersion()const{
+
+ return pProductVersion;
+
+}
+
+LPCTSTR CApplicationInfo::getOriginalFileName()const{
+
+ return pOriginalFileName;
+
+}
+
+LPCTSTR CApplicationInfo::getLegalCopyright()const{
+
+ return pLegalCopyright;
+
+}
+
+LPCTSTR CApplicationInfo::getProcuctName() const{
+
+ return pProductName;
+}
+
+
+VOID CApplicationInfo::show() const {
+
+ CNLiteString szApp;
+ CNLiteString szOtherStuff;
+
+
+ szApp = pOriginalFileName;
+ szApp += TEXT("\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8fî\95ñ");
+
+ szOtherStuff = TEXT("\83o\81[\83W\83\87\83\93\8fî\95ñ: ");
+ szOtherStuff += pProductVersion;
+ szOtherStuff += TEXT("\r\n\92\98\8dì\8c : ");
+ szOtherStuff += pLegalCopyright;
+
+ ShellAbout(NULL,szApp,szOtherStuff,NULL);
+}
+
}
\ No newline at end of file
LPTSTR pProductName; //\90»\95i\96¼
private:
///
- ///\83R\83\93\83c\83g\83\89\83N\83^
+ ///\83R\83\93\83X\83g\83\89\83N\83^
///
CApplicationInfo();
public:
+
+ ///
+ ///\83f\83X\83g\83\89\83N\83^
+ ///
~CApplicationInfo();
public:
-
///
///\83V\83\93\83O\83\8b\83g\83\93
///
- static CApplicationInfo& getInstance(){
- static CApplicationInfo appInfo;
- return appInfo;
-
- }
-
+ static CApplicationInfo& getInstance();
+
//\83Q\83b\83^\81[
//
- LPCTSTR getProductVersion()const{
-
- return pProductVersion;
-
- }
-
- LPCTSTR getOriginalFileName()const{
-
- return pOriginalFileName;
+ LPCTSTR getProductVersion()const;
- }
+ LPCTSTR getOriginalFileName()const;
- LPCTSTR getLegalCopyright()const{
+ LPCTSTR getLegalCopyright()const;
- return pLegalCopyright;
+ LPCTSTR getProcuctName() const;
- }
-
- LPCTSTR getProcuctName() const{
-
- return pProductName;
- }
-
- VOID show() const {
-
- CNLiteString szApp;
- CNLiteString szOtherStuff;
-
-
- szApp = pOriginalFileName;
- szApp += TEXT("\82Ì\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8fî\95ñ");
-
- szOtherStuff = TEXT("\83o\81[\83W\83\87\83\93\8fî\95ñ: ");
- szOtherStuff += pProductVersion;
- szOtherStuff += TEXT("\r\n\92\98\8dì\8c : ");
- szOtherStuff += pLegalCopyright;
+ ///
+ ///\83E\83B\83\93\83h\83E\82É\95\\8e¦
+ ///
+ VOID show() const;
- ShellAbout(NULL,szApp,szOtherStuff,NULL);
- }
+
};
}
\ No newline at end of file
};
+ListenerData::ListenerData(LPCTSTR user_id_in):
+user_id(user_id_in),
+userName(TEXT("")),
+bkColor(RGB(0,0,0)),
+originBkFlag(FALSE)
+{}
+
VOID ListenerData::SetBkColor(COLORREF bkColor_in){
bkColor = bkColor_in;
return;
//\83R\83\81\83\93\83g\83\8a\83X\83g\83N\83\89\83X
//////////////////////////////////////////////////////////////////////////
+//\91I\91ð\8ds\8eæ\93¾\97p\83t\83@\83\93\83N\83V\83\87\83i\83\8b
struct GetCurSelFunc_t{
INT_PTR count;
COLORREF bkColor;
BOOL originBkFlag;
public:
- ListenerData(LPCTSTR user_id_in):
- user_id(user_id_in),
- userName(TEXT("")),
- bkColor(RGB(0,0,0)),
- originBkFlag(FALSE)
- {
-
- }
+ ListenerData(LPCTSTR user_id_in);
VOID SetBkColor(COLORREF bkColor_in);
const static COLORREF MAX_COLOR = 0xFFFFFF;
-const CommentColorInfo generalUser::COMMENT_COLORLIST[] = {
- {TEXT("white"),RGB(0xFF,0xFF,0xFF)},
- {TEXT("red"),RGB(0xFF,0x00,0x00)},
- {TEXT("pink"),RGB(0xFF,0x80,0x80)},
- {TEXT("orange"),RGB(0xFF,0xC0,0x00)},
- {TEXT("yellow"),RGB(0xFF,0xFF,0x00)},
- {TEXT("green"),RGB(0x00,0xFF,0x00)},
- {TEXT("cyan"),RGB(0x00,0xFF,0xFF)},
- {TEXT("blue"),RGB(0x00,0x00,0xFF)},
- {TEXT("purple"),RGB(0xC0,0x00,0xFF)},
+namespace generalUser{
+ const CommentColorInfo COMMENT_COLORLIST[] = {
+ {TEXT("white"),RGB(0xFF,0xFF,0xFF)}, //\94\92
+ {TEXT("red"),RGB(0xFF,0x00,0x00)}, //\90Ô
+ {TEXT("pink"),RGB(0xFF,0x80,0x80)}, //\83s\83\93\83N
+ {TEXT("orange"),RGB(0xFF,0xC0,0x00)}, //\83I\83\8c\83\93\83W
+ {TEXT("yellow"),RGB(0xFF,0xFF,0x00)}, //\89©\90F
+ {TEXT("green"),RGB(0x00,0xFF,0x00)}, //\97Î
+ {TEXT("cyan"),RGB(0x00,0xFF,0xFF)}, //\8a¦\90F
+ {TEXT("blue"),RGB(0x00,0x00,0xFF)}, //\90Â
+ {TEXT("purple"),RGB(0xC0,0x00,0xFF)}, //\8e\87
-};
-
-const CommentColorInfo premiumUser::COMMENT_COLORLIST[] = {
- {TEXT("black"),RGB(0x00,0x00,0x00)},
- {TEXT("white2"),RGB(0xCC,0xCC,0x99)},
- {TEXT("red2"),RGB(0xCC,0x00,0x33)},
- {TEXT("pink2"),RGB(0xFF,0x33,0xCC)},
- {TEXT("orange2"),RGB(0xFF,0x66,0x00)},
- {TEXT("yellow2"),RGB(0x99,0x99,0x00)},
- {TEXT("green2"),RGB(0x00,0xCC,0x66)},
- {TEXT("cyan2"),RGB(0x00,0xCC,0xCC)},
- {TEXT("blue2"),RGB(0x33,0x99,0xFF)},
- {TEXT("purple2"),RGB(0x66,0x33,0xCC)}
-// {TEXT("black2"),RGB(0x66,0x66,0x66)}
-};
-
-const CommentSizeInfo generalUser::COMMENT_SIZELIST[] = {
- {TEXT("\95\81\92Ê\81@"),TEXT("medium")},
- {TEXT("\8f¬\81@"),TEXT("small")}
-};
-
-const CommentSizeInfo premiumUser::COMMENT_SIZELIST[] = {
- {TEXT("\91å\81@"),TEXT("big")}
-};
-
-const CommentPosInfo generalUser::COMMENT_POSLIST[] = {
- {TEXT("\92Ê\8fí\81@"),TEXT("naka")}
-};
-
-const CommentPosInfo premiumUser::COMMENT_POSLIST[] = {
- {TEXT("\89º\81@"),TEXT("shita")},
- {TEXT("\8fã\81@"),TEXT("ue")}
-};
+ };
+
+ const CommentSizeInfo COMMENT_SIZELIST[] = {
+ {TEXT("\95\81\92Ê\81@"),TEXT("medium")}, //\95\81\92Ê\83T\83C\83Y
+ {TEXT("\8f¬\81@"),TEXT("small")} //\8f¬\83T\83C\83Y
+ };
+
+
+ const CommentPosInfo COMMENT_POSLIST[] = {
+ {TEXT("\92Ê\8fí\81@"),TEXT("naka")} //\92Ê\8fí\95\\8e¦
+ };
+}
+
+namespace premiumUser{
+
+ const CommentColorInfo COMMENT_COLORLIST[] = {
+ {TEXT("black"),RGB(0x00,0x00,0x00)}, //\8d\95
+ {TEXT("white2"),RGB(0xCC,0xCC,0x99)}, //\94\92\82»\82Ì\82Q
+ {TEXT("red2"),RGB(0xCC,0x00,0x33)}, //\90Ô\82»\82Ì\82Q
+ {TEXT("pink2"),RGB(0xFF,0x33,0xCC)}, //\83s\83\93\83N\82»\82Ì\82Q
+ {TEXT("orange2"),RGB(0xFF,0x66,0x00)}, //\83I\83\8c\83\93\83W\82»\82Ì\82Q
+ {TEXT("yellow2"),RGB(0x99,0x99,0x00)}, //\89©\90F\82»\82Ì\82Q
+ {TEXT("green2"),RGB(0x00,0xCC,0x66)}, //\97Î\82»\82Ì\82Q
+ {TEXT("cyan2"),RGB(0x00,0xCC,0xCC)}, //\8a¦\90F\82»\82Ì\82Q
+ {TEXT("blue2"),RGB(0x33,0x99,0xFF)}, //\90Â\82»\82Ì\82Q
+ {TEXT("purple2"),RGB(0x66,0x33,0xCC)} //\8e\87\82»\82Ì\82Q
+ // {TEXT("black2"),RGB(0x66,0x66,0x66)} //\8d\95\82»\82Ì\82Q\82Í\82È\82¢\81H
+ };
+
+ const CommentSizeInfo COMMENT_SIZELIST[] = {
+ {TEXT("\91å\81@"),TEXT("big")} //\91å\83T\83C\83Y
+ };
+
+
+
+ const CommentPosInfo COMMENT_POSLIST[] = {
+ {TEXT("\89º\81@"),TEXT("shita")}, //\89º\82É\95\\8e¦
+ {TEXT("\8fã\81@"),TEXT("ue")} //\8fã\82É\95\\8e¦
+ };
+}
+
+
+
template<typename T>
commentWriteMaxLength(INIT_COMMENTWRITE_MAXLENGTH),
nicoLiveStream(in_nicoLiveStream),
commentSubEdit(*this)
-{
-
-}
+{}
return;
}
-VOID CCommentWriteWindow::SendChat(){
+BOOL CCommentWriteWindow::SendChat(){
CCommentMaker commentMaker;
std::vector<TCHAR> chat(commentEdit.GetWindowTextLengthW() + 1);
commentEdit.GetWindowTextW(&chat[0],chat.size());
commentMaker.AddMail(ANONYMOUS_MAILCOMMAND);
}
+ BOOL rslt = FALSE;
+ NLIB_RESULT code = nicoLiveStream.SendChat(commentMaker);
- if(nicoLiveStream.SendChat(commentMaker) != NLIB_ERR_OK){
+ switch(code){
- commentSubEdit.AgreeEnter();
- } else {
+ case NLIB_ERR_OK:
- _beginthread(agreeEnterKeyThread,0,&commentSubEdit);
+ rslt = TRUE;
+
+ break;
+
+ case NLIB_ERR_NOT_LIVECONNECT:
+
+ ::MessageBox(NULL,NLIB_GetErrorMessage(code),TEXT("\83R\83\81\83\93\83g\8f\91\82«\8d\9e\82Ý\83G\83\89\81["),MB_ICONERROR | MB_OK);
+
+ rslt = FALSE;
+ break;
+
+ default:
+ errprint(TEXT("\83R\83\81\83\93\83g\8f\91\82«\8d\9e\82Ý\92\86\82É\83G\83\89\81[:%s"),NLIB_GetErrorMessage(code));
+ UnexpectedErrorMessageShow(TEXT("\83R\83\81\83\93\83g\8f\91\82«\8d\9e\82Ý\92\86\82É"),NLIB_GetErrorMessage(code));
+ rslt = FALSE;
+ break;
}
+
+
- return;
+ return rslt;
}
if(untilConnectingFlag == FALSE){
untilConnectingFlag = TRUE;
- self.SendChat();
+ ;
+
+ if(self.SendChat() != TRUE){
+
+ _beginthread(agreeEnterKeyThread,0,this);
+
+ }
+
+
+
+
}
cs.Unlock();
public:
- VOID SendChat();
+ BOOL SendChat();
VOID OnSendChatResult();
namespace nlite{
+//\90F\92è\90\94
+namespace ColorList{
+ enum type{
+ selectBack = RGB(255,240,240),
+ outLineSelect = RGB(255,0,0),
+ outLineNomal = RGB(0,0,0),
+ colLine = RGB(224,224,224)
+ };
+};
+
//
//\83R\83\81\83\93\83g\83r\83\85\81[\83N\83\89\83X\83\81\83\\83b\83h
///////////////////////////////////////////////////////
}
-VOID CCommentView::SetStreamStatus(StreamStatus &st){
+VOID CCommentView::SetStreamStatus(StreamStatus_P st){
streamStatus.SetStreamStatus(st);
}
LRESULT CCommentView::OnCreate(LPCREATESTRUCT lpcs){
m_header.Create(m_hWnd,0,WC_HEADER,WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | HDS_BUTTONS | HDS_HOTTRACK |HDS_DRAGDROP | HDS_FULLDRAG ,0,commentViewConstant::HEADER_ID);
- m_commentListWindow.Create(m_hWnd,0,commentViewConstant::NLITE_COMMENTLISTWINDOW,WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN , 0,commentViewConstant::LISTBOX_ID);
+ m_commentListWindow.Create(m_hWnd,0,commentViewConstant::NLITE_COMMENTLISTWINDOW,WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN , 0,commentViewConstant::LISTWINDOW);
RECT windowRect;
-
+ RECT listRect = {0};
RECT clientRect;
self.GetClientRect(&clientRect);
windowRect.bottom -= windowRect.top;
windowRect.left = 0;
windowRect.top = 0;
- RECT listRect = windowRect;
- listRect.right = self.GetColumnHolSizeSum();
+
+
CPaintDC pdc(*this);
{
CMemoryDC mdc(pdc,windowRect);
mdc.SelectFont(AtlGetDefaultGuiFont());
- mdc.FillRect(&clientRect,(HBRUSH)::GetStockObject(GRAY_BRUSH));
+
CCommentList &commentList = self.commentlist;
if(commentList.Size() > (UINT_PTR)viewStartHeight){
-
+ listRect = windowRect;
+ listRect.right = self.GetColumnHolSizeSum();
CCommentList::iterator chatData = commentList.begin();
std::advance(chatData,viewStartHeight);
}
}
+ windowRect.left = listRect.right;
+ mdc.FillRect(&windowRect,(HBRUSH)::GetStockObject(GRAY_BRUSH));
namespace nlite{
+ //\92è\90\94\97p\82Ì\96¼\91O\8bó\8aÔ
namespace commentViewConstant{
- const static LPCTSTR NLITE_COMMENTVIEW = TEXT("NLITE_COMMENTVIEW");
- const static LPCTSTR NLITE_COMMENTLISTBASE = TEXT("NLITE_COMMENTLISTBASE");
+ //\83R\83\81\83\93\83g\83r\83\85\81[\83E\83B\83\93\83h\83E\96¼
+ const static LPCTSTR NLITE_COMMENTVIEW = TEXT("NLITE_COMMENTVIEW");
+ //\83R\83\81\83\93\83g\83\8a\83X\83g\83E\83B\83\93\83h\83E\96¼
const static LPCTSTR NLITE_COMMENTLISTWINDOW = TEXT("NLITE_COMMENTLISTWINDOW");
+ //\83w\83b\83_\81[\82Ì\8d\82\82³
const static UINT_PTR HEADER_HAIGHT = 20;
+ //\83w\83b\83_\81[\83R\83\93\83g\83\8d\81[\83\8bID
const static UINT_PTR HEADER_ID = 257;
- const static UINT_PTR LISTBOX_ID = 258;
+ const static UINT_PTR LISTWINDOW = 258;
const static UINT_PTR MENU_OR_ID = 256;
}
private:
CCommentView &self;
- struct ColorList{
- enum type{
- selectBack = RGB(255,240,240),
- outLineSelect = RGB(255,0,0),
- outLineNomal = RGB(0,0,0),
- colLine = RGB(224,224,224)
- };
- };
+
public:
///
///\83j\83R\90¶\82Ì\83X\83e\81[\83^\83X\90Ý\92è
///
- VOID SetStreamStatus(StreamStatus &st);
+ VOID SetStreamStatus(StreamStatus_P st);
///
///\83`\83\83\83b\83g\83R\83\81\83\93\83g\8eó\90M\8e\9e\82Ì\8f\88\97\9d
--- /dev/null
+#include "stdafx.h"
+#include "nlite_include.h"
+
+namespace nlite{
+
+Exception::Exception(){}
+
+Exception::Exception(const char* const& errMessage):exception(errMessage){}
+
+Exception::Exception(const wchar_t * const & errMessage,UINT_PTR in_line,LPCTSTR in_fileName):
+ wErrMessage(errMessage),
+ line(in_line)
+{
+ WCHAR file[_MAX_FNAME];
+ WCHAR ext[_MAX_EXT];
+ _wsplitpath(in_fileName,(wchar_t*)NULL,(wchar_t*)NULL,file,ext);
+ fileName = file;
+ fileName += ext;
+
+}
+
+LPCWSTR Exception::what(){
+
+ return wErrMessage;
+
+}
+
+UINT_PTR Exception::getLineNo(){
+
+ return line;
+}
+
+LPCWSTR Exception::getFileName(){
+
+ return fileName;
+
+}
+
+
+AppInitException::AppInitException(UINT_PTR in_line,LPCTSTR in_fileName):Exception(TEXT("\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8f\89\8aú\89»\82É\8e¸\94s\82µ\82Ü\82µ\82½"),in_line,in_fileName){}
+
+
+
+NLIBException::NLIBException(LPCTSTR errmessage,NLIB_RESULT rslt,UINT_PTR in_line,LPCTSTR in_fileName):errcode(rslt),Exception(errmessage,in_line,in_fileName){}
+
+NLiveException::NLiveException(LPCTSTR errmessage,UINT_PTR in_line,LPCTSTR in_fileName):Exception(errmessage,in_line,in_fileName){}
+
+}
\ No newline at end of file
UINT_PTR line;
CNLiteString fileName;
- //\83R\83\93\83X\83g\83\89\83N\83^
+
public:
- Exception(){}
- Exception(const char* const& errMessage):exception(errMessage){}
- Exception(const wchar_t * const & errMessage,UINT_PTR in_line,LPCTSTR in_fileName):
- wErrMessage(errMessage),
- line(in_line)
- {
- WCHAR file[_MAX_FNAME];
- WCHAR ext[_MAX_EXT];
- _wsplitpath(in_fileName,(wchar_t*)NULL,(wchar_t*)NULL,file,ext);
- fileName = file;
- fileName += ext;
-
- }
-
- LPCWSTR what(){
-
- return wErrMessage;
-
- }
+ ///
+ ///\83R\83\93\83X\83g\83\89\83N\83^
+ ///
+ Exception();
+ Exception(const char* const& errMessage);
+ Exception(const wchar_t * const & errMessage,UINT_PTR in_line,LPCTSTR in_fileName);
+
+
+ ///
+ ///\83G\83\89\81[\95¶\8c¾\8eæ\93¾
+ ///
+ LPCWSTR what();
- UINT_PTR getLineNo(){
- return line;
- }
+ ///
+ ///\83G\83\89\81[\94\90¶\8ds\8eæ\93¾
+ ///
+ UINT_PTR getLineNo();
- LPCWSTR getFileName(){
-
- return fileName;
-
- }
+ ///
+ ///\83G\83\89\81[\94\90¶\83t\83@\83C\83\8b\96¼\8eæ\93¾
+ ///
+ LPCWSTR getFileName();
};
-
+ ///
+ ///\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8f\89\8aú\89»\97á\8aO\83N\83\89\83X
+ ///
class AppInitException : public Exception{
public:
-
- AppInitException(UINT_PTR in_line,LPCTSTR in_fileName):Exception(TEXT("\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8f\89\8aú\89»\82É\8e¸\94s\82µ\82Ü\82µ\82½"),in_line,in_fileName){}
-
-
-
+ ///
+ ///\83R\83\93\83X\83g\83\89\83N\83^
+ ///
+ AppInitException(UINT_PTR in_line,LPCTSTR in_fileName);
};
+
+ ///
+ ///nlib\97á\8aO\83N\83\89\83X
+ ///
class NLIBException : public Exception{
private:
NLIB_RESULT errcode;
public:
- NLIBException(LPCTSTR errmessage,NLIB_RESULT rslt,UINT_PTR in_line,LPCTSTR in_fileName):errcode(rslt),Exception(errmessage,in_line,in_fileName)
- {}
+ NLIBException(LPCTSTR errmessage,NLIB_RESULT rslt,UINT_PTR in_line,LPCTSTR in_fileName);
+
};
+
+ ///
+ ///\83j\83R\90¶\97á\8aO\83N\83\89\83X
+ ///
class NLiveException :public Exception{
public:
-
- NLiveException(LPCTSTR errmessage,UINT_PTR in_line,LPCTSTR in_fileName):Exception(errmessage,in_line,in_fileName){}
+ NLiveException(LPCTSTR errmessage,UINT_PTR in_line,LPCTSTR in_fileName);
+
};
///
const static LPCTSTR NLITE_MAINWINDOW = TEXT("nlite");
- ///
- ///\83E\83B\83\93\83h\83E\8dÅ\92á\83T\83C\83Y
- ///
- const static SIZE lowestFrameSize = {300,300};
+
///
///\83\81\83C\83\93\83t\83\8c\81[\83\80\83N\83\89\83X
///
- class CNliteMainFrame : public CFrameWindowImpl<CNliteMainFrame>,
- public CUpdateUI<CNliteMainFrame>,public CMessageFilter, public CIdleHandler
+ class CNliteMainFrame : public CFrameWindowImpl<CNliteMainFrame>
+ ,public CUpdateUI<CNliteMainFrame>,public CMessageFilter, public CIdleHandler
{
- ///
- ///\92è\90\94
- ///
- enum{
- IDC_COMBO_REBAR = 301,
- IDC_COMBO_TITLE = 302
- };
+
public:
///
///\83R\83\81\83\93\83g\8eó\90M\8aJ\8en\8e\9e\82Ì\83R\81[\83\8b\83o\83b\83N\8f\88\97\9d
///
- VOID OnChatReceveStart(StreamStatus &streamStatus);
+ VOID OnChatReceveStart(StreamStatus_P streamStatus);
///
CSubLiveNoComboBox subLiveNoComboBox; //\90¶\95ú\91\97\94Ô\8d\86\93ü\97Í\97p\83R\83\93\83{\83{\83b\83N\83X(\83T\83u\83N\83\89\83X)
CCommentWriteWindow commentWriteWindow; //\83R\83\81\83\93\83g\8f\91\82«\8d\9e\82Ý\97p\83N\83\89\83X
CTabCtrl tabctrl; //\83^\83u\83R\83\93\83g\83\8d\81[\83\8b
-
HFONT hTabFont; //\83^\83u\83E\83B\83\93\83h\83E\97p\82Ì\83t\83H\83\93\83g
CComboBoxEx lvNoCombo; //\90¶\95ú\91\97\94Ô\8d\86\93ü\97Í\97p\83R\83\93\83{\83{\83b\83N\83X
INT_PTR statusBarHeight; //\83X\83e\81[\83^\83X\83o\81[\82Ì\8d\82\82³
Property nliteProperty; //\83A\83v\83\8a\83P\81[\83V\83\87\83\93\83v\83\8d\83p\83e\83B
CNicoLiveStream nicoLiveStream; //\83j\83R\83j\83R\90¶\95ú\91\97\83I\83u\83W\83F\83N\83g
private:
-
// \83\81\83b\83Z\81[\83W\83t\83B\83\8b\83^\8f\88\97\9d
- virtual BOOL PreTranslateMessage(MSG* pMsg){
- // \8aî\92ê\83N\83\89\83X\82ÌPreTranslateMessage\82ð\8cÄ\82Ñ\8fo\82·
- return CFrameWindowImpl<CNliteMainFrame>::PreTranslateMessage(pMsg);
- }
+ virtual BOOL PreTranslateMessage(MSG* pMsg);
// \83A\83C\83h\83\8b\8f\88\97\9d
- virtual BOOL OnIdle(){
- return FALSE;
- }
+ virtual BOOL OnIdle();
+
+
public:
// \83\81\83b\83Z\81[\83W\83}\83b\83v
BEGIN_MSG_MAP_EX(CNliteMainFrame)
MSG_WM_CREATE(OnCreate)
+ MSG_WM_CLOSE(OnClose)
MSG_WM_DESTROY(OnDestroy)
MESSAGE_HANDLER(WM_SIZE,OnSize)
MSG_WM_SIZING(OnSizing)
///
VOID Finalaize();
- VOID OnDestroy();
-
+
+ ///
+ ///\97á\8aO\94\90¶\8e\9e\82Ì\8f\88\97\9d
+ ///
VOID OnException();
private:
///
+ ///\83E\83B\83\93\83h\83E\82ð\95Â\82¶\82é\82Æ\82«\82Ì\8f\88\97\9d
+ ///
+ VOID OnClose();
+
+ ///
+ ///\83E\83B\83\93\83h\83E\94j\8aü\8e\9e\82Ì\8f\88\97\9d
+ ///
+ VOID OnDestroy();
+
+ ///
///\83c\81[\83\8b\83o\81[\8d\82\82³\95Ï\8dX
///
LRESULT OnRbnHeightChange(INT_PTR wParam,LPNMHDR lParam,BOOL &bHandled);
///
LRESULT OnCreate(LPCREATESTRUCT lpcs);
- VOID ConnectNicoLive(LPCTSTR liveNo);
+
+ ///
+ ///\83j\83R\90¶\95ú\91\97\82É\90Ú\91±
+ ///
+ BOOL ConnectNicoLive(LPCTSTR liveNo);
//\83N\83b\83L\81[\82Ì\90Ý\92è
VOID OnCookie(UINT uNotifyCode,int nID,HWND hWndCtl);
-
+ ///
+ ///CNicoLiveStream\82Ì\83R\81[\83\8b\83o\83b\83N\97p\8aÖ\90\94
+ ///
static NLIB_RESULT LiveCallBack(NICOLIVE_EVENT eventType,NicoLiveStream_P pNicoLiveStream,LPVOID option,NICOLIVE_PARAM param1,NICOLIVE_PARAM param2);
static const RECT commentViewSize = {5,0,5,0};
+///
+///\92è\90\94
+///
+enum{
+ IDC_COMBO_REBAR = 301,
+ IDC_COMBO_TITLE = 302
+};
+
+
+///
+///\83E\83B\83\93\83h\83E\8dÅ\92á\83T\83C\83Y
+///
+const static SIZE lowestFrameSize = {300,300};
+
CNliteMainFrame::~CNliteMainFrame(){
hTabFont = CreateFontIndirect(&lf);
}
+
+// \83\81\83b\83Z\81[\83W\83t\83B\83\8b\83^\8f\88\97\9d
+BOOL CNliteMainFrame::PreTranslateMessage(MSG* pMsg){
+ // \8aî\92ê\83N\83\89\83X\82ÌPreTranslateMessage\82ð\8cÄ\82Ñ\8fo\82·
+ return CFrameWindowImpl<CNliteMainFrame>::PreTranslateMessage(pMsg);
+}
+
+// \83A\83C\83h\83\8b\8f\88\97\9d
+BOOL CNliteMainFrame::OnIdle(){
+ return FALSE;
+}
+
//\83T\83C\83Y\95Ï\8dX\8f\88\97\9d
VOID CNliteMainFrame::ChangeSize(const SIZE& client){
}
-VOID CNliteMainFrame::OnDestroy(){
+VOID CNliteMainFrame::OnClose(){
+ this->ShowWindow(SW_HIDE);
nicoLiveStream.DisConnect();
+ this->DestroyWindow();
+
+ return;
+}
+
+VOID CNliteMainFrame::OnDestroy(){
+
commentView.DestroyWindow();
PostQuitMessage(0);
}
-VOID CNliteMainFrame::ConnectNicoLive(LPCTSTR liveNo){
+BOOL CNliteMainFrame::ConnectNicoLive(LPCTSTR liveNo){
nicoLiveStream.DisConnect();
commentView.OnConnect();
- nicoLiveStream.Connect(nicoVideoAuth,liveNo,LiveCallBack,&userData);
+ BOOL rslt = FALSE;
+ NLIB_RESULT code = nicoLiveStream.Connect(nicoVideoAuth,liveNo,LiveCallBack,&userData);
+
+ //\83G\83\89\81[\83R\81[\83h\8f\88\97\9d
+ switch(code){
+
+ //\90³\8fí\8fI\97¹
+ case NLIB_ERR_OK:
+
+ rslt = TRUE;
+ break;
+
+ //\91z\92è\82³\82ê\82½\83G\83\89\81[\83R\81[\83h
+ case NLIB_ERR_COOKIE_FAILED:
+ case NLIB_LIVENO_FAILED_UNDEFEINE:
+ case NLIB_GETPLAYERSTATUS_FAILED_CONNECT:
+ case NLIB_ERR_GETPLAYERSTATUS_INVALID_LV:
+ case NLIB_ERR_GETPLAYERSTATUS_INVALID_THREAD:
+ case NLIB_ERR_GETPLAYERSTATUS_CLOSED:
+ case NLIB_ERR_GETPLAYERSTATUS_UNKNOWN_ERROR:
+ case NLIB_ERR_GETPLAYERSTATUS_SERVER_ERROR:
+ case NLIB_ERR_GETPLAYERSTATUS_DELETED:
+ case NLIB_ERR_GETPLAYERSTATUS_FULL:
+ case NLIB_ERR_GETPLAYERSTATUS_PERMISSION_DENIED:
+ case NLIB_ERR_GETPLAYERSTATUS_ACCESS_LOCKED:
+ case NLIB_ERR_GETPLAYERSTATUS_REQUIRE_COMMUNITY_MEMBER:
+ case NLIB_ERR_GETPLAYERSTATUS_COMINGSOON:
+ case NLIB_ERR_GETPLAYERSTATUS_NOTFOUND:
+ case NLIB_ERR_GETPLAYERSTATUS_NOTLOGIN:
+ case NLIB_ERR_GETPLAYERSTATUS_UNKNOWN:
+ case NLIB_ERR_GETPLAYERSTATUS_MAINTENANCE:
+ case NLIB_ERR_GETPLAYERSTATUS_NOT_PERMITTED:
+ case NLIB_ERR_GETPLAYERSTATUS_REQUIRE_ACCEPT_PRINT_TIMESHIFT_TICKET:
+ case NLIB_ERR_GETPLAYERSTATUS_TSARCHIVE:
+ case NLIB_ERR_GETPLAYERSTATUS_USERTIMESHIFT:
+ case NLIB_ERR_GETPLAYERSTATUS_UNDEFINED:
+
+ ::MessageBox(NULL,NLIB_GetErrorMessage(code),TEXT("\95ú\91\97\90Ú\91±\83G\83\89\81["),MB_ICONERROR | MB_OK);
+ rslt = FALSE;
+ break;
+
+
+ //\91z\92è\82³\82ê\82Ä\82¢\82È\82¢\83G\83\89\81[\83R\81[\83h
+ default:
+ {
+ UnexpectedErrorMessageShow( TEXT("\95ú\91\97\90Ú\91±\92\86\82É"),NLIB_GetErrorMessage(code));
+ errprint(TEXT("\95ú\91\97\90Ú\91±\83G\83\89\81[:%s"),NLIB_GetErrorMessage(code));
+ rslt = FALSE;
+ }
+ break;
+
+ }
+ return rslt;
}
case NICOLIVE_EVENT_RECEVE_CONNECTRESULT:
- userData.OnChatReceveStart(*NicoLiveStream_getStreamStatus(pNicoLiveStream));
+ userData.OnChatReceveStart(NicoLiveStream_getStreamStatus(pNicoLiveStream));
break;
untilConnectingFlag = TRUE;
std::vector<TCHAR> buffer(this->GetWindowTextLengthW() + 1);
::GetWindowTextW(this->m_hWnd,&buffer[0],buffer.size());
- self.ConnectNicoLive(&buffer[0]);
- _beginthread(AgreeEnterKeyThread,0,this);
+ if(self.ConnectNicoLive(&buffer[0]) != TRUE){
+ _beginthread(AgreeEnterKeyThread,0,this);
+ }
}
cs.Unlock();
}
-VOID CNliteMainFrame::CLiveUserData::OnChatReceveStart(StreamStatus &streamStatus){
+VOID CNliteMainFrame::CLiveUserData::OnChatReceveStart(StreamStatus_P streamStatus){
commentView.SetStreamStatus(streamStatus);
-VOID CStreamStatus::SetStreamStatus(StreamStatus &streamStatus){
-
- id = streamStatus.id;
- default_community = streamStatus.default_community;
- provider_type = streamStatus.provider_type;
- start_time = streamStatus.start_time;
- end_time = streamStatus.end_time;
- open_time = streamStatus.open_time;
- base_time = streamStatus.base_time;
+VOID CStreamStatus::SetStreamStatus(StreamStatus_P streamStatus){
+
+ id = StreamStatus_getId(streamStatus);
+ default_community = StreamStatus_getDefaultCommunity(streamStatus);
+ provider_type = StreamStatus_getProviderType(streamStatus);
+ start_time = StreamStatus_getStartTime(streamStatus);
+ end_time = StreamStatus_getEndTime(streamStatus);
+ open_time = StreamStatus_getOpenTime(streamStatus);
+ base_time = StreamStatus_getBaseTime(streamStatus);
}
VOID Initalize();
- VOID SetStreamStatus(StreamStatus &streamStatus);
+ VOID SetStreamStatus(StreamStatus_P streamStatus);
};
}
+PropertyBase::PropertyBase(LPCTSTR in_sectionName):sectionName(in_sectionName){}
+
+BOOL CCookieSettingWindow::OnInitDialog(CWindow wndFocus, LPARAM lInitParam){
+ // \83X\83N\83\8a\81[\83\93\82Ì\92\86\89\9b\82É\94z\92u
+ CenterWindow();
+
+
+ CButton radio;
+
+ switch(this->browserType){
+
+ case BT_INTERNET_EXPLORER:
+
+ radio = GetDlgItem(IDC_RADIO_IE);
+
+ break;
+
+ case BT_FIRE_FOX:
+
+ radio = GetDlgItem(IDC_RADIO_FIREFOX);
+
+ break;
+
+
+ case BT_GOOGLE_CHROME:
+
+ radio = GetDlgItem(IDC_RADIO_CHROME);
+
+ break;
+
+ case BT_IE_COMPONENT:
+
+ radio = GetDlgItem(IDC_RADIO_IECM);
+
+ break;
+
+ default:
+ goto skip;
+ }
+ radio.SetCheck(BST_CHECKED);
+
+skip:
+
+ return TRUE;
+}
+
+VOID CCookieSettingWindow::OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){
+ CButton ieRadio = GetDlgItem(IDC_RADIO_IE);
+ CButton firefoxRadio = GetDlgItem(IDC_RADIO_FIREFOX);
+ CButton chromeRadio = GetDlgItem(IDC_RADIO_CHROME);
+ CButton iecmRadio = GetDlgItem(IDC_RADIO_IECM);
+
+ if(ieRadio.GetCheck() == BST_CHECKED){
+
+ this->browserType = BT_INTERNET_EXPLORER;
+
+ }
+
+ if(firefoxRadio.GetCheck() == BST_CHECKED){
+
+ this->browserType = BT_FIRE_FOX;
+
+ }
+
+ if(chromeRadio.GetCheck() == BST_CHECKED){
+
+ this->browserType = BT_GOOGLE_CHROME;
+
+ }
+
+ if(iecmRadio.GetCheck() == BST_CHECKED){
+
+ this->browserType = BT_IE_COMPONENT;
+
+ }
+
+
+ EndDialog(nID);
+}
+
+VOID CCookieSettingWindow::OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl){
+ EndDialog(nID);
+}
+
+VOID CCookieSettingWindow::SetBrowserType(BROWSERTYPE browserType){
+
+ this->browserType = browserType;
+
+
+ return;
+}
+
+BROWSERTYPE CCookieSettingWindow::GetBrowserType(){
+ return this->browserType;
+}
+
+
+
+CommentViewProperty::CommentViewProperty():
+ commentFoldingFlag(TRUE),
+ commentTimeType(StreamingTimeType),
+ PropertyBase(TEXT("COMMENTVIEW")),
+ baseStringColor(RGB(0,0,0)),
+ backColor(RGB(255,255,255))
+
+{
+
+ memset(headerholSize,-1,sizeof(headerholSize));
+}
+
+LPCTSTR CommentViewProperty::GetSectionName(){
+
+ return sectionName;
+
+}
+
+
+CommentReadProperty::CommentReadProperty():
+ commentReadFlag(FALSE),
+ ngWordReadFlag(TRUE),
+ ngUserReadFlag(TRUE),
+ managementReadFlag(TRUE),
+ bspReadFlag(TRUE),
+ userCommentReadFlag(TRUE),
+ teropReadFlag(TRUE),
+ PropertyBase(TEXT("COMMENTREAD"))
+{}
+
+LPCTSTR CommentReadProperty::GetSectionName(){
+
+ return sectionName;
+
+}
+
+
+GeneralProperty::GeneralProperty():
+ userCountUpdateFlag(TRUE),
+ commentLogAutoSaveFlag(FALSE),
+ defaultBroserFlag(TRUE),
+ autoNameRegisterFlag(FALSE),
+ autoNameUpdateFlag(FALSE),
+ numberNameFlag(FALSE),
+ autoColorRegisterFlag(FALSE),
+ activeCountTimeFlag(TRUE),
+ PropertyBase(TEXT("GENERAL")),
+ browserType(BT_NOSETTING)
+{}
+
+LPCTSTR GeneralProperty::GetSectionName(){
+
+ return sectionName;
+
+}
+
+MainFrameProperty::MainFrameProperty():
+windowFrontFlag(TRUE),
+PropertyBase(TEXT("MAINFRAME"))
+{
+
+ ZeroMemory(&windowSize,sizeof(windowSize));
+
+}
+
+LPCTSTR MainFrameProperty::GetSectionName(){
+
+ return sectionName;
+}
+
+
+Property::Property()
+{
+ TCHAR localAppPath[_MAX_PATH];
+ SHGetFolderPathW(0,CSIDL_LOCAL_APPDATA,0,SHGFP_TYPE_CURRENT,localAppPath);
+
+ this->appLocalPath = localAppPath;
+}
+
+Property::~Property()
+{
+
+
+}
+
+VOID Property::Initialize(){
+ this->~Property();
+ new(this) Property;
+
+}
+
+BROWSERTYPE Property::CookieSetting(){
+
+ CCookieSettingWindow cookieSettingwindow;
+
+ cookieSettingwindow.SetBrowserType(gp.browserType);
+
+ cookieSettingwindow.DoModal();
+
+ this->gp.browserType = cookieSettingwindow.GetBrowserType();
+
+ return this->gp.browserType;
+
+}
+
VOID Property::ReadIniFile(){
CreatePropertyFile();
namespace nlite{
-
+ ///
+ ///\83v\83\8d\83p\83e\83B\83x\81[\83X\83N\83\89\83X
+ ///
+ struct PropertyBase{
+
+ protected:
+ CNLiteString sectionName;
+
+ public:
+ PropertyBase(LPCTSTR in_sectionName);
+ };
class CCookieSettingWindow:public CDialogImpl<CCookieSettingWindow>{
COMMAND_ID_HANDLER_EX(IDCANCEL, OnCancel)
END_MSG_MAP()
- BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam){
- // \83X\83N\83\8a\81[\83\93\82Ì\92\86\89\9b\82É\94z\92u
- CenterWindow();
-
-
- CButton radio;
-
- switch(this->browserType){
-
- case BT_INTERNET_EXPLORER:
-
- radio = GetDlgItem(IDC_RADIO_IE);
-
- break;
-
- case BT_FIRE_FOX:
-
- radio = GetDlgItem(IDC_RADIO_FIREFOX);
-
- break;
-
-
- case BT_GOOGLE_CHROME:
-
- radio = GetDlgItem(IDC_RADIO_CHROME);
-
- break;
-
- case BT_IE_COMPONENT:
-
- radio = GetDlgItem(IDC_RADIO_IECM);
-
- break;
-
- default:
- goto skip;
- }
- radio.SetCheck(BST_CHECKED);
-
-skip:
-
- return TRUE;
- }
-
- void OnOK(UINT uNotifyCode, int nID, CWindow wndCtl){
- CButton ieRadio = GetDlgItem(IDC_RADIO_IE);
- CButton firefoxRadio = GetDlgItem(IDC_RADIO_FIREFOX);
- CButton chromeRadio = GetDlgItem(IDC_RADIO_CHROME);
- CButton iecmRadio = GetDlgItem(IDC_RADIO_IECM);
-
- if(ieRadio.GetCheck() == BST_CHECKED){
-
- this->browserType = BT_INTERNET_EXPLORER;
-
- }
-
- if(firefoxRadio.GetCheck() == BST_CHECKED){
-
- this->browserType = BT_FIRE_FOX;
-
- }
-
- if(chromeRadio.GetCheck() == BST_CHECKED){
-
- this->browserType = BT_GOOGLE_CHROME;
-
- }
-
- if(iecmRadio.GetCheck() == BST_CHECKED){
-
- this->browserType = BT_IE_COMPONENT;
-
- }
-
-
- EndDialog(nID);
- }
- void OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl){
- EndDialog(nID);
- }
+ BOOL OnInitDialog(CWindow wndFocus, LPARAM lInitParam);
- void SetBrowserType(BROWSERTYPE browserType){
+ VOID OnOK(UINT uNotifyCode, int nID, CWindow wndCtl);
- this->browserType = browserType;
+ VOID OnCancel(UINT uNotifyCode, int nID, CWindow wndCtl);
+ VOID SetBrowserType(BROWSERTYPE browserType);
- return;
- }
+ BROWSERTYPE GetBrowserType();
- BROWSERTYPE GetBrowserType(){
- return this->browserType;
- }
+
};
- struct CommentViewProperty{
+ struct CommentViewProperty:public PropertyBase{
enum CommentTimeType{
};
- private:
- CNLiteString sectionName;
+
#define COMMENTVIEW_HEADERITEMSIZE 5
public:
COLORREF lineColor;
- CommentViewProperty():
- commentFoldingFlag(TRUE),
- commentTimeType(StreamingTimeType),
- sectionName(TEXT("COMMENTVIEW")),
- baseStringColor(RGB(0,0,0)),
- backColor(RGB(255,255,255))
-
- {
+ CommentViewProperty();
- memset(headerholSize,-1,sizeof(headerholSize));
- }
+ LPCTSTR GetSectionName();
- LPCTSTR GetSectionName(){
-
- return sectionName;
-
- }
+
};
///
///\83R\83\81\83\93\83g\93Ç\82Ý\8fã\82°\90Ý\92è
///
- struct CommentReadProperty{
+ struct CommentReadProperty:public PropertyBase{
- private:
- CNLiteString sectionName;
public:
BOOL commentReadFlag; //\83R\83\81\83\93\83g\93Ç\82Ý\8fã\82°\83t\83\89\83O
CNLiteString shortComment; //\8fÈ\97ª\8e\9e\82É\93Ç\82Ý\8fã\82°\82é\95¶\8e\9a\97ñ
CNLiteString outString; //\93Ç\82Ý\8fã\82°\8f\9c\8aO\95¶\8e\9a\97ñ
+ CommentReadProperty();
- CommentReadProperty():
- commentReadFlag(FALSE),
- ngWordReadFlag(TRUE),
- ngUserReadFlag(TRUE),
- managementReadFlag(TRUE),
- bspReadFlag(TRUE),
- userCommentReadFlag(TRUE),
- teropReadFlag(TRUE),
- sectionName(TEXT("COMMENTREAD"))
- {}
-
- LPCTSTR GetSectionName(){
-
- return sectionName;
-
- }
+ LPCTSTR GetSectionName();
+
};
///
///\88ê\94Ê\90Ý\92è
///
- struct GeneralProperty{
- private:
- CNLiteString sectionName;
+ struct GeneralProperty:public PropertyBase{
public:
CNLiteString browserPath; //\83u\83\89\83E\83U\82Ì\83p\83X
BOOL activeCountTimeFlag; //\83A\83N\83e\83B\83u\90l\90\94\82ð\8e©\93®\8dX\90V\82·\82é\82©\82Ì\83t\83\89\83O
BROWSERTYPE browserType; //\83u\83\89\83E\83U\83^\83C\83v
- GeneralProperty():
- userCountUpdateFlag(TRUE),
- commentLogAutoSaveFlag(FALSE),
- defaultBroserFlag(TRUE),
- autoNameRegisterFlag(FALSE),
- autoNameUpdateFlag(FALSE),
- numberNameFlag(FALSE),
- autoColorRegisterFlag(FALSE),
- activeCountTimeFlag(TRUE),
- sectionName(TEXT("GENERAL")),
- browserType(BT_NOSETTING)
- {}
-
- LPCTSTR GetSectionName(){
-
- return sectionName;
+ GeneralProperty();
- }
+ LPCTSTR GetSectionName();
+
};
///
///\83\81\83C\83\93\90Ý\92è
///
- struct MainFrameProperty{
+ struct MainFrameProperty:public PropertyBase{
- private:
- CNLiteString sectionName;
public:
SIZE windowSize; //\83E\83B\83\93\83h\83E\83T\83C\83Y
BOOL windowFrontFlag; //\83E\83B\83\93\83h\83E\8dÅ\91O\96Ê\95\\8e¦\83t\83\89\83O
+
///
///\83R\83\93\83X\83g\83\89\83N\83^
///
- MainFrameProperty():
- windowFrontFlag(TRUE),
- sectionName(TEXT("MAINFRAME"))
- {
-
- ZeroMemory(&windowSize,sizeof(windowSize));
+ MainFrameProperty();
- }
- LPCTSTR GetSectionName(){
-
- return sectionName;
- }
+ LPCTSTR GetSectionName();
+
+
};
CNLiteString appLocalPath;
CNLiteString propertyPath;
+ Property();
- Property()
- {
- TCHAR localAppPath[_MAX_PATH];
- SHGetFolderPathW(0,CSIDL_LOCAL_APPDATA,0,SHGFP_TYPE_CURRENT,localAppPath);
-
- this->appLocalPath = localAppPath;
- }
+ ~Property();
- ~Property()
- {
-
- }
private:
VOID CreatePropertyFile();
public:
-
- VOID Initialize(){
- this->~Property();
- new(this) Property;
-
- }
-
-
-
-
+ VOID Initialize();
VOID ReadIniFile();
VOID WriteIniFile();
- BROWSERTYPE CookieSetting(){
-
- CCookieSettingWindow cookieSettingwindow;
-
- cookieSettingwindow.SetBrowserType(gp.browserType);
+ BROWSERTYPE CookieSetting();
- cookieSettingwindow.DoModal();
-
- this->gp.browserType = cookieSettingwindow.GetBrowserType();
-
- return this->gp.browserType;
-
- }
+
};
--- /dev/null
+#include "stdafx.h"
+#include "nlite_include.h"
+
+namespace nlite{
+
+///
+///\83R\83\93\83X\83g\83\89\83N\83^
+///
+CNLITESTRING_THISTYPE::CNLITESTRING_THISTYPE():CNLITESTRING_INTERNALSTRINGTYPE(){}
+
+CNLITESTRING_THISTYPE::CNLITESTRING_THISTYPE(LPCTSTR in_str):CNLITESTRING_INTERNALSTRINGTYPE(in_str){}
+
+CNLITESTRING_THISTYPE::CNLITESTRING_THISTYPE(const CNLITESTRING_INTERNALSTRINGTYPE_REFERENCE in_str):CNLITESTRING_INTERNALSTRINGTYPE(in_str){}
+
+CNLITESTRING_THISTYPE::CNLITESTRING_THISTYPE(const CNLITESTRING_THISTYPE_REFERENCE in_str):CNLITESTRING_INTERNALSTRINGTYPE(in_str){}
+
+}
\ No newline at end of file
public:
-
-
-
///
///\83R\83\93\83X\83g\83\89\83N\83^
///
- CNLITESTRING_THISTYPE():CNLITESTRING_INTERNALSTRINGTYPE(){}
+ CNLITESTRING_THISTYPE();
- CNLITESTRING_THISTYPE(LPCTSTR in_str):CNLITESTRING_INTERNALSTRINGTYPE(in_str){}
-
- CNLITESTRING_THISTYPE(const CNLITESTRING_INTERNALSTRINGTYPE_REFERENCE in_str):CNLITESTRING_INTERNALSTRINGTYPE(in_str){}
+ CNLITESTRING_THISTYPE(LPCTSTR in_str);
+
+ CNLITESTRING_THISTYPE(const CNLITESTRING_INTERNALSTRINGTYPE_REFERENCE in_str);
- CNLITESTRING_THISTYPE(const CNLITESTRING_THISTYPE_REFERENCE in_str):CNLITESTRING_INTERNALSTRINGTYPE(in_str){}
+ CNLITESTRING_THISTYPE(const CNLITESTRING_THISTYPE_REFERENCE in_str);
#include "targetver.h"
#define WIN32_LEAN_AND_MEAN // Windows \83w\83b\83_\81[\82©\82ç\8eg\97p\82³\82ê\82Ä\82¢\82È\82¢\95\94\95ª\82ð\8f\9c\8aO\82µ\82Ü\82·\81B
-#define _CRT_SECURE_NO_WARNINGS 1 //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·\83}\83N\83\8d
-#define _CRT_NON_CONFORMING_SWPRINTFS 1 //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·\83}\83N\83\8d
-//#define USE_STUB
+#define _CRT_SECURE_NO_WARNINGS 1 //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
+#define _CRT_NON_CONFORMING_SWPRINTFS 1 //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
+#define USE_STUB //\83X\83^\83u\82ð\8eg\97p\82·\82é\8fê\8d\87\82Í\83R\83\81\83\93\83g\83A\83E\83g\82ð\89ð\8f\9c\82·\82é
+#define WINDEBUGER_NOPRINTING //\83f\83o\83b\83O\8fo\97Í\82ð\83R\83\93\83\\81[\83\8b\82É\95\\8e¦\82µ\82½\82\82È\82¢\8fê\8d\87\92è\8b`\82·\82é
#define _WTL_NO_CSTRING
+
// Windows \83w\83b\83_\81[ \83t\83@\83C\83\8b:
#include <windows.h>
#include <WindowsX.h>
#pragma once
+#define _CRT_SECURE_NO_WARNINGS 1 //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
+#define _CRT_NON_CONFORMING_SWPRINTFS 1 //vc++\82Ì\82¨\82¹\82Á\82©\82¢\82È\8cx\8d\90\82ð\8fÁ\82·
+#define TEST_CONNECT_RESULT_CHECK
+
+///
+///\90¶\95ú\91\97\83X\83e\81[\83^\83X
+///
+typedef struct streamstatus_t{
+
+ TCHAR id[LENGTH_128];
+ TCHAR default_community[LENGTH_128];
+ PROVIDERTYPE provider_type;
+ BOOL is_owner;
+ time_t start_time;
+ time_t end_time;
+ time_t open_time;
+ time_t base_time;
+}StreamStatus,*StreamStatus_P;
typedef struct nicolivestream_t{
NicoRecvCallBack callback;
return NLIB_ERR_OK;
}
+#ifndef TEST_CONNECT_RESULT_CHECK
+
NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVideoAuth,LPCWSTR url,NicoRecvCallBack callback,LPVOID option){
NLIB_RESULT rslt = NLIB_ERR_OK;
return rslt;
}
+#endif
+
+#ifdef TEST_CONNECT_RESULT_CHECK
+NLIB_RESULT NicoLiveStream_connect(NicoLiveStream_P self,NicoVideoAuth_P nicoVideoAuth,LPCWSTR url,NicoRecvCallBack callback,LPVOID option){
+
+ static NLIB_RESULT rslt = NLIB_ERR_OK;
+
+ rslt++;
+
+
+
+ return rslt;
+}
+
+
+#endif
VOID NicoLiveStream_disConnect(NicoLiveStream_P self){
}
+//
+//\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\8aÖ\98A
+//
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82ÌID\82ð\8eæ\93¾
+///
+NLIB_DECLSPEC LPCTSTR StreamStatus_getId(StreamStatus_P self){
+
+ return self->id;
+}
+
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83R\83~\83\85\83j\83e\83B\94Ô\8d\86\82ð\8eæ\93¾
+///
+NLIB_DECLSPEC LPCTSTR StreamStatus_getDefaultCommunity(StreamStatus_P self){
+
+ return self->default_community;
+}
+
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83v\83\8d\83o\83C\83_\83^\83C\83v\82ð\8eæ\93¾
+///
+PROVIDERTYPE StreamStatus_getProviderType(StreamStatus_P self){
+
+ return self->provider_type;
+}
+
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83I\81[\83i\81[\83t\83\89\83O\82ð\8eæ\93¾
+///
+BOOL StreamStatus_isOwner(StreamStatus_P self){
+
+ return self->is_owner;
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8aJ\8en\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getStartTime(StreamStatus_P self){
+
+ return self->start_time;
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8fI\97¹\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getEndTime(StreamStatus_P self){
+
+ return self->end_time;
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\8aJ\8fê\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getOpenTime(StreamStatus_P self){
+
+ return self->open_time;
+
+}
+
+///
+///\83X\83g\83\8a\81[\83\80\83X\83e\81[\83^\83X\82Ì\83x\81[\83X\8e\9e\8d\8f\82ð\8eæ\93¾
+///
+time_t StreamStatus_getBaseTime(StreamStatus_P self){
+
+ return self->base_time;
+}
+
+
<None Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
+ <ClCompile Include="..\nlib\nlib_errorMessage.c" />
<ClCompile Include="nlite_stub.cpp" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="nlite_stub.cpp">
<Filter>ソース ファイル</Filter>
</ClCompile>
+ <ClCompile Include="..\nlib\nlib_errorMessage.c">
+ <Filter>ソース ファイル</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\nlib\nlib.h">