From: APTX Date: Fri, 21 Aug 2009 18:16:35 +0000 (+0200) Subject: - Merge with master X-Git-Url: https://gitweb.aptx.org/?a=commitdiff_plain;h=345931032c146da4048ebffdcbe80bcda8b46223;p=aniplayer-old.git - Merge with master --- 345931032c146da4048ebffdcbe80bcda8b46223 diff --cc lib/anidbudpclient/anidbudpclient.pro index b9deb3a,8298dd1..9025a35 --- a/lib/anidbudpclient/anidbudpclient.pro +++ b/lib/anidbudpclient/anidbudpclient.pro @@@ -24,10 -24,9 +24,13 @@@ SOURCES += client.cpp mylistaddcommand.cpp \ logoutcommand.cpp \ uptimecommand.cpp \ -- mylistcommand.cpp \ - filecommand.cpp \ - file.cpp ++ mylistcommand.cpp \ ++ filecommand.cpp \ ++ file.cpp \ + hash.cpp \ + hashproducer.cpp \ - hashconsumer.cpp ++ hashconsumer.cpp ++ HEADERS += client.h \ anidbudpclient_global.h \ abstractcommand.h \ @@@ -36,16 -35,15 +39,23 @@@ mylistaddcommand.h \ logoutcommand.h \ uptimecommand.h \ -- mylistcommand.h \ - filecommand.h \ - file.h ++ mylistcommand.h \ ++ filecommand.h \ ++ file.h \ + hash.h \ + hashproducer.h \ + hashconsumer.h \ + circularbuffer.h ++ CONV_HEADERS += include/AniDBUdpClient/Client \ include/AniDBUdpClient/AbstractCommand \ include/AniDBUdpClient/RawCommand \ include/AniDBUdpClient/MyListCommand \ include/AniDBUdpClient/MyListAddCommand \ - include/AniDBUdpClient/UptimeCommand \ + include/AniDBUdpClient/FileCommand \ - include/AniDBUdpClient/File ++ include/AniDBUdpClient/File \ + include/AniDBUdpClient/UptimeCommand \ + include/AniDBUdpClient/Hash ++ include/AniDBUdpClient/UptimeCommand \ ++ include(../../lib/qtstatemachine/src/qtstatemachine.pri) diff --cc lib/anidbudpclient/anidbudpclient_global.h index e405295,933f87b..d0dacd7 --- a/lib/anidbudpclient/anidbudpclient_global.h +++ b/lib/anidbudpclient/anidbudpclient_global.h @@@ -195,9 -194,195 +195,199 @@@ namespace AniDBUdpClien Q_ENUMS(Error IdlePolicy ReplyCode State FileState); + namespace FileFlag { + enum FileFlag { + AniDBFileName = 0x00000001, + // Unused = 0x00000002, + // Unused = 0x00000004, + AiredDate = 0x00000008, + Description = 0x00000010, + LengthInSeconds = 0x00000020, + SubLanguage = 0x00000040, + DubLanguage = 0x00000080, + + FileType = 0x00000100, + VideoResolution = 0x00000200, + VideoBitrate = 0x00000400, + VideoCodec = 0x00000800, + AudioBitrate = 0x00001000, + AudioCodec = 0x00002000, + Source = 0x00004000, + Quality = 0x00008000, + + // Reserved = 0x00010000, + // Unused = 0x00020000, + // Unused = 0x00040000, + Crc32 = 0x00080000, + Sha1 = 0x00100000, + Md5 = 0x00200000, + Ed2k = 0x00400000, + Size = 0x00800000, + + State = 0x01000000, + IsDeprecated = 0x02000000, + OtherEpisodes = 0x04000000, + Lid = 0x08000000, + Gid = 0x10000000, + Eid = 0x20000000, + Aid = 0x40000000, + // Unused = 0x80000000, + + Byte4 = AniDBFileName | AiredDate | Description + | LengthInSeconds | SubLanguage | DubLanguage, + Byte3 = FileType | VideoResolution | VideoBitrate + | VideoCodec | AudioBitrate | AudioCodec + | Source | Quality, + Byte2 = Crc32 | Sha1 | Md5 | Ed2k, + Byte1 = State | IsDeprecated | OtherEpisodes + | Lid | Gid | Eid | Aid, + AllData = Byte1 | Byte2 | Byte3 | Byte4, + InvalidBits = ~AllData + }; + } + + Q_FLAGS(FileFlag::FileFlag); + Q_DECLARE_FLAGS(FileFlags, FileFlag::FileFlag); + typedef FileFlags FMask; + + namespace FileAnimeFlag { + enum FileAnimeFlag { + DateAidRecordUpdated = 0x00000001, + // Unused = 0x00000002, + // Unused = 0x00000004, + // Unused = 0x00000008, + // Unused = 0x00000010, + // Unused = 0x00000020, + GroupShortName = 0x00000040, + GroupName = 0x00000080, + + // Unused = 0x00000100, + // Unused = 0x00000200, + EpisodeVoteCount = 0x00000400, + EpisodeRating = 0x00000800, + EpKanjiName = 0x00001000, + EpRomajiName = 0x00002000, + EpName = 0x00004000, + EpNo = 0x00008000, + + // Retired = 0x00010000, + // Retired = 0x00020000, + SynonymList = 0x00040000, + ShortNameList = 0x00080000, + OtherName = 0x00100000, + EnglishName = 0x00200000, + KanjiName = 0x00400000, + RomajiName = 0x00800000, + + // Reserved = 0x01000000, + CateogryList = 0x02000000, + RelatedAidType = 0x04000000, + RelatedAidList = 0x08000000, + Type = 0x10000000, + Year = 0x20000000, + HighestEpisodeNumber = 0x40000000, + AnimeTotalEpisodes = 0x80000000, + + Byte4 = DateAidRecordUpdated | GroupShortName + | GroupName, + Byte3 = EpisodeVoteCount | EpisodeRating + | EpKanjiName | EpRomajiName | EpName + | EpNo, + Byte2 = SynonymList | ShortNameList + | OtherName | EnglishName | KanjiName + | RomajiName, + Byte1 = CateogryList | RelatedAidType + | RelatedAidList | Type | Year + | HighestEpisodeNumber + | AnimeTotalEpisodes, + AllData = Byte1 | Byte2 | Byte3 | Byte4, + InvalidBits = ~AllData + }; + } + + Q_FLAGS(FileAnimeFlag::FileAnimeFlag); + Q_DECLARE_FLAGS(FileAnimeFlags, FileAnimeFlag::FileAnimeFlag); + typedef FileAnimeFlag::FileAnimeFlag FileAMask; + + namespace AnimeFlag { + static const qint64 CategoryWeightList = Q_INT64_C(0x0000000000000001); + static const qint64 CategoryList = Q_INT64_C(0x0000000000000002); + static const qint64 RelatedAidType = Q_INT64_C(0x0000000000000004); + static const qint64 RelatedAidList = Q_INT64_C(0x0000000000000008); + static const qint64 Type = Q_INT64_C(0x0000000000000010); + static const qint64 Year = Q_INT64_C(0x0000000000000020); + // static const qint64 Unused = Q_INT64_C(0x0000000000000040); + static const qint64 Aid = Q_INT64_C(0x0000000000000080); + + // static const qint64 Retired = Q_INT64_C(0x0000000000000100); + // static const qint64 Retired = Q_INT64_C(0x0000000000000200); + static const qint64 SynonymList = Q_INT64_C(0x0000000000000400); + static const qint64 ShortNameList = Q_INT64_C(0x0000000000000800); + static const qint64 OtherName = Q_INT64_C(0x0000000000001000); + static const qint64 EnglishName = Q_INT64_C(0x0000000000002000); + static const qint64 KanjiName = Q_INT64_C(0x0000000000004000); + static const qint64 RomajiName = Q_INT64_C(0x0000000000008000); + + static const qint64 CategoryIdList = Q_INT64_C(0x0000000000010000); + static const qint64 PicName = Q_INT64_C(0x0000000000020000); + static const qint64 Url = Q_INT64_C(0x0000000000040000); + static const qint64 EndDate = Q_INT64_C(0x0000000000080000); + static const qint64 AirDate = Q_INT64_C(0x0000000000100000); + static const qint64 SpecialEpCount = Q_INT64_C(0x0000000000200000); + static const qint64 NormalEpCount = Q_INT64_C(0x0000000000400000); + static const qint64 Episodes = Q_INT64_C(0x0000000000800000); + + static const qint64 Is18Restricted = Q_INT64_C(0x0000000001000000); + static const qint64 AwardList = Q_INT64_C(0x0000000002000000); + static const qint64 ReviewCount = Q_INT64_C(0x0000000004000000); + static const qint64 AverageReviewRating = Q_INT64_C(0x0000000008000000); + static const qint64 TempVoteCount = Q_INT64_C(0x0000000010000000); + static const qint64 TempRating = Q_INT64_C(0x0000000020000000); + static const qint64 VoteCount = Q_INT64_C(0x0000000040000000); + static const qint64 Rating = Q_INT64_C(0x0000000080000000); + + static const qint64 DateRecordUpdated = Q_INT64_C(0x0000000100000000); + // static const qint64 Unused = Q_INT64_C(0x0000000200000000); + // static const qint64 Unused = Q_INT64_C(0x0000000400000000); + // static const qint64 Unused = Q_INT64_C(0x0000000800000000); + static const qint64 AniemNfoId = Q_INT64_C(0x0000001000000000); + static const qint64 AllCinemaId = Q_INT64_C(0x0000002000000000); + static const qint64 ANNId = Q_INT64_C(0x0000004000000000); + static const qint64 AnimePlanetId = Q_INT64_C(0x0000008000000000); + + // static const qint64 Unused = Q_INT64_C(0x0000010000000000); + // static const qint64 Unused = Q_INT64_C(0x0000020000000000); + // static const qint64 Unused = Q_INT64_C(0x0000040000000000); + // static const qint64 Unused = Q_INT64_C(0x0000080000000000); + static const qint64 ProducerNameList = Q_INT64_C(0x0000100000000000); + static const qint64 ProducerIdList = Q_INT64_C(0x0000200000000000); + static const qint64 CreatorIdList = Q_INT64_C(0x0000400000000000); + static const qint64 CharacterIdList = Q_INT64_C(0x0000800000000000); + + static const qint64 Byte1 = CategoryWeightList | CategoryList | RelatedAidType + | RelatedAidList | Type | Year | Aid; + static const qint64 Byte2 = SynonymList | ShortNameList | OtherName + | EnglishName | KanjiName | RomajiName; + static const qint64 Byte3 = CategoryIdList | PicName | Url | EndDate | AirDate + | SpecialEpCount | NormalEpCount | Episodes; + static const qint64 Byte4 = Is18Restricted | AwardList | ReviewCount + | AverageReviewRating | TempVoteCount | TempRating + | VoteCount | Rating; + static const qint64 Byte5 = DateRecordUpdated | AniemNfoId | AllCinemaId + | ANNId | AnimePlanetId; + static const qint64 Byte6 = ProducerNameList | ProducerIdList | CreatorIdList + | CharacterIdList; + static const qint64 AllData = Byte1 | Byte2 | Byte3 | Byte4 + | Byte5 | Byte6; + static const qint64 InvalidBits = ~AllData; + } + + typedef qint64 AnimeFlags; + typedef AnimeFlags AMask; ++ + namespace HashPrivate { + static const qint64 ED2K_PART_SIZE = 9728000; + } } #endif // ANIDBUDPCLIENT_GLOBAL_H