00001 #pragma once 00002 00003 #include <afxinet.h> 00004 #include "Playlist.h" 00005 00006 #define ISDb_PROTOCOL_VERSION 1 00007 00008 struct isdb_subtitle 00009 { 00010 int id, discs, disc_no; 00011 CStringA name, format, language, iso639_2, nick, email; 00012 struct isdb_subtitle() {reset();} 00013 void reset() {id = discs = disc_no = 0; format = language = nick = email = "";} 00014 }; 00015 00016 struct isdb_movie 00017 { 00018 CList<CStringA> titles; 00019 CList<isdb_subtitle> subs; 00020 void reset() {titles.RemoveAll(); subs.RemoveAll();} 00021 void operator = (const struct isdb_movie& m) 00022 { 00023 titles.RemoveAll(); 00024 titles.AddTail((CList<CStringA>*)&m.titles); 00025 subs.RemoveAll(); 00026 subs.AddTail((CList<isdb_subtitle>*)&m.subs); 00027 } 00028 }; 00029 00030 struct filehash {CString name; UINT64 size, hash;}; 00031 00032 extern bool hash(LPCTSTR fn, filehash& fh); 00033 extern void hash(CPlaylist& pl, CList<filehash>& fhs); 00034 extern CStringA makeargs(CPlaylist& pl); 00035 extern bool OpenUrl(CInternetSession& is, CString url, CStringA& str); 00036