namespace nlite{
+ //\91O\95û\90é\8c¾
+ class CNicoLiveStream;
+
+ ///
+ ///\90¶\95ú\91\97\83X\83e\81[\83^\83X\83N\83\89\83X
+ ///
class CStreamStatus{
public:
- CNLiteString id;
- CNLiteString default_community;
- PROVIDERTYPE provider_type;
- BOOL is_owner;
- time_t start_time;
- time_t end_time;
- time_t open_time;
- time_t base_time;
+ CNLiteString title; //\95ú\91\97\83^\83C\83g\83\8b
+ CNLiteString id; //\95ú\91\97ID
+ CNLiteString default_community; //\83R\83~\83\85\83j\83e\83BID
+ PROVIDERTYPE provider_type; //\95ú\91\97\82ª\83R\83~\83\85\83j\83e\83B\81E\83`\83\83\83\93\83l\83\8b\81E\8cö\8e®\82Ì\94»\92è
+ BOOL is_owner; //\90Ú\91±\82µ\82½\95ú\91\97\82Ì\95ú\91\97\8eå\82ª\8e©\95ª\82©\82Ì\83t\83\89\83O
+ time_t start_time; //\95ú\91\97\8aJ\8en\8e\9e\8aÔ
+ time_t end_time; //\95ú\91\97\8fI\97¹\8e\9e\8aÔ
+ time_t open_time; //\8aJ\8fê\8e\9e\8aÔ
+ time_t base_time; //\95s\96¾\81A\95ú\91\97\8aJ\8en\8e\9e\8aÔ\81H
public:
- CStreamStatus():
- id(TEXT("")),
- default_community(TEXT("")),
- provider_type(NO_SETTING_PROVIDER_TYPE),
- start_time(0),
- end_time(0),
- open_time(0),
- base_time(0)
- {}
+ ///
+ ///\83R\83\93\83X\83g\83\89\83N\83^
+ ///
+ CStreamStatus();
- VOID Initalize(){
+ ///
+ ///\8f\89\8aú\89»\8aÖ\90\94
+ ///
+ VOID Initalize();
+
+ ///
+ ///nlib\82©\82ç\93n\82³\82ê\82½\95ú\91\97\83f\81[\83^\82ð\83Z\83b\83g\82·\82é
+ ///
+ VOID SetStreamStatus(StreamStatus_P streamStatus);
- this->~CStreamStatus();
- new(this) CStreamStatus;
- }
+ };
- VOID SetStreamStatus(StreamStatus &streamStatus){
+ ///
+ ///\83j\83R\83j\83R\93®\89æ\94F\8fØ\83I\83u\83W\83F\83N\83g
+ ///
+ class CNicoVideoAuth{
+ friend CNicoLiveStream;
+ private:
+ NicoVideoAuth_P nicoVideoAuth; //\93à\95\94\83f\81[\83^
- 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;
- }
+ public:
+ ///
+ ///\83R\83\93\83X\83g\83\89\83N\83^
+ ///
+ CNicoVideoAuth();
+
+ ///
+ ///\83f\83X\83g\83\89\83N\83^
+ ///
+ ~CNicoVideoAuth();
+
+ ///
+ ///\83u\83\89\83E\83U\83^\83C\83v\82ð\83Z\83b\83g
+ ///
+ VOID SetBrowserType(BROWSERTYPE bt);
- };
+ private:
+ ///
+ ///\93à\95\94\83f\81[\83^\82ð\8eæ\93¾
+ ///
+ NicoVideoAuth_P GetAuth();
- class CNicoVideoAuth{
- private:
- NicoVideoAuth_P nicoVideoAuth;
+ };
+
- public:
- CNicoVideoAuth()
- :nicoVideoAuth(NicoVideoAuth_new()){}
+ ///
+ ///\83`\83\83\83b\83g\8f\91\82«\8d\9e\82Ý\83f\81[\83^\8dì\90¬\83N\83\89\83X
+ ///
+ class CCommentMaker{
+ friend CNicoLiveStream; //\83t\83\8c\83\93\83h\90é\8c¾
- ~CNicoVideoAuth(){
+ private:
+ CNLiteString chatString; //\83`\83\83\83b\83g\96{\95¶
+ std::deque<CNLiteString> mailsBuffer; //mail\83R\83}\83\93\83h\83f\81[\83^\8ai\94[\97p\83o\83b\83t\83@
+ std::deque<CNLiteString> exAttributeBuffer; //\8ag\92£\83R\83}\83\93\83h\8ai\94[\97p\83o\83b\83t\83@
+ std::vector<LPCTSTR> mails; //mail\83R\83}\83\93\83h\83\8a\83X\83g
+ std::vector<LPCTSTR> exAttribute; //\8ag\92£\83R\83}\83\93\83h\83\8a\83X\83g
- NicoVideoAuth_delete(&nicoVideoAuth);
- }
+ public:
- VOID SetBrowserType(BROWSERTYPE bt){
- NLIB_RESULT rslt;
- rslt = NicoVideoAuth_getNicoVideoAuth(nicoVideoAuth,bt);
- if(rslt != NLIB_ERR_OK){
+ ///
+ ///\83`\83\83\83b\83g\96{\95¶\8ai\94[
+ ///
+ BOOL SetChatString(LPCTSTR chatString);
- throw NLIBException(TEXT("\83j\83R\83j\83R\93®\89æ\94F\8fØ\8fî\95ñ\8eæ\93¾\82É\8e¸\94s\82µ\82Ü\82µ\82½"),rslt,__LINE__,TEXT(__FILE__));
- }
- }
+ ///
+ ///mail\83R\83}\83\93\83h\92Ç\89Á
+ ///
+ BOOL AddMail(LPCTSTR mail);
- NicoVideoAuth_P GetAuth(){
+ ///
+ ///\8ag\92£\83R\83}\83\93\83h\92Ç\89Á
+ ///
+ BOOL AddExAttribute(LPCTSTR name,LPCTSTR value);
- return this->nicoVideoAuth;
- }
};
+ ///
+ ///\83j\83R\83j\83R\90¶\95ú\91\97\83N\83\89\83X
+ ///
class CNicoLiveStream{
private:
- NicoLiveStream_P nicoLiveStream;
+ NicoLiveStream_P nicoLiveStream; //\93à\95\94\83f\81[\83^
public:
- CNicoLiveStream()
- :nicoLiveStream(NicoLiveStream_new())
+
+ ///
+ ///\83R\83\93\83X\83g\83\89\83N\83^
+ ///
+ CNicoLiveStream();
+
+ ///
+ ///\83f\83X\83g\83\89\83N\83^
+ ///
+ ~CNicoLiveStream();
+
- {}
- ~CNicoLiveStream(){
+ ///
+ ///\90Ú\91±\8e\9e\82Ì\83R\83\81\83\93\83g\8eó\90M\90\94\82ð\90Ý\92è
+ ///
+ VOID SetResFrom(INT_PTR res_from);
- NicoLiveStream_delete(&nicoLiveStream);
-
- }
-
+ ///
+ ///\8c»\8dÝ\90Ý\92è\82µ\82Ä\82 \82é\83R\83\81\83\93\83g\8eó\90M\90\94\82ð\8eæ\93¾
+ ///
+ INT_PTR GetResFrom();
- VOID Connect(CNicoVideoAuth &nicoVideoAuth,LPCTSTR url,NicoRecvCallBack callback,LPVOID userData){
+ ///
+ ///\83n\81[\83g\83r\81[\83g\8aÔ\8au\82ð\83~\83\8a\95b\92P\88Ê\82Å\90Ý\92è
+ ///
+ VOID SetHeartBeatMsec(DWORD msec);
- NLIB_RESULT rslt;
+ ///
+ ///\83n\81[\83g\83r\81[\83g\8aÔ\8au\82ð\83~\83\8a\95b\92P\88Ê\82Å\8eæ\93¾
+ ///
+ DWORD GetHeartBeatMsec();
- rslt = NicoLiveStream_connect(nicoLiveStream,nicoVideoAuth.GetAuth(),url,callback,userData);
+ ///
+ ///\83n\81[\83g\83r\81[\83g\82Ì\97L\8cø\96³\8cø\90Ý\92è
+ ///
+ VOID SetHeartBeatFlag(BOOL flag);
- if(rslt != NLIB_ERR_OK){
- throw NLIBException(TEXT("\83j\83R\83j\83R\90¶\95ú\91\97\90Ú\91±\82É\8e¸\94s\82µ\82Ü\82µ\82½"),rslt,__LINE__,TEXT(__FILE__));
- }
- }
-
+ ///
+ ///\83n\81[\83g\83r\81[\83g\82ª\97L\8cø\82©\92²\82×\82é
+ ///
+ BOOL GetHeartBeatFlag();
- VOID DisConnect(){
+ ///
+ ///\83L\81[\83v\83A\83\89\83C\83u\82Ì\8aÔ\8au\82ð\90Ý\92è
+ ///
+ VOID SetKeapALiveMsec(DWORD msec);
- NicoLiveStream_disConnect(nicoLiveStream);
- }
-
- VOID SendChat(LPCTSTR chatBuf,std::vector<LPCTSTR> mails,std::vector<LPCTSTR> extends){
- NLIB_RESULT rslt;
- mails.insert( mails.end(),(LPCTSTR)NULL);
- extends.insert(extends.end(),(LPCTSTR)NULL);
- rslt = NicoLiveStream_sendChat(nicoLiveStream,chatBuf,&mails[0],&extends[0]);
- if(rslt != NLIB_ERR_OK){
- throw NLIBException(TEXT("\83R\83\81\83\93\83g\91\97\90M\92\86\82É\8fá\8aQ\82ª\94\90¶\82µ\82Ü\82µ\82½"),rslt,__LINE__,TEXT(__FILE__));
- }
- }
+ ///
+ ///\8c»\8dÝ\90Ý\92è\82µ\82Ä\82 \82é\83L\81[\83v\83A\83\89\83C\83u\82Ì\8aÔ\8au\82ð\8eæ\93¾
+ ///
+ DWORD GetKeapALiveMsec();
+
+ ///
+ ///\83L\81[\83v\83A\83\89\83C\83u\97L\8cø\96³\8cø\90Ý\92è
+ ///
+ VOID SetKeapAliveFlag(BOOL flag);
+
+ ///
+ ///\83L\81[\83v\83A\83\89\83C\83u\82ª\97L\8cø\82©\94»\92è\82·\82é
+ ///
+ BOOL GetKeapAliveFlag();
+
+
+ ///
+ ///\90¶\95ú\91\97\82É\90Ú\91±
+ ///
+ NLIB_RESULT Connect(CNicoVideoAuth &nicoVideoAuth,LPCTSTR url,NicoRecvCallBack callback,LPVOID userData);
+ ///
+ ///\95ú\91\97\90Ø\92f
+ ///
+ VOID DisConnect();
+
+ ///
+ ///\83`\83\83\83b\83g\91\97\90M
+ ///
+ NLIB_RESULT SendChat(CCommentMaker &commentMaker);
+
+ ///
+ ///\83n\81[\83g\83r\81[\83g\91\97\90M
+ ///
+ NLIB_RESULT SendHeartBeat();
+
};
+
+
+
}
\ No newline at end of file