OSDN Git Service

2012/01/09 1:42:48
[nlite/nlite.git] / nlite / nlite_nlib.h
1 #pragma once
2
3 namespace nlite{
4
5         class CStreamStatus{
6
7
8
9         public:
10                 tstring id;
11                 tstring default_community;
12                 PROVIDERTYPE provider_type;
13                 BOOL is_owner;
14                 time_t start_time;
15                 time_t end_time;
16                 time_t open_time;
17                 time_t base_time;
18
19         public:
20                 CStreamStatus():
21                                 id(TEXT("")),
22                                 default_community(TEXT("")),
23                                 provider_type(NO_SETTING_PROVIDER_TYPE),
24                                 start_time(0),
25                                 end_time(0),
26                                 open_time(0),
27                                 base_time(0)
28                         {}
29
30                 
31
32                 VOID Initalize(){
33
34
35                         this->~CStreamStatus();
36                         new(this) CStreamStatus;
37
38                 }
39
40
41                 VOID SetStreamStatus(StreamStatus &streamStatus){
42
43                         id = streamStatus.id;
44                         default_community = streamStatus.default_community;
45                         provider_type = streamStatus.provider_type;
46                         start_time = streamStatus.start_time;
47                         end_time = streamStatus.end_time;
48                         open_time = streamStatus.open_time;
49                         base_time = streamStatus.base_time;
50
51                 }
52
53
54         };
55
56         class CNicoVideoAuth{
57
58         private:
59                 NicoVideoAuth_P nicoVideoAuth;
60
61
62         public:
63                 CNicoVideoAuth()
64                         :nicoVideoAuth(NicoVideoAuth_new()){}
65
66                 ~CNicoVideoAuth(){
67
68                         NicoVideoAuth_delete(&nicoVideoAuth);
69                 }
70
71                 VOID SetBrowserType(BROWSERTYPE bt){
72                         NLIB_RESULT rslt;
73
74                         rslt = NicoVideoAuth_getNicoVideoAuth(nicoVideoAuth,bt);
75                         if(rslt != NLIB_ERR_OK){
76
77                                 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__));
78                         }
79
80                 }
81
82                 NicoVideoAuth_P GetAuth(){
83
84                         return this->nicoVideoAuth;
85                 }
86
87         };
88
89         class CNicoLiveStream{
90
91         private:
92                 NicoLiveStream_P nicoLiveStream;
93
94         public:
95                 CNicoLiveStream()
96                         :nicoLiveStream(NicoLiveStream_new())
97
98                 {}
99                 ~CNicoLiveStream(){
100
101                         NicoLiveStream_delete(&nicoLiveStream);
102                         
103                 }
104
105                 
106
107                 VOID Connect(CNicoVideoAuth &nicoVideoAuth,LPCTSTR url,NicoRecvCallBack callback,LPVOID userData){
108
109                         NLIB_RESULT rslt;
110
111                         rslt = NicoLiveStream_connect(nicoLiveStream,nicoVideoAuth.GetAuth(),url,callback,userData);
112
113                         if(rslt != NLIB_ERR_OK){
114
115                                 throw NLIBException(TEXT("\83j\83R\83j\83R\90\95ú\91\97\90Ú\91±\82É\8e¸\94s\82µ\82Ü\82µ\82½"),rslt,__LINE__,TEXT(__FILE__));
116                         }
117                 }
118                 
119
120                 VOID DisConnect(){
121
122                         NicoLiveStream_disConnect(nicoLiveStream);
123                 }
124                 
125                 VOID SendChat(LPCTSTR chatBuf,std::vector<LPCTSTR> mails,std::vector<LPCTSTR> extends){
126                         NLIB_RESULT rslt;
127                         mails.insert( mails.end(),(LPCTSTR)NULL);
128                         extends.insert(extends.end(),(LPCTSTR)NULL);
129                         rslt = NicoLiveStream_sendChat(nicoLiveStream,chatBuf,&mails[0],&extends[0]);
130
131                         if(rslt != NLIB_ERR_OK){
132                                 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__));
133                         }
134                 }
135
136                 
137
138         };
139
140
141
142 }