From ca88d82677d2d093ee52f8512491534e80468f5e Mon Sep 17 00:00:00 2001 From: emeric Date: Tue, 10 Jun 2014 00:16:07 +0200 Subject: [PATCH] WIP, Remote Client/Server, Reworking cover art retreival. To be tested --- Makefile.am | 1 + cover/CoverArt.hpp | 36 + cover/CoverArtGrabber.cpp | 49 + cover/CoverArtGrabber.hpp | 20 + database/AudioTypes.hpp | 6 +- database/Database.hpp | 1 - database/Release.cpp | 8 +- remote/messages/Header.hpp | 8 +- remote/messages/collection.pb.cc | 1141 ++++++++++------- remote/messages/collection.pb.h | 1061 ++++++++------- remote/proto/collection.proto | 59 +- .../server/AudioCollectionRequestHandler.cpp | 65 +- .../server/AudioCollectionRequestHandler.hpp | 5 +- remote/server/tags | 240 ++++ test/Makefile.am | 1 + test/Makefile.in | 19 +- test/RemoteClientServer.cpp | 12 +- 17 files changed, 1799 insertions(+), 933 deletions(-) create mode 100644 cover/CoverArt.hpp create mode 100644 cover/CoverArtGrabber.cpp create mode 100644 cover/CoverArtGrabber.hpp create mode 100644 remote/server/tags diff --git a/Makefile.am b/Makefile.am index b648f282..bd507256 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,6 +16,7 @@ lms_SOURCES = \ $(top_srcdir)/av/FormatContext.cpp \ $(top_srcdir)/av/InputFormatContext.cpp \ $(top_srcdir)/av/Stream.cpp \ + $(top_srcdir)/cover/CoverArtGrabber.cpp \ $(top_srcdir)/ui/LmsApplication.cpp \ $(top_srcdir)/ui/audio/AudioWidget.cpp \ $(top_srcdir)/ui/audio/AudioDatabaseWidget.cpp \ diff --git a/cover/CoverArt.hpp b/cover/CoverArt.hpp new file mode 100644 index 00000000..5e1cebfe --- /dev/null +++ b/cover/CoverArt.hpp @@ -0,0 +1,36 @@ +#ifndef COVER_ART_HPP +#define COVER_ART_HPP + +#include +#include + +#include "database/AudioTypes.hpp" + +namespace CoverArt +{ + +class CoverArt +{ + public: + typedef std::vector data_type; + + CoverArt(); + CoverArt(const std::string& mime, const data_type& data) : _mimeType(mime), _data(data) {} + + const std::string& getMimeType() const { return _mimeType; } + const data_type& getData() const { return _data; } + + void setMimeType(const std::string& mimeType) { _mimeType = mimeType;} + void setData(const data_type& data) { _data = data; } + + private: + + std::string _mimeType; + data_type _data; +}; + + +} // namespace CoverArt + +#endif + diff --git a/cover/CoverArtGrabber.cpp b/cover/CoverArtGrabber.cpp new file mode 100644 index 00000000..dd35bc07 --- /dev/null +++ b/cover/CoverArtGrabber.cpp @@ -0,0 +1,49 @@ + +#include + +#include "CoverArtGrabber.hpp" + +#include "av/InputFormatContext.hpp" + + +namespace CoverArt { + +std::vector +Grabber::getFromRelease(Release::pointer release) +{ + std::vector res; + + // TODO + // Check if there is an image file in the directory of the release + // For now, just get the cover art from the first track of the release + + Wt::Dbo::collection tracks (release->getTracks()); + + Track::pointer firstTrack; + if (tracks.begin() != tracks.end()) + firstTrack = *tracks.begin(); + + if (firstTrack) + { + try + { + Av::InputFormatContext input(firstTrack->getPath()); + + std::vector< std::vector > pictures; + input.getPictures(pictures); + + BOOST_FOREACH(const std::vector& picture, pictures) + res.push_back( CoverArt("application/octet-stream", picture) ); + } + catch(std::exception& e) + { + std::cerr << "Cannot get pictures: " << e.what(); + } + } + + return res; + +} + +} // namespace CoverArt + diff --git a/cover/CoverArtGrabber.hpp b/cover/CoverArtGrabber.hpp new file mode 100644 index 00000000..8e62fe09 --- /dev/null +++ b/cover/CoverArtGrabber.hpp @@ -0,0 +1,20 @@ +#ifndef COVER_ART_GRABBER_HPP +#define COVER_ART_GRABBER_HPP + +#include "CoverArt.hpp" + + +namespace CoverArt { + +class Grabber +{ + public: + + static std::vector getFromTrack(Track::pointer track); + static std::vector getFromRelease(Release::pointer release); +}; + +} // namespace CoverArt + + +#endif diff --git a/database/AudioTypes.hpp b/database/AudioTypes.hpp index 65e1df97..588f3c19 100644 --- a/database/AudioTypes.hpp +++ b/database/AudioTypes.hpp @@ -15,6 +15,8 @@ class Track; class Release; class Artist; + + class Artist { public: @@ -66,6 +68,7 @@ class Release // Accessors static pointer getByName(Wt::Dbo::Session& session, const std::string& name); + static pointer getById(Wt::Dbo::Session& session, id_type id); static pointer getNone(Wt::Dbo::Session& session); static Wt::Dbo::collection getAll(Wt::Dbo::Session& session, std::vector artistIds, int offset = -1, int size = -1); @@ -78,6 +81,7 @@ class Release Wt::Dbo::collection > getTracks(void) const { return _tracks;} boost::posix_time::time_duration getDuration(void) const; + template void persist(Action& a) { @@ -87,7 +91,7 @@ class Release } private: - std::string _name; + std::string _name; Wt::Dbo::collection< Wt::Dbo::ptr > _tracks; // Tracks in the release }; diff --git a/database/Database.hpp b/database/Database.hpp index 2ece1ec9..0cca74ec 100644 --- a/database/Database.hpp +++ b/database/Database.hpp @@ -60,7 +60,6 @@ class Database DatabaseHandler _db; - std::list _directories; MetaData::Parser& _metadataParser; }; diff --git a/database/Release.cpp b/database/Release.cpp index b73e10c4..4907efc6 100644 --- a/database/Release.cpp +++ b/database/Release.cpp @@ -4,7 +4,6 @@ #include "AudioTypes.hpp" - Release::Release(const std::string& name) : _name(name) { @@ -16,6 +15,12 @@ Release::getByName(Wt::Dbo::Session& session, const std::string& name) return session.find().where("name = ?").bind( name ); } +Release::pointer +Release::getById(Wt::Dbo::Session& session, id_type id) +{ + return session.find().where("id = ?").bind(id); +} + Release::pointer Release::getNone(Wt::Dbo::Session& session) { @@ -66,3 +71,4 @@ Release::getDuration(void) const return res; } + diff --git a/remote/messages/Header.hpp b/remote/messages/Header.hpp index c2121951..91b4fb74 100644 --- a/remote/messages/Header.hpp +++ b/remote/messages/Header.hpp @@ -1,6 +1,8 @@ #ifndef REMOTE_HEADER_HPP #define REMOTE_HEADER_HPP +#include + namespace Remote { @@ -32,7 +34,7 @@ class Header bool from_buffer(const std::array& buffer) { if (decode32(&buffer[0]) != _magic) { - std::cerr << "Header: bad magic" << std::endl; + std::cerr << "Header: bad magic ('" << std::hex << std::setfill('0') << std::setw(8) << decode32(&buffer[0]) << "' instead of '" << std::hex << std::setfill('0') << std::setw(8) << _magic << "')" << std::endl; return false; } else @@ -75,8 +77,8 @@ class Header data[3] = (value) & 0xFF; } - static const uint32_t _magic = 0xbeef; - static const uint32_t _maxSize = 65536; + static const uint32_t _magic = 0xdeadbeef; + static const uint32_t _maxSize = 65536*32; uint32_t _size; }; diff --git a/remote/messages/collection.pb.cc b/remote/messages/collection.pb.cc index 3ccd111a..28e22d4d 100644 --- a/remote/messages/collection.pb.cc +++ b/remote/messages/collection.pb.cc @@ -38,6 +38,10 @@ const ::google::protobuf::internal::GeneratedMessageReflection* const ::google::protobuf::Descriptor* AudioCollectionRequest_GetTrackList_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* AudioCollectionRequest_GetTrackList_reflection_ = NULL; +const ::google::protobuf::Descriptor* AudioCollectionRequest_GetCoverArt_descriptor_ = NULL; +const ::google::protobuf::internal::GeneratedMessageReflection* + AudioCollectionRequest_GetCoverArt_reflection_ = NULL; +const ::google::protobuf::EnumDescriptor* AudioCollectionRequest_GetCoverArt_Type_descriptor_ = NULL; const ::google::protobuf::EnumDescriptor* AudioCollectionRequest_Type_descriptor_ = NULL; const ::google::protobuf::Descriptor* AudioCollectionResponse_descriptor_ = NULL; const ::google::protobuf::internal::GeneratedMessageReflection* @@ -81,12 +85,13 @@ void protobuf_AssignDesc_collection_2eproto() { "collection.proto"); GOOGLE_CHECK(file != NULL); AudioCollectionRequest_descriptor_ = file->message_type(0); - static const int AudioCollectionRequest_offsets_[5] = { + static const int AudioCollectionRequest_offsets_[6] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest, type_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest, get_genres_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest, get_artists_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest, get_releases_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest, get_tracks_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest, get_cover_art_), }; AudioCollectionRequest_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( @@ -132,8 +137,8 @@ void protobuf_AssignDesc_collection_2eproto() { sizeof(AudioCollectionRequest_GetGenreList)); AudioCollectionRequest_GetArtistList_descriptor_ = AudioCollectionRequest_descriptor_->nested_type(2); static const int AudioCollectionRequest_GetArtistList_offsets_[2] = { - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetArtistList, genre_id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetArtistList, batch_parameter_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetArtistList, genre_id_), }; AudioCollectionRequest_GetArtistList_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( @@ -147,11 +152,10 @@ void protobuf_AssignDesc_collection_2eproto() { ::google::protobuf::MessageFactory::generated_factory(), sizeof(AudioCollectionRequest_GetArtistList)); AudioCollectionRequest_GetReleaseList_descriptor_ = AudioCollectionRequest_descriptor_->nested_type(3); - static const int AudioCollectionRequest_GetReleaseList_offsets_[4] = { + static const int AudioCollectionRequest_GetReleaseList_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetReleaseList, batch_parameter_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetReleaseList, artist_id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetReleaseList, filter_genre_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetReleaseList, get_cover_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetReleaseList, batch_parameter_), }; AudioCollectionRequest_GetReleaseList_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( @@ -165,12 +169,11 @@ void protobuf_AssignDesc_collection_2eproto() { ::google::protobuf::MessageFactory::generated_factory(), sizeof(AudioCollectionRequest_GetReleaseList)); AudioCollectionRequest_GetTrackList_descriptor_ = AudioCollectionRequest_descriptor_->nested_type(4); - static const int AudioCollectionRequest_GetTrackList_offsets_[5] = { + static const int AudioCollectionRequest_GetTrackList_offsets_[4] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetTrackList, batch_parameter_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetTrackList, artist_id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetTrackList, release_id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetTrackList, genre_id_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetTrackList, get_cover_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetTrackList, batch_parameter_), }; AudioCollectionRequest_GetTrackList_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( @@ -183,15 +186,34 @@ void protobuf_AssignDesc_collection_2eproto() { ::google::protobuf::DescriptorPool::generated_pool(), ::google::protobuf::MessageFactory::generated_factory(), sizeof(AudioCollectionRequest_GetTrackList)); + AudioCollectionRequest_GetCoverArt_descriptor_ = AudioCollectionRequest_descriptor_->nested_type(5); + static const int AudioCollectionRequest_GetCoverArt_offsets_[3] = { + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetCoverArt, type_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetCoverArt, release_id_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetCoverArt, track_id_), + }; + AudioCollectionRequest_GetCoverArt_reflection_ = + new ::google::protobuf::internal::GeneratedMessageReflection( + AudioCollectionRequest_GetCoverArt_descriptor_, + AudioCollectionRequest_GetCoverArt::default_instance_, + AudioCollectionRequest_GetCoverArt_offsets_, + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetCoverArt, _has_bits_[0]), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionRequest_GetCoverArt, _unknown_fields_), + -1, + ::google::protobuf::DescriptorPool::generated_pool(), + ::google::protobuf::MessageFactory::generated_factory(), + sizeof(AudioCollectionRequest_GetCoverArt)); + AudioCollectionRequest_GetCoverArt_Type_descriptor_ = AudioCollectionRequest_GetCoverArt_descriptor_->enum_type(0); AudioCollectionRequest_Type_descriptor_ = AudioCollectionRequest_descriptor_->enum_type(0); AudioCollectionResponse_descriptor_ = file->message_type(1); - static const int AudioCollectionResponse_offsets_[6] = { + static const int AudioCollectionResponse_offsets_[7] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse, type_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse, error_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse, genre_list_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse, artist_list_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse, release_list_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse, track_list_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse, cover_art_), }; AudioCollectionResponse_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( @@ -314,13 +336,12 @@ void protobuf_AssignDesc_collection_2eproto() { ::google::protobuf::MessageFactory::generated_factory(), sizeof(AudioCollectionResponse_Artist)); AudioCollectionResponse_Release_descriptor_ = AudioCollectionResponse_descriptor_->nested_type(7); - static const int AudioCollectionResponse_Release_offsets_[6] = { + static const int AudioCollectionResponse_Release_offsets_[5] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Release, id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Release, name_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Release, nb_tracks_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Release, duration_secs_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Release, release_date_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Release, coverart_), }; AudioCollectionResponse_Release_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( @@ -334,7 +355,7 @@ void protobuf_AssignDesc_collection_2eproto() { ::google::protobuf::MessageFactory::generated_factory(), sizeof(AudioCollectionResponse_Release)); AudioCollectionResponse_Track_descriptor_ = AudioCollectionResponse_descriptor_->nested_type(8); - static const int AudioCollectionResponse_Track_offsets_[11] = { + static const int AudioCollectionResponse_Track_offsets_[10] = { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Track, id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Track, artist_id_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Track, release_id_), @@ -345,7 +366,6 @@ void protobuf_AssignDesc_collection_2eproto() { GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Track, duration_secs_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Track, release_date_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Track, original_release_date_), - GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AudioCollectionResponse_Track, coverart_), }; AudioCollectionResponse_Track_reflection_ = new ::google::protobuf::internal::GeneratedMessageReflection( @@ -383,6 +403,8 @@ void protobuf_RegisterTypes(const ::std::string&) { AudioCollectionRequest_GetReleaseList_descriptor_, &AudioCollectionRequest_GetReleaseList::default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( AudioCollectionRequest_GetTrackList_descriptor_, &AudioCollectionRequest_GetTrackList::default_instance()); + ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( + AudioCollectionRequest_GetCoverArt_descriptor_, &AudioCollectionRequest_GetCoverArt::default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( AudioCollectionResponse_descriptor_, &AudioCollectionResponse::default_instance()); ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage( @@ -420,6 +442,8 @@ void protobuf_ShutdownFile_collection_2eproto() { delete AudioCollectionRequest_GetReleaseList_reflection_; delete AudioCollectionRequest_GetTrackList::default_instance_; delete AudioCollectionRequest_GetTrackList_reflection_; + delete AudioCollectionRequest_GetCoverArt::default_instance_; + delete AudioCollectionRequest_GetCoverArt_reflection_; delete AudioCollectionResponse::default_instance_; delete AudioCollectionResponse_reflection_; delete AudioCollectionResponse_GenreList::default_instance_; @@ -451,7 +475,7 @@ void protobuf_AddDesc_collection_2eproto() { ::Remote::protobuf_AddDesc_common_2eproto(); ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( "\n\020collection.proto\022\006Remote\032\014common.proto" - "\"\347\007\n\026AudioCollectionRequest\0221\n\004type\030\001 \002(" + "\"\314\t\n\026AudioCollectionRequest\0221\n\004type\030\001 \002(" "\0162#.Remote.AudioCollectionRequest.Type\022\?" "\n\nget_genres\030\002 \001(\0132+.Remote.AudioCollect" "ionRequest.GetGenreList\022A\n\013get_artists\030\003" @@ -459,56 +483,61 @@ void protobuf_AddDesc_collection_2eproto() { "ArtistList\022C\n\014get_releases\030\004 \001(\0132-.Remot" "e.AudioCollectionRequest.GetReleaseList\022" "\?\n\nget_tracks\030\005 \001(\0132+.Remote.AudioCollec" - "tionRequest.GetTrackList\032.\n\016BatchParamet" - "er\022\016\n\006offset\030\001 \002(\r\022\014\n\004size\030\002 \002(\r\032V\n\014GetG" - "enreList\022F\n\017batch_parameter\030\002 \002(\0132-.Remo" - "te.AudioCollectionRequest.BatchParameter" - "\032i\n\rGetArtistList\022\020\n\010genre_id\030\002 \003(\004\022F\n\017b" - "atch_parameter\030\003 \002(\0132-.Remote.AudioColle" - "ctionRequest.BatchParameter\032\224\001\n\016GetRelea" - "seList\022\021\n\tartist_id\030\001 \003(\004\022\024\n\014filter_genr" - "e\030\002 \003(\004\022\021\n\tget_cover\030\003 \001(\010\022F\n\017batch_para" - "meter\030\004 \002(\0132-.Remote.AudioCollectionRequ" - "est.BatchParameter\032\242\001\n\014GetTrackList\022\021\n\ta" - "rtist_id\030\001 \003(\004\022\022\n\nrelease_id\030\002 \003(\004\022\020\n\010ge" - "nre_id\030\003 \003(\004\022\021\n\tget_cover\030\004 \001(\010\022F\n\017batch" - "_parameter\030\005 \002(\0132-.Remote.AudioCollectio" - "nRequest.BatchParameter\"a\n\004Type\022\024\n\020TypeG" - "etGenreList\020\001\022\025\n\021TypeGetArtistList\020\002\022\026\n\022" - "TypeGetReleaseList\020\003\022\024\n\020TypeGetTrackList" - "\020\004\"\375\t\n\027AudioCollectionResponse\0222\n\004type\030\001" - " \001(\0162$.Remote.AudioCollectionResponse.Ty" - "pe\022\034\n\005error\030\002 \001(\0132\r.Remote.Error\022=\n\ngenr" - "e_list\030\003 \001(\0132).Remote.AudioCollectionRes" - "ponse.GenreList\022\?\n\013artist_list\030\004 \001(\0132*.R" - "emote.AudioCollectionResponse.ArtistList" - "\022A\n\014release_list\030\005 \001(\0132+.Remote.AudioCol" - "lectionResponse.ReleaseList\022=\n\ntrack_lis" - "t\030\006 \001(\0132).Remote.AudioCollectionResponse" - ".TrackList\032B\n\tGenreList\0225\n\006genres\030\002 \003(\0132" - "%.Remote.AudioCollectionResponse.Genre\032E" - "\n\nArtistList\0227\n\007artists\030\002 \003(\0132&.Remote.A" - "udioCollectionResponse.Artist\032H\n\013Release" - "List\0229\n\010releases\030\002 \003(\0132\'.Remote.AudioCol" - "lectionResponse.Release\032B\n\tTrackList\0225\n\006" - "tracks\030\002 \003(\0132%.Remote.AudioCollectionRes" - "ponse.Track\032+\n\010CoverArt\022\021\n\tmime_type\030\001 \001" - "(\t\022\014\n\004data\030\002 \003(\014\032!\n\005Genre\022\n\n\002id\030\001 \002(\004\022\014\n" - "\004name\030\002 \002(\t\0327\n\006Artist\022\n\n\002id\030\001 \002(\004\022\014\n\004nam" - "e\030\002 \002(\t\022\023\n\013nb_releases\030\003 \002(\r\032\237\001\n\007Release" - "\022\n\n\002id\030\001 \002(\004\022\014\n\004name\030\002 \002(\t\022\021\n\tnb_tracks\030" - "\003 \002(\r\022\025\n\rduration_secs\030\004 \002(\r\022\024\n\014release_" - "date\030\005 \001(\t\022:\n\010coverArt\030\006 \001(\0132(.Remote.Au" - "dioCollectionResponse.CoverArt\032\343\001\n\005Track" - "\022\n\n\002id\030\001 \002(\004\022\021\n\tartist_id\030\002 \002(\004\022\022\n\nrelea" - "se_id\030\003 \002(\004\022\020\n\010genre_id\030\004 \003(\004\022\023\n\013disc_nu" - "mber\030\005 \001(\r\022\024\n\014track_number\030\006 \001(\r\022\014\n\004name" - "\030\007 \002(\t\022\025\n\rduration_secs\030\010 \002(\r\022\024\n\014release" - "_date\030\t \001(\t\022\035\n\025original_release_date\030\n \001" - "(\t\022\020\n\010coverArt\030\013 \001(\014\"d\n\004Type\022\r\n\tTypeErro" - "r\020\001\022\021\n\rTypeGenreList\020\002\022\022\n\016TypeArtistList" - "\020\003\022\023\n\017TypeReleaseList\020\004\022\021\n\rTypeTrackList" - "\020\005", 2322); + "tionRequest.GetTrackList\022A\n\rget_cover_ar" + "t\030\006 \001(\0132*.Remote.AudioCollectionRequest." + "GetCoverArt\032.\n\016BatchParameter\022\016\n\006offset\030" + "\001 \002(\r\022\014\n\004size\030\002 \002(\r\032V\n\014GetGenreList\022F\n\017b" + "atch_parameter\030\001 \002(\0132-.Remote.AudioColle" + "ctionRequest.BatchParameter\032i\n\rGetArtist" + "List\022F\n\017batch_parameter\030\001 \002(\0132-.Remote.A" + "udioCollectionRequest.BatchParameter\022\020\n\010" + "genre_id\030\002 \003(\004\032\201\001\n\016GetReleaseList\022F\n\017bat" + "ch_parameter\030\001 \002(\0132-.Remote.AudioCollect" + "ionRequest.BatchParameter\022\021\n\tartist_id\030\002" + " \003(\004\022\024\n\014filter_genre\030\003 \003(\004\032\217\001\n\014GetTrackL" + "ist\022F\n\017batch_parameter\030\001 \002(\0132-.Remote.Au" + "dioCollectionRequest.BatchParameter\022\021\n\ta" + "rtist_id\030\002 \003(\004\022\022\n\nrelease_id\030\003 \003(\004\022\020\n\010ge" + "nre_id\030\004 \003(\004\032\260\001\n\013GetCoverArt\022=\n\004type\030\001 \002" + "(\0162/.Remote.AudioCollectionRequest.GetCo" + "verArt.Type\022\022\n\nrelease_id\030\002 \001(\004\022\020\n\010track" + "_id\030\003 \001(\004\"<\n\004Type\022\032\n\026TypeGetCoverArtRele" + "ase\020\001\022\030\n\024TypeGetCoverArtTrack\020\002\"v\n\004Type\022" + "\024\n\020TypeGetGenreList\020\001\022\025\n\021TypeGetArtistLi" + "st\020\002\022\026\n\022TypeGetReleaseList\020\003\022\024\n\020TypeGetT" + "rackList\020\004\022\023\n\017TypeGetCoverArt\020\005\"\375\t\n\027Audi" + "oCollectionResponse\0222\n\004type\030\001 \001(\0162$.Remo" + "te.AudioCollectionResponse.Type\022\034\n\005error" + "\030\002 \001(\0132\r.Remote.Error\022=\n\ngenre_list\030\003 \001(" + "\0132).Remote.AudioCollectionResponse.Genre" + "List\022\?\n\013artist_list\030\004 \001(\0132*.Remote.Audio" + "CollectionResponse.ArtistList\022A\n\014release" + "_list\030\005 \001(\0132+.Remote.AudioCollectionResp" + "onse.ReleaseList\022=\n\ntrack_list\030\006 \001(\0132).R" + "emote.AudioCollectionResponse.TrackList\022" + ";\n\tcover_art\030\007 \003(\0132(.Remote.AudioCollect" + "ionResponse.CoverArt\032B\n\tGenreList\0225\n\006gen" + "res\030\002 \003(\0132%.Remote.AudioCollectionRespon" + "se.Genre\032E\n\nArtistList\0227\n\007artists\030\002 \003(\0132" + "&.Remote.AudioCollectionResponse.Artist\032" + "H\n\013ReleaseList\0229\n\010releases\030\002 \003(\0132\'.Remot" + "e.AudioCollectionResponse.Release\032B\n\tTra" + "ckList\0225\n\006tracks\030\002 \003(\0132%.Remote.AudioCol" + "lectionResponse.Track\032+\n\010CoverArt\022\021\n\tmim" + "e_type\030\001 \001(\t\022\014\n\004data\030\002 \002(\014\032!\n\005Genre\022\n\n\002i" + "d\030\001 \002(\004\022\014\n\004name\030\002 \002(\t\0327\n\006Artist\022\n\n\002id\030\001 " + "\002(\004\022\014\n\004name\030\002 \002(\t\022\023\n\013nb_releases\030\003 \002(\r\032c" + "\n\007Release\022\n\n\002id\030\001 \002(\004\022\014\n\004name\030\002 \002(\t\022\021\n\tn" + "b_tracks\030\003 \002(\r\022\025\n\rduration_secs\030\004 \002(\r\022\024\n" + "\014release_date\030\005 \001(\t\032\321\001\n\005Track\022\n\n\002id\030\001 \002(" + "\004\022\021\n\tartist_id\030\002 \002(\004\022\022\n\nrelease_id\030\003 \002(\004" + "\022\020\n\010genre_id\030\004 \003(\004\022\023\n\013disc_number\030\005 \001(\r\022" + "\024\n\014track_number\030\006 \001(\r\022\014\n\004name\030\007 \002(\t\022\025\n\rd" + "uration_secs\030\010 \002(\r\022\024\n\014release_date\030\t \001(\t" + "\022\035\n\025original_release_date\030\n \001(\t\"v\n\004Type\022" + "\r\n\tTypeError\020\001\022\021\n\rTypeGenreList\020\002\022\022\n\016Typ" + "eArtistList\020\003\022\023\n\017TypeReleaseList\020\004\022\021\n\rTy" + "peTrackList\020\005\022\020\n\014TypeCoverArt\020\006", 2551); ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( "collection.proto", &protobuf_RegisterTypes); AudioCollectionRequest::default_instance_ = new AudioCollectionRequest(); @@ -517,6 +546,7 @@ void protobuf_AddDesc_collection_2eproto() { AudioCollectionRequest_GetArtistList::default_instance_ = new AudioCollectionRequest_GetArtistList(); AudioCollectionRequest_GetReleaseList::default_instance_ = new AudioCollectionRequest_GetReleaseList(); AudioCollectionRequest_GetTrackList::default_instance_ = new AudioCollectionRequest_GetTrackList(); + AudioCollectionRequest_GetCoverArt::default_instance_ = new AudioCollectionRequest_GetCoverArt(); AudioCollectionResponse::default_instance_ = new AudioCollectionResponse(); AudioCollectionResponse_GenreList::default_instance_ = new AudioCollectionResponse_GenreList(); AudioCollectionResponse_ArtistList::default_instance_ = new AudioCollectionResponse_ArtistList(); @@ -533,6 +563,7 @@ void protobuf_AddDesc_collection_2eproto() { AudioCollectionRequest_GetArtistList::default_instance_->InitAsDefaultInstance(); AudioCollectionRequest_GetReleaseList::default_instance_->InitAsDefaultInstance(); AudioCollectionRequest_GetTrackList::default_instance_->InitAsDefaultInstance(); + AudioCollectionRequest_GetCoverArt::default_instance_->InitAsDefaultInstance(); AudioCollectionResponse::default_instance_->InitAsDefaultInstance(); AudioCollectionResponse_GenreList::default_instance_->InitAsDefaultInstance(); AudioCollectionResponse_ArtistList::default_instance_->InitAsDefaultInstance(); @@ -565,6 +596,7 @@ bool AudioCollectionRequest_Type_IsValid(int value) { case 2: case 3: case 4: + case 5: return true; default: return false; @@ -576,6 +608,7 @@ const AudioCollectionRequest_Type AudioCollectionRequest::TypeGetGenreList; const AudioCollectionRequest_Type AudioCollectionRequest::TypeGetArtistList; const AudioCollectionRequest_Type AudioCollectionRequest::TypeGetReleaseList; const AudioCollectionRequest_Type AudioCollectionRequest::TypeGetTrackList; +const AudioCollectionRequest_Type AudioCollectionRequest::TypeGetCoverArt; const AudioCollectionRequest_Type AudioCollectionRequest::Type_MIN; const AudioCollectionRequest_Type AudioCollectionRequest::Type_MAX; const int AudioCollectionRequest::Type_ARRAYSIZE; @@ -901,8 +934,8 @@ bool AudioCollectionRequest_GetGenreList::MergePartialFromCodedStream( ::google::protobuf::uint32 tag; while ((tag = input->ReadTag()) != 0) { switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 2; - case 2: { + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; + case 1: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( @@ -932,10 +965,10 @@ bool AudioCollectionRequest_GetGenreList::MergePartialFromCodedStream( void AudioCollectionRequest_GetGenreList::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 2; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 2, this->batch_parameter(), output); + 1, this->batch_parameter(), output); } if (!unknown_fields().empty()) { @@ -946,11 +979,11 @@ void AudioCollectionRequest_GetGenreList::SerializeWithCachedSizes( ::google::protobuf::uint8* AudioCollectionRequest_GetGenreList::SerializeWithCachedSizesToArray( ::google::protobuf::uint8* target) const { - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 2; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { target = ::google::protobuf::internal::WireFormatLite:: WriteMessageNoVirtualToArray( - 2, this->batch_parameter(), target); + 1, this->batch_parameter(), target); } if (!unknown_fields().empty()) { @@ -964,7 +997,7 @@ int AudioCollectionRequest_GetGenreList::ByteSize() const { int total_size = 0; if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 2; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( @@ -1047,8 +1080,8 @@ void AudioCollectionRequest_GetGenreList::Swap(AudioCollectionRequest_GetGenreLi // ------------------------------------------------------------------- #ifndef _MSC_VER -const int AudioCollectionRequest_GetArtistList::kGenreIdFieldNumber; const int AudioCollectionRequest_GetArtistList::kBatchParameterFieldNumber; +const int AudioCollectionRequest_GetArtistList::kGenreIdFieldNumber; #endif // !_MSC_VER AudioCollectionRequest_GetArtistList::AudioCollectionRequest_GetArtistList() @@ -1104,7 +1137,7 @@ AudioCollectionRequest_GetArtistList* AudioCollectionRequest_GetArtistList::New( } void AudioCollectionRequest_GetArtistList::Clear() { - if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (has_batch_parameter()) { if (batch_parameter_ != NULL) batch_parameter_->::Remote::AudioCollectionRequest_BatchParameter::Clear(); } @@ -1120,6 +1153,19 @@ bool AudioCollectionRequest_GetArtistList::MergePartialFromCodedStream( ::google::protobuf::uint32 tag; while ((tag = input->ReadTag()) != 0) { switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_batch_parameter())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_genre_id; + break; + } + // repeated uint64 genre_id = 2; case 2: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == @@ -1138,20 +1184,6 @@ bool AudioCollectionRequest_GetArtistList::MergePartialFromCodedStream( goto handle_uninterpreted; } if (input->ExpectTag(16)) goto parse_genre_id; - if (input->ExpectTag(26)) goto parse_batch_parameter; - break; - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 3; - case 3: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { - parse_batch_parameter: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_batch_parameter())); - } else { - goto handle_uninterpreted; - } if (input->ExpectAtEnd()) return true; break; } @@ -1174,18 +1206,18 @@ bool AudioCollectionRequest_GetArtistList::MergePartialFromCodedStream( void AudioCollectionRequest_GetArtistList::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; + if (has_batch_parameter()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, this->batch_parameter(), output); + } + // repeated uint64 genre_id = 2; for (int i = 0; i < this->genre_id_size(); i++) { ::google::protobuf::internal::WireFormatLite::WriteUInt64( 2, this->genre_id(i), output); } - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 3; - if (has_batch_parameter()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 3, this->batch_parameter(), output); - } - if (!unknown_fields().empty()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -1194,19 +1226,19 @@ void AudioCollectionRequest_GetArtistList::SerializeWithCachedSizes( ::google::protobuf::uint8* AudioCollectionRequest_GetArtistList::SerializeWithCachedSizesToArray( ::google::protobuf::uint8* target) const { + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; + if (has_batch_parameter()) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 1, this->batch_parameter(), target); + } + // repeated uint64 genre_id = 2; for (int i = 0; i < this->genre_id_size(); i++) { target = ::google::protobuf::internal::WireFormatLite:: WriteUInt64ToArray(2, this->genre_id(i), target); } - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 3; - if (has_batch_parameter()) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteMessageNoVirtualToArray( - 3, this->batch_parameter(), target); - } - if (!unknown_fields().empty()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -1217,8 +1249,8 @@ void AudioCollectionRequest_GetArtistList::SerializeWithCachedSizes( int AudioCollectionRequest_GetArtistList::ByteSize() const { int total_size = 0; - if (_has_bits_[1 / 32] & (0xffu << (1 % 32))) { - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 3; + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( @@ -1262,7 +1294,7 @@ void AudioCollectionRequest_GetArtistList::MergeFrom(const ::google::protobuf::M void AudioCollectionRequest_GetArtistList::MergeFrom(const AudioCollectionRequest_GetArtistList& from) { GOOGLE_CHECK_NE(&from, this); genre_id_.MergeFrom(from.genre_id_); - if (from._has_bits_[1 / 32] & (0xffu << (1 % 32))) { + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_batch_parameter()) { mutable_batch_parameter()->::Remote::AudioCollectionRequest_BatchParameter::MergeFrom(from.batch_parameter()); } @@ -1283,7 +1315,7 @@ void AudioCollectionRequest_GetArtistList::CopyFrom(const AudioCollectionRequest } bool AudioCollectionRequest_GetArtistList::IsInitialized() const { - if ((_has_bits_[0] & 0x00000002) != 0x00000002) return false; + if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; if (has_batch_parameter()) { if (!this->batch_parameter().IsInitialized()) return false; @@ -1293,8 +1325,8 @@ bool AudioCollectionRequest_GetArtistList::IsInitialized() const { void AudioCollectionRequest_GetArtistList::Swap(AudioCollectionRequest_GetArtistList* other) { if (other != this) { - genre_id_.Swap(&other->genre_id_); std::swap(batch_parameter_, other->batch_parameter_); + genre_id_.Swap(&other->genre_id_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -1313,10 +1345,9 @@ void AudioCollectionRequest_GetArtistList::Swap(AudioCollectionRequest_GetArtist // ------------------------------------------------------------------- #ifndef _MSC_VER +const int AudioCollectionRequest_GetReleaseList::kBatchParameterFieldNumber; const int AudioCollectionRequest_GetReleaseList::kArtistIdFieldNumber; const int AudioCollectionRequest_GetReleaseList::kFilterGenreFieldNumber; -const int AudioCollectionRequest_GetReleaseList::kGetCoverFieldNumber; -const int AudioCollectionRequest_GetReleaseList::kBatchParameterFieldNumber; #endif // !_MSC_VER AudioCollectionRequest_GetReleaseList::AudioCollectionRequest_GetReleaseList() @@ -1336,7 +1367,6 @@ AudioCollectionRequest_GetReleaseList::AudioCollectionRequest_GetReleaseList(con void AudioCollectionRequest_GetReleaseList::SharedCtor() { _cached_size_ = 0; - get_cover_ = false; batch_parameter_ = NULL; ::memset(_has_bits_, 0, sizeof(_has_bits_)); } @@ -1373,8 +1403,7 @@ AudioCollectionRequest_GetReleaseList* AudioCollectionRequest_GetReleaseList::Ne } void AudioCollectionRequest_GetReleaseList::Clear() { - if (_has_bits_[2 / 32] & (0xffu << (2 % 32))) { - get_cover_ = false; + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (has_batch_parameter()) { if (batch_parameter_ != NULL) batch_parameter_->::Remote::AudioCollectionRequest_BatchParameter::Clear(); } @@ -1391,14 +1420,27 @@ bool AudioCollectionRequest_GetReleaseList::MergePartialFromCodedStream( ::google::protobuf::uint32 tag; while ((tag = input->ReadTag()) != 0) { switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // repeated uint64 artist_id = 1; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_batch_parameter())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_artist_id; + break; + } + + // repeated uint64 artist_id = 2; + case 2: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { parse_artist_id: DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - 1, 8, input, this->mutable_artist_id()))); + 1, 16, input, this->mutable_artist_id()))); } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite:: WIRETYPE_LENGTH_DELIMITED) { @@ -1408,19 +1450,19 @@ bool AudioCollectionRequest_GetReleaseList::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } - if (input->ExpectTag(8)) goto parse_artist_id; - if (input->ExpectTag(16)) goto parse_filter_genre; + if (input->ExpectTag(16)) goto parse_artist_id; + if (input->ExpectTag(24)) goto parse_filter_genre; break; } - // repeated uint64 filter_genre = 2; - case 2: { + // repeated uint64 filter_genre = 3; + case 3: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { parse_filter_genre: DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - 1, 16, input, this->mutable_filter_genre()))); + 1, 24, input, this->mutable_filter_genre()))); } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite:: WIRETYPE_LENGTH_DELIMITED) { @@ -1430,37 +1472,7 @@ bool AudioCollectionRequest_GetReleaseList::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } - if (input->ExpectTag(16)) goto parse_filter_genre; - if (input->ExpectTag(24)) goto parse_get_cover; - break; - } - - // optional bool get_cover = 3; - case 3: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { - parse_get_cover: - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &get_cover_))); - set_has_get_cover(); - } else { - goto handle_uninterpreted; - } - if (input->ExpectTag(34)) goto parse_batch_parameter; - break; - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 4; - case 4: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { - parse_batch_parameter: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_batch_parameter())); - } else { - goto handle_uninterpreted; - } + if (input->ExpectTag(24)) goto parse_filter_genre; if (input->ExpectAtEnd()) return true; break; } @@ -1483,27 +1495,22 @@ bool AudioCollectionRequest_GetReleaseList::MergePartialFromCodedStream( void AudioCollectionRequest_GetReleaseList::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // repeated uint64 artist_id = 1; - for (int i = 0; i < this->artist_id_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64( - 1, this->artist_id(i), output); - } - - // repeated uint64 filter_genre = 2; - for (int i = 0; i < this->filter_genre_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64( - 2, this->filter_genre(i), output); - } - - // optional bool get_cover = 3; - if (has_get_cover()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->get_cover(), output); - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 4; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 4, this->batch_parameter(), output); + 1, this->batch_parameter(), output); + } + + // repeated uint64 artist_id = 2; + for (int i = 0; i < this->artist_id_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64( + 2, this->artist_id(i), output); + } + + // repeated uint64 filter_genre = 3; + for (int i = 0; i < this->filter_genre_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64( + 3, this->filter_genre(i), output); } if (!unknown_fields().empty()) { @@ -1514,28 +1521,23 @@ void AudioCollectionRequest_GetReleaseList::SerializeWithCachedSizes( ::google::protobuf::uint8* AudioCollectionRequest_GetReleaseList::SerializeWithCachedSizesToArray( ::google::protobuf::uint8* target) const { - // repeated uint64 artist_id = 1; - for (int i = 0; i < this->artist_id_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt64ToArray(1, this->artist_id(i), target); - } - - // repeated uint64 filter_genre = 2; - for (int i = 0; i < this->filter_genre_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt64ToArray(2, this->filter_genre(i), target); - } - - // optional bool get_cover = 3; - if (has_get_cover()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->get_cover(), target); - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 4; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { target = ::google::protobuf::internal::WireFormatLite:: WriteMessageNoVirtualToArray( - 4, this->batch_parameter(), target); + 1, this->batch_parameter(), target); + } + + // repeated uint64 artist_id = 2; + for (int i = 0; i < this->artist_id_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt64ToArray(2, this->artist_id(i), target); + } + + // repeated uint64 filter_genre = 3; + for (int i = 0; i < this->filter_genre_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt64ToArray(3, this->filter_genre(i), target); } if (!unknown_fields().empty()) { @@ -1548,13 +1550,8 @@ void AudioCollectionRequest_GetReleaseList::SerializeWithCachedSizes( int AudioCollectionRequest_GetReleaseList::ByteSize() const { int total_size = 0; - if (_has_bits_[2 / 32] & (0xffu << (2 % 32))) { - // optional bool get_cover = 3; - if (has_get_cover()) { - total_size += 1 + 1; - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 4; + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( @@ -1562,7 +1559,7 @@ int AudioCollectionRequest_GetReleaseList::ByteSize() const { } } - // repeated uint64 artist_id = 1; + // repeated uint64 artist_id = 2; { int data_size = 0; for (int i = 0; i < this->artist_id_size(); i++) { @@ -1572,7 +1569,7 @@ int AudioCollectionRequest_GetReleaseList::ByteSize() const { total_size += 1 * this->artist_id_size() + data_size; } - // repeated uint64 filter_genre = 2; + // repeated uint64 filter_genre = 3; { int data_size = 0; for (int i = 0; i < this->filter_genre_size(); i++) { @@ -1609,10 +1606,7 @@ void AudioCollectionRequest_GetReleaseList::MergeFrom(const AudioCollectionReque GOOGLE_CHECK_NE(&from, this); artist_id_.MergeFrom(from.artist_id_); filter_genre_.MergeFrom(from.filter_genre_); - if (from._has_bits_[2 / 32] & (0xffu << (2 % 32))) { - if (from.has_get_cover()) { - set_get_cover(from.get_cover()); - } + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_batch_parameter()) { mutable_batch_parameter()->::Remote::AudioCollectionRequest_BatchParameter::MergeFrom(from.batch_parameter()); } @@ -1633,7 +1627,7 @@ void AudioCollectionRequest_GetReleaseList::CopyFrom(const AudioCollectionReques } bool AudioCollectionRequest_GetReleaseList::IsInitialized() const { - if ((_has_bits_[0] & 0x00000008) != 0x00000008) return false; + if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; if (has_batch_parameter()) { if (!this->batch_parameter().IsInitialized()) return false; @@ -1643,10 +1637,9 @@ bool AudioCollectionRequest_GetReleaseList::IsInitialized() const { void AudioCollectionRequest_GetReleaseList::Swap(AudioCollectionRequest_GetReleaseList* other) { if (other != this) { + std::swap(batch_parameter_, other->batch_parameter_); artist_id_.Swap(&other->artist_id_); filter_genre_.Swap(&other->filter_genre_); - std::swap(get_cover_, other->get_cover_); - std::swap(batch_parameter_, other->batch_parameter_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -1665,11 +1658,10 @@ void AudioCollectionRequest_GetReleaseList::Swap(AudioCollectionRequest_GetRelea // ------------------------------------------------------------------- #ifndef _MSC_VER +const int AudioCollectionRequest_GetTrackList::kBatchParameterFieldNumber; const int AudioCollectionRequest_GetTrackList::kArtistIdFieldNumber; const int AudioCollectionRequest_GetTrackList::kReleaseIdFieldNumber; const int AudioCollectionRequest_GetTrackList::kGenreIdFieldNumber; -const int AudioCollectionRequest_GetTrackList::kGetCoverFieldNumber; -const int AudioCollectionRequest_GetTrackList::kBatchParameterFieldNumber; #endif // !_MSC_VER AudioCollectionRequest_GetTrackList::AudioCollectionRequest_GetTrackList() @@ -1689,7 +1681,6 @@ AudioCollectionRequest_GetTrackList::AudioCollectionRequest_GetTrackList(const A void AudioCollectionRequest_GetTrackList::SharedCtor() { _cached_size_ = 0; - get_cover_ = false; batch_parameter_ = NULL; ::memset(_has_bits_, 0, sizeof(_has_bits_)); } @@ -1726,8 +1717,7 @@ AudioCollectionRequest_GetTrackList* AudioCollectionRequest_GetTrackList::New() } void AudioCollectionRequest_GetTrackList::Clear() { - if (_has_bits_[3 / 32] & (0xffu << (3 % 32))) { - get_cover_ = false; + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (has_batch_parameter()) { if (batch_parameter_ != NULL) batch_parameter_->::Remote::AudioCollectionRequest_BatchParameter::Clear(); } @@ -1745,14 +1735,27 @@ bool AudioCollectionRequest_GetTrackList::MergePartialFromCodedStream( ::google::protobuf::uint32 tag; while ((tag = input->ReadTag()) != 0) { switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { - // repeated uint64 artist_id = 1; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_batch_parameter())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_artist_id; + break; + } + + // repeated uint64 artist_id = 2; + case 2: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { parse_artist_id: DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - 1, 8, input, this->mutable_artist_id()))); + 1, 16, input, this->mutable_artist_id()))); } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite:: WIRETYPE_LENGTH_DELIMITED) { @@ -1762,19 +1765,19 @@ bool AudioCollectionRequest_GetTrackList::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } - if (input->ExpectTag(8)) goto parse_artist_id; - if (input->ExpectTag(16)) goto parse_release_id; + if (input->ExpectTag(16)) goto parse_artist_id; + if (input->ExpectTag(24)) goto parse_release_id; break; } - // repeated uint64 release_id = 2; - case 2: { + // repeated uint64 release_id = 3; + case 3: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { parse_release_id: DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - 1, 16, input, this->mutable_release_id()))); + 1, 24, input, this->mutable_release_id()))); } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite:: WIRETYPE_LENGTH_DELIMITED) { @@ -1784,19 +1787,19 @@ bool AudioCollectionRequest_GetTrackList::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } - if (input->ExpectTag(16)) goto parse_release_id; - if (input->ExpectTag(24)) goto parse_genre_id; + if (input->ExpectTag(24)) goto parse_release_id; + if (input->ExpectTag(32)) goto parse_genre_id; break; } - // repeated uint64 genre_id = 3; - case 3: { + // repeated uint64 genre_id = 4; + case 4: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { parse_genre_id: DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive< ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( - 1, 24, input, this->mutable_genre_id()))); + 1, 32, input, this->mutable_genre_id()))); } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite:: WIRETYPE_LENGTH_DELIMITED) { @@ -1806,37 +1809,7 @@ bool AudioCollectionRequest_GetTrackList::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } - if (input->ExpectTag(24)) goto parse_genre_id; - if (input->ExpectTag(32)) goto parse_get_cover; - break; - } - - // optional bool get_cover = 4; - case 4: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { - parse_get_cover: - DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< - bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>( - input, &get_cover_))); - set_has_get_cover(); - } else { - goto handle_uninterpreted; - } - if (input->ExpectTag(42)) goto parse_batch_parameter; - break; - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 5; - case 5: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { - parse_batch_parameter: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_batch_parameter())); - } else { - goto handle_uninterpreted; - } + if (input->ExpectTag(32)) goto parse_genre_id; if (input->ExpectAtEnd()) return true; break; } @@ -1859,33 +1832,28 @@ bool AudioCollectionRequest_GetTrackList::MergePartialFromCodedStream( void AudioCollectionRequest_GetTrackList::SerializeWithCachedSizes( ::google::protobuf::io::CodedOutputStream* output) const { - // repeated uint64 artist_id = 1; - for (int i = 0; i < this->artist_id_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64( - 1, this->artist_id(i), output); - } - - // repeated uint64 release_id = 2; - for (int i = 0; i < this->release_id_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64( - 2, this->release_id(i), output); - } - - // repeated uint64 genre_id = 3; - for (int i = 0; i < this->genre_id_size(); i++) { - ::google::protobuf::internal::WireFormatLite::WriteUInt64( - 3, this->genre_id(i), output); - } - - // optional bool get_cover = 4; - if (has_get_cover()) { - ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->get_cover(), output); - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 5; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 5, this->batch_parameter(), output); + 1, this->batch_parameter(), output); + } + + // repeated uint64 artist_id = 2; + for (int i = 0; i < this->artist_id_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64( + 2, this->artist_id(i), output); + } + + // repeated uint64 release_id = 3; + for (int i = 0; i < this->release_id_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64( + 3, this->release_id(i), output); + } + + // repeated uint64 genre_id = 4; + for (int i = 0; i < this->genre_id_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64( + 4, this->genre_id(i), output); } if (!unknown_fields().empty()) { @@ -1896,34 +1864,29 @@ void AudioCollectionRequest_GetTrackList::SerializeWithCachedSizes( ::google::protobuf::uint8* AudioCollectionRequest_GetTrackList::SerializeWithCachedSizesToArray( ::google::protobuf::uint8* target) const { - // repeated uint64 artist_id = 1; - for (int i = 0; i < this->artist_id_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt64ToArray(1, this->artist_id(i), target); - } - - // repeated uint64 release_id = 2; - for (int i = 0; i < this->release_id_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt64ToArray(2, this->release_id(i), target); - } - - // repeated uint64 genre_id = 3; - for (int i = 0; i < this->genre_id_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteUInt64ToArray(3, this->genre_id(i), target); - } - - // optional bool get_cover = 4; - if (has_get_cover()) { - target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->get_cover(), target); - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 5; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { target = ::google::protobuf::internal::WireFormatLite:: WriteMessageNoVirtualToArray( - 5, this->batch_parameter(), target); + 1, this->batch_parameter(), target); + } + + // repeated uint64 artist_id = 2; + for (int i = 0; i < this->artist_id_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt64ToArray(2, this->artist_id(i), target); + } + + // repeated uint64 release_id = 3; + for (int i = 0; i < this->release_id_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt64ToArray(3, this->release_id(i), target); + } + + // repeated uint64 genre_id = 4; + for (int i = 0; i < this->genre_id_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteUInt64ToArray(4, this->genre_id(i), target); } if (!unknown_fields().empty()) { @@ -1936,13 +1899,8 @@ void AudioCollectionRequest_GetTrackList::SerializeWithCachedSizes( int AudioCollectionRequest_GetTrackList::ByteSize() const { int total_size = 0; - if (_has_bits_[3 / 32] & (0xffu << (3 % 32))) { - // optional bool get_cover = 4; - if (has_get_cover()) { - total_size += 1 + 1; - } - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 5; + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; if (has_batch_parameter()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( @@ -1950,7 +1908,7 @@ int AudioCollectionRequest_GetTrackList::ByteSize() const { } } - // repeated uint64 artist_id = 1; + // repeated uint64 artist_id = 2; { int data_size = 0; for (int i = 0; i < this->artist_id_size(); i++) { @@ -1960,7 +1918,7 @@ int AudioCollectionRequest_GetTrackList::ByteSize() const { total_size += 1 * this->artist_id_size() + data_size; } - // repeated uint64 release_id = 2; + // repeated uint64 release_id = 3; { int data_size = 0; for (int i = 0; i < this->release_id_size(); i++) { @@ -1970,7 +1928,7 @@ int AudioCollectionRequest_GetTrackList::ByteSize() const { total_size += 1 * this->release_id_size() + data_size; } - // repeated uint64 genre_id = 3; + // repeated uint64 genre_id = 4; { int data_size = 0; for (int i = 0; i < this->genre_id_size(); i++) { @@ -2008,10 +1966,7 @@ void AudioCollectionRequest_GetTrackList::MergeFrom(const AudioCollectionRequest artist_id_.MergeFrom(from.artist_id_); release_id_.MergeFrom(from.release_id_); genre_id_.MergeFrom(from.genre_id_); - if (from._has_bits_[3 / 32] & (0xffu << (3 % 32))) { - if (from.has_get_cover()) { - set_get_cover(from.get_cover()); - } + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_batch_parameter()) { mutable_batch_parameter()->::Remote::AudioCollectionRequest_BatchParameter::MergeFrom(from.batch_parameter()); } @@ -2032,7 +1987,7 @@ void AudioCollectionRequest_GetTrackList::CopyFrom(const AudioCollectionRequest_ } bool AudioCollectionRequest_GetTrackList::IsInitialized() const { - if ((_has_bits_[0] & 0x00000010) != 0x00000010) return false; + if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; if (has_batch_parameter()) { if (!this->batch_parameter().IsInitialized()) return false; @@ -2042,11 +1997,10 @@ bool AudioCollectionRequest_GetTrackList::IsInitialized() const { void AudioCollectionRequest_GetTrackList::Swap(AudioCollectionRequest_GetTrackList* other) { if (other != this) { + std::swap(batch_parameter_, other->batch_parameter_); artist_id_.Swap(&other->artist_id_); release_id_.Swap(&other->release_id_); genre_id_.Swap(&other->genre_id_); - std::swap(get_cover_, other->get_cover_); - std::swap(batch_parameter_, other->batch_parameter_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -2062,6 +2016,322 @@ void AudioCollectionRequest_GetTrackList::Swap(AudioCollectionRequest_GetTrackLi } +// ------------------------------------------------------------------- + +const ::google::protobuf::EnumDescriptor* AudioCollectionRequest_GetCoverArt_Type_descriptor() { + protobuf_AssignDescriptorsOnce(); + return AudioCollectionRequest_GetCoverArt_Type_descriptor_; +} +bool AudioCollectionRequest_GetCoverArt_Type_IsValid(int value) { + switch(value) { + case 1: + case 2: + return true; + default: + return false; + } +} + +#ifndef _MSC_VER +const AudioCollectionRequest_GetCoverArt_Type AudioCollectionRequest_GetCoverArt::TypeGetCoverArtRelease; +const AudioCollectionRequest_GetCoverArt_Type AudioCollectionRequest_GetCoverArt::TypeGetCoverArtTrack; +const AudioCollectionRequest_GetCoverArt_Type AudioCollectionRequest_GetCoverArt::Type_MIN; +const AudioCollectionRequest_GetCoverArt_Type AudioCollectionRequest_GetCoverArt::Type_MAX; +const int AudioCollectionRequest_GetCoverArt::Type_ARRAYSIZE; +#endif // _MSC_VER +#ifndef _MSC_VER +const int AudioCollectionRequest_GetCoverArt::kTypeFieldNumber; +const int AudioCollectionRequest_GetCoverArt::kReleaseIdFieldNumber; +const int AudioCollectionRequest_GetCoverArt::kTrackIdFieldNumber; +#endif // !_MSC_VER + +AudioCollectionRequest_GetCoverArt::AudioCollectionRequest_GetCoverArt() + : ::google::protobuf::Message() { + SharedCtor(); +} + +void AudioCollectionRequest_GetCoverArt::InitAsDefaultInstance() { +} + +AudioCollectionRequest_GetCoverArt::AudioCollectionRequest_GetCoverArt(const AudioCollectionRequest_GetCoverArt& from) + : ::google::protobuf::Message() { + SharedCtor(); + MergeFrom(from); +} + +void AudioCollectionRequest_GetCoverArt::SharedCtor() { + _cached_size_ = 0; + type_ = 1; + release_id_ = GOOGLE_ULONGLONG(0); + track_id_ = GOOGLE_ULONGLONG(0); + ::memset(_has_bits_, 0, sizeof(_has_bits_)); +} + +AudioCollectionRequest_GetCoverArt::~AudioCollectionRequest_GetCoverArt() { + SharedDtor(); +} + +void AudioCollectionRequest_GetCoverArt::SharedDtor() { + if (this != default_instance_) { + } +} + +void AudioCollectionRequest_GetCoverArt::SetCachedSize(int size) const { + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); +} +const ::google::protobuf::Descriptor* AudioCollectionRequest_GetCoverArt::descriptor() { + protobuf_AssignDescriptorsOnce(); + return AudioCollectionRequest_GetCoverArt_descriptor_; +} + +const AudioCollectionRequest_GetCoverArt& AudioCollectionRequest_GetCoverArt::default_instance() { + if (default_instance_ == NULL) protobuf_AddDesc_collection_2eproto(); + return *default_instance_; +} + +AudioCollectionRequest_GetCoverArt* AudioCollectionRequest_GetCoverArt::default_instance_ = NULL; + +AudioCollectionRequest_GetCoverArt* AudioCollectionRequest_GetCoverArt::New() const { + return new AudioCollectionRequest_GetCoverArt; +} + +void AudioCollectionRequest_GetCoverArt::Clear() { + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + type_ = 1; + release_id_ = GOOGLE_ULONGLONG(0); + track_id_ = GOOGLE_ULONGLONG(0); + } + ::memset(_has_bits_, 0, sizeof(_has_bits_)); + mutable_unknown_fields()->Clear(); +} + +bool AudioCollectionRequest_GetCoverArt::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!(EXPRESSION)) return false + ::google::protobuf::uint32 tag; + while ((tag = input->ReadTag()) != 0) { + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // required .Remote.AudioCollectionRequest.GetCoverArt.Type type = 1; + case 1: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + int value; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + if (::Remote::AudioCollectionRequest_GetCoverArt_Type_IsValid(value)) { + set_type(static_cast< ::Remote::AudioCollectionRequest_GetCoverArt_Type >(value)); + } else { + mutable_unknown_fields()->AddVarint(1, value); + } + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(16)) goto parse_release_id; + break; + } + + // optional uint64 release_id = 2; + case 2: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_release_id: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( + input, &release_id_))); + set_has_release_id(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(24)) goto parse_track_id; + break; + } + + // optional uint64 track_id = 3; + case 3: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) { + parse_track_id: + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + ::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>( + input, &track_id_))); + set_has_track_id(); + } else { + goto handle_uninterpreted; + } + if (input->ExpectAtEnd()) return true; + break; + } + + default: { + handle_uninterpreted: + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) { + return true; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, mutable_unknown_fields())); + break; + } + } + } + return true; +#undef DO_ +} + +void AudioCollectionRequest_GetCoverArt::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // required .Remote.AudioCollectionRequest.GetCoverArt.Type type = 1; + if (has_type()) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 1, this->type(), output); + } + + // optional uint64 release_id = 2; + if (has_release_id()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64(2, this->release_id(), output); + } + + // optional uint64 track_id = 3; + if (has_track_id()) { + ::google::protobuf::internal::WireFormatLite::WriteUInt64(3, this->track_id(), output); + } + + if (!unknown_fields().empty()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + unknown_fields(), output); + } +} + +::google::protobuf::uint8* AudioCollectionRequest_GetCoverArt::SerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // required .Remote.AudioCollectionRequest.GetCoverArt.Type type = 1; + if (has_type()) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 1, this->type(), target); + } + + // optional uint64 release_id = 2; + if (has_release_id()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(2, this->release_id(), target); + } + + // optional uint64 track_id = 3; + if (has_track_id()) { + target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(3, this->track_id(), target); + } + + if (!unknown_fields().empty()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + unknown_fields(), target); + } + return target; +} + +int AudioCollectionRequest_GetCoverArt::ByteSize() const { + int total_size = 0; + + if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) { + // required .Remote.AudioCollectionRequest.GetCoverArt.Type type = 1; + if (has_type()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->type()); + } + + // optional uint64 release_id = 2; + if (has_release_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt64Size( + this->release_id()); + } + + // optional uint64 track_id = 3; + if (has_track_id()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::UInt64Size( + this->track_id()); + } + + } + if (!unknown_fields().empty()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + unknown_fields()); + } + GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); + _cached_size_ = total_size; + GOOGLE_SAFE_CONCURRENT_WRITES_END(); + return total_size; +} + +void AudioCollectionRequest_GetCoverArt::MergeFrom(const ::google::protobuf::Message& from) { + GOOGLE_CHECK_NE(&from, this); + const AudioCollectionRequest_GetCoverArt* source = + ::google::protobuf::internal::dynamic_cast_if_available( + &from); + if (source == NULL) { + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + MergeFrom(*source); + } +} + +void AudioCollectionRequest_GetCoverArt::MergeFrom(const AudioCollectionRequest_GetCoverArt& from) { + GOOGLE_CHECK_NE(&from, this); + if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { + if (from.has_type()) { + set_type(from.type()); + } + if (from.has_release_id()) { + set_release_id(from.release_id()); + } + if (from.has_track_id()) { + set_track_id(from.track_id()); + } + } + mutable_unknown_fields()->MergeFrom(from.unknown_fields()); +} + +void AudioCollectionRequest_GetCoverArt::CopyFrom(const ::google::protobuf::Message& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void AudioCollectionRequest_GetCoverArt::CopyFrom(const AudioCollectionRequest_GetCoverArt& from) { + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AudioCollectionRequest_GetCoverArt::IsInitialized() const { + if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false; + + return true; +} + +void AudioCollectionRequest_GetCoverArt::Swap(AudioCollectionRequest_GetCoverArt* other) { + if (other != this) { + std::swap(type_, other->type_); + std::swap(release_id_, other->release_id_); + std::swap(track_id_, other->track_id_); + std::swap(_has_bits_[0], other->_has_bits_[0]); + _unknown_fields_.Swap(&other->_unknown_fields_); + std::swap(_cached_size_, other->_cached_size_); + } +} + +::google::protobuf::Metadata AudioCollectionRequest_GetCoverArt::GetMetadata() const { + protobuf_AssignDescriptorsOnce(); + ::google::protobuf::Metadata metadata; + metadata.descriptor = AudioCollectionRequest_GetCoverArt_descriptor_; + metadata.reflection = AudioCollectionRequest_GetCoverArt_reflection_; + return metadata; +} + + // ------------------------------------------------------------------- #ifndef _MSC_VER @@ -2070,6 +2340,7 @@ const int AudioCollectionRequest::kGetGenresFieldNumber; const int AudioCollectionRequest::kGetArtistsFieldNumber; const int AudioCollectionRequest::kGetReleasesFieldNumber; const int AudioCollectionRequest::kGetTracksFieldNumber; +const int AudioCollectionRequest::kGetCoverArtFieldNumber; #endif // !_MSC_VER AudioCollectionRequest::AudioCollectionRequest() @@ -2082,6 +2353,7 @@ void AudioCollectionRequest::InitAsDefaultInstance() { get_artists_ = const_cast< ::Remote::AudioCollectionRequest_GetArtistList*>(&::Remote::AudioCollectionRequest_GetArtistList::default_instance()); get_releases_ = const_cast< ::Remote::AudioCollectionRequest_GetReleaseList*>(&::Remote::AudioCollectionRequest_GetReleaseList::default_instance()); get_tracks_ = const_cast< ::Remote::AudioCollectionRequest_GetTrackList*>(&::Remote::AudioCollectionRequest_GetTrackList::default_instance()); + get_cover_art_ = const_cast< ::Remote::AudioCollectionRequest_GetCoverArt*>(&::Remote::AudioCollectionRequest_GetCoverArt::default_instance()); } AudioCollectionRequest::AudioCollectionRequest(const AudioCollectionRequest& from) @@ -2097,6 +2369,7 @@ void AudioCollectionRequest::SharedCtor() { get_artists_ = NULL; get_releases_ = NULL; get_tracks_ = NULL; + get_cover_art_ = NULL; ::memset(_has_bits_, 0, sizeof(_has_bits_)); } @@ -2110,6 +2383,7 @@ void AudioCollectionRequest::SharedDtor() { delete get_artists_; delete get_releases_; delete get_tracks_; + delete get_cover_art_; } } @@ -2149,6 +2423,9 @@ void AudioCollectionRequest::Clear() { if (has_get_tracks()) { if (get_tracks_ != NULL) get_tracks_->::Remote::AudioCollectionRequest_GetTrackList::Clear(); } + if (has_get_cover_art()) { + if (get_cover_art_ != NULL) get_cover_art_->::Remote::AudioCollectionRequest_GetCoverArt::Clear(); + } } ::memset(_has_bits_, 0, sizeof(_has_bits_)); mutable_unknown_fields()->Clear(); @@ -2232,6 +2509,20 @@ bool AudioCollectionRequest::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } + if (input->ExpectTag(50)) goto parse_get_cover_art; + break; + } + + // optional .Remote.AudioCollectionRequest.GetCoverArt get_cover_art = 6; + case 6: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_get_cover_art: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, mutable_get_cover_art())); + } else { + goto handle_uninterpreted; + } if (input->ExpectAtEnd()) return true; break; } @@ -2284,6 +2575,12 @@ void AudioCollectionRequest::SerializeWithCachedSizes( 5, this->get_tracks(), output); } + // optional .Remote.AudioCollectionRequest.GetCoverArt get_cover_art = 6; + if (has_get_cover_art()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 6, this->get_cover_art(), output); + } + if (!unknown_fields().empty()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -2326,6 +2623,13 @@ void AudioCollectionRequest::SerializeWithCachedSizes( 5, this->get_tracks(), target); } + // optional .Remote.AudioCollectionRequest.GetCoverArt get_cover_art = 6; + if (has_get_cover_art()) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 6, this->get_cover_art(), target); + } + if (!unknown_fields().empty()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -2371,6 +2675,13 @@ int AudioCollectionRequest::ByteSize() const { this->get_tracks()); } + // optional .Remote.AudioCollectionRequest.GetCoverArt get_cover_art = 6; + if (has_get_cover_art()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->get_cover_art()); + } + } if (!unknown_fields().empty()) { total_size += @@ -2413,6 +2724,9 @@ void AudioCollectionRequest::MergeFrom(const AudioCollectionRequest& from) { if (from.has_get_tracks()) { mutable_get_tracks()->::Remote::AudioCollectionRequest_GetTrackList::MergeFrom(from.get_tracks()); } + if (from.has_get_cover_art()) { + mutable_get_cover_art()->::Remote::AudioCollectionRequest_GetCoverArt::MergeFrom(from.get_cover_art()); + } } mutable_unknown_fields()->MergeFrom(from.unknown_fields()); } @@ -2444,6 +2758,9 @@ bool AudioCollectionRequest::IsInitialized() const { if (has_get_tracks()) { if (!this->get_tracks().IsInitialized()) return false; } + if (has_get_cover_art()) { + if (!this->get_cover_art().IsInitialized()) return false; + } return true; } @@ -2454,6 +2771,7 @@ void AudioCollectionRequest::Swap(AudioCollectionRequest* other) { std::swap(get_artists_, other->get_artists_); std::swap(get_releases_, other->get_releases_); std::swap(get_tracks_, other->get_tracks_); + std::swap(get_cover_art_, other->get_cover_art_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -2482,6 +2800,7 @@ bool AudioCollectionResponse_Type_IsValid(int value) { case 3: case 4: case 5: + case 6: return true; default: return false; @@ -2494,6 +2813,7 @@ const AudioCollectionResponse_Type AudioCollectionResponse::TypeGenreList; const AudioCollectionResponse_Type AudioCollectionResponse::TypeArtistList; const AudioCollectionResponse_Type AudioCollectionResponse::TypeReleaseList; const AudioCollectionResponse_Type AudioCollectionResponse::TypeTrackList; +const AudioCollectionResponse_Type AudioCollectionResponse::TypeCoverArt; const AudioCollectionResponse_Type AudioCollectionResponse::Type_MIN; const AudioCollectionResponse_Type AudioCollectionResponse::Type_MAX; const int AudioCollectionResponse::Type_ARRAYSIZE; @@ -3344,6 +3664,7 @@ AudioCollectionResponse_CoverArt::AudioCollectionResponse_CoverArt(const AudioCo void AudioCollectionResponse_CoverArt::SharedCtor() { _cached_size_ = 0; mime_type_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); ::memset(_has_bits_, 0, sizeof(_has_bits_)); } @@ -3355,6 +3676,9 @@ void AudioCollectionResponse_CoverArt::SharedDtor() { if (mime_type_ != &::google::protobuf::internal::kEmptyString) { delete mime_type_; } + if (data_ != &::google::protobuf::internal::kEmptyString) { + delete data_; + } if (this != default_instance_) { } } @@ -3387,8 +3711,12 @@ void AudioCollectionResponse_CoverArt::Clear() { mime_type_->clear(); } } + if (has_data()) { + if (data_ != &::google::protobuf::internal::kEmptyString) { + data_->clear(); + } + } } - data_.Clear(); ::memset(_has_bits_, 0, sizeof(_has_bits_)); mutable_unknown_fields()->Clear(); } @@ -3415,17 +3743,16 @@ bool AudioCollectionResponse_CoverArt::MergePartialFromCodedStream( break; } - // repeated bytes data = 2; + // required bytes data = 2; case 2: { if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { parse_data: DO_(::google::protobuf::internal::WireFormatLite::ReadBytes( - input, this->add_data())); + input, this->mutable_data())); } else { goto handle_uninterpreted; } - if (input->ExpectTag(18)) goto parse_data; if (input->ExpectAtEnd()) return true; break; } @@ -3457,10 +3784,10 @@ void AudioCollectionResponse_CoverArt::SerializeWithCachedSizes( 1, this->mime_type(), output); } - // repeated bytes data = 2; - for (int i = 0; i < this->data_size(); i++) { + // required bytes data = 2; + if (has_data()) { ::google::protobuf::internal::WireFormatLite::WriteBytes( - 2, this->data(i), output); + 2, this->data(), output); } if (!unknown_fields().empty()) { @@ -3481,10 +3808,11 @@ void AudioCollectionResponse_CoverArt::SerializeWithCachedSizes( 1, this->mime_type(), target); } - // repeated bytes data = 2; - for (int i = 0; i < this->data_size(); i++) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteBytesToArray(2, this->data(i), target); + // required bytes data = 2; + if (has_data()) { + target = + ::google::protobuf::internal::WireFormatLite::WriteBytesToArray( + 2, this->data(), target); } if (!unknown_fields().empty()) { @@ -3505,14 +3833,14 @@ int AudioCollectionResponse_CoverArt::ByteSize() const { this->mime_type()); } - } - // repeated bytes data = 2; - total_size += 1 * this->data_size(); - for (int i = 0; i < this->data_size(); i++) { - total_size += ::google::protobuf::internal::WireFormatLite::BytesSize( - this->data(i)); - } + // required bytes data = 2; + if (has_data()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::BytesSize( + this->data()); + } + } if (!unknown_fields().empty()) { total_size += ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( @@ -3538,11 +3866,13 @@ void AudioCollectionResponse_CoverArt::MergeFrom(const ::google::protobuf::Messa void AudioCollectionResponse_CoverArt::MergeFrom(const AudioCollectionResponse_CoverArt& from) { GOOGLE_CHECK_NE(&from, this); - data_.MergeFrom(from.data_); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_mime_type()) { set_mime_type(from.mime_type()); } + if (from.has_data()) { + set_data(from.data()); + } } mutable_unknown_fields()->MergeFrom(from.unknown_fields()); } @@ -3560,6 +3890,7 @@ void AudioCollectionResponse_CoverArt::CopyFrom(const AudioCollectionResponse_Co } bool AudioCollectionResponse_CoverArt::IsInitialized() const { + if ((_has_bits_[0] & 0x00000002) != 0x00000002) return false; return true; } @@ -3567,7 +3898,7 @@ bool AudioCollectionResponse_CoverArt::IsInitialized() const { void AudioCollectionResponse_CoverArt::Swap(AudioCollectionResponse_CoverArt* other) { if (other != this) { std::swap(mime_type_, other->mime_type_); - data_.Swap(&other->data_); + std::swap(data_, other->data_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -4163,7 +4494,6 @@ const int AudioCollectionResponse_Release::kNameFieldNumber; const int AudioCollectionResponse_Release::kNbTracksFieldNumber; const int AudioCollectionResponse_Release::kDurationSecsFieldNumber; const int AudioCollectionResponse_Release::kReleaseDateFieldNumber; -const int AudioCollectionResponse_Release::kCoverArtFieldNumber; #endif // !_MSC_VER AudioCollectionResponse_Release::AudioCollectionResponse_Release() @@ -4172,7 +4502,6 @@ AudioCollectionResponse_Release::AudioCollectionResponse_Release() } void AudioCollectionResponse_Release::InitAsDefaultInstance() { - coverart_ = const_cast< ::Remote::AudioCollectionResponse_CoverArt*>(&::Remote::AudioCollectionResponse_CoverArt::default_instance()); } AudioCollectionResponse_Release::AudioCollectionResponse_Release(const AudioCollectionResponse_Release& from) @@ -4188,7 +4517,6 @@ void AudioCollectionResponse_Release::SharedCtor() { nb_tracks_ = 0u; duration_secs_ = 0u; release_date_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - coverart_ = NULL; ::memset(_has_bits_, 0, sizeof(_has_bits_)); } @@ -4204,7 +4532,6 @@ void AudioCollectionResponse_Release::SharedDtor() { delete release_date_; } if (this != default_instance_) { - delete coverart_; } } @@ -4244,9 +4571,6 @@ void AudioCollectionResponse_Release::Clear() { release_date_->clear(); } } - if (has_coverart()) { - if (coverart_ != NULL) coverart_->::Remote::AudioCollectionResponse_CoverArt::Clear(); - } } ::memset(_has_bits_, 0, sizeof(_has_bits_)); mutable_unknown_fields()->Clear(); @@ -4335,20 +4659,6 @@ bool AudioCollectionResponse_Release::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } - if (input->ExpectTag(50)) goto parse_coverArt; - break; - } - - // optional .Remote.AudioCollectionResponse.CoverArt coverArt = 6; - case 6: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { - parse_coverArt: - DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( - input, mutable_coverart())); - } else { - goto handle_uninterpreted; - } if (input->ExpectAtEnd()) return true; break; } @@ -4404,12 +4714,6 @@ void AudioCollectionResponse_Release::SerializeWithCachedSizes( 5, this->release_date(), output); } - // optional .Remote.AudioCollectionResponse.CoverArt coverArt = 6; - if (has_coverart()) { - ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( - 6, this->coverart(), output); - } - if (!unknown_fields().empty()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -4453,13 +4757,6 @@ void AudioCollectionResponse_Release::SerializeWithCachedSizes( 5, this->release_date(), target); } - // optional .Remote.AudioCollectionResponse.CoverArt coverArt = 6; - if (has_coverart()) { - target = ::google::protobuf::internal::WireFormatLite:: - WriteMessageNoVirtualToArray( - 6, this->coverart(), target); - } - if (!unknown_fields().empty()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -4506,13 +4803,6 @@ int AudioCollectionResponse_Release::ByteSize() const { this->release_date()); } - // optional .Remote.AudioCollectionResponse.CoverArt coverArt = 6; - if (has_coverart()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( - this->coverart()); - } - } if (!unknown_fields().empty()) { total_size += @@ -4555,9 +4845,6 @@ void AudioCollectionResponse_Release::MergeFrom(const AudioCollectionResponse_Re if (from.has_release_date()) { set_release_date(from.release_date()); } - if (from.has_coverart()) { - mutable_coverart()->::Remote::AudioCollectionResponse_CoverArt::MergeFrom(from.coverart()); - } } mutable_unknown_fields()->MergeFrom(from.unknown_fields()); } @@ -4587,7 +4874,6 @@ void AudioCollectionResponse_Release::Swap(AudioCollectionResponse_Release* othe std::swap(nb_tracks_, other->nb_tracks_); std::swap(duration_secs_, other->duration_secs_); std::swap(release_date_, other->release_date_); - std::swap(coverart_, other->coverart_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -4616,7 +4902,6 @@ const int AudioCollectionResponse_Track::kNameFieldNumber; const int AudioCollectionResponse_Track::kDurationSecsFieldNumber; const int AudioCollectionResponse_Track::kReleaseDateFieldNumber; const int AudioCollectionResponse_Track::kOriginalReleaseDateFieldNumber; -const int AudioCollectionResponse_Track::kCoverArtFieldNumber; #endif // !_MSC_VER AudioCollectionResponse_Track::AudioCollectionResponse_Track() @@ -4644,7 +4929,6 @@ void AudioCollectionResponse_Track::SharedCtor() { duration_secs_ = 0u; release_date_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); original_release_date_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - coverart_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); ::memset(_has_bits_, 0, sizeof(_has_bits_)); } @@ -4662,9 +4946,6 @@ void AudioCollectionResponse_Track::SharedDtor() { if (original_release_date_ != &::google::protobuf::internal::kEmptyString) { delete original_release_date_; } - if (coverart_ != &::google::protobuf::internal::kEmptyString) { - delete coverart_; - } if (this != default_instance_) { } } @@ -4715,11 +4996,6 @@ void AudioCollectionResponse_Track::Clear() { original_release_date_->clear(); } } - if (has_coverart()) { - if (coverart_ != &::google::protobuf::internal::kEmptyString) { - coverart_->clear(); - } - } } genre_id_.Clear(); ::memset(_has_bits_, 0, sizeof(_has_bits_)); @@ -4896,20 +5172,6 @@ bool AudioCollectionResponse_Track::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } - if (input->ExpectTag(90)) goto parse_coverArt; - break; - } - - // optional bytes coverArt = 11; - case 11: { - if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == - ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { - parse_coverArt: - DO_(::google::protobuf::internal::WireFormatLite::ReadBytes( - input, this->mutable_coverart())); - } else { - goto handle_uninterpreted; - } if (input->ExpectAtEnd()) return true; break; } @@ -4995,12 +5257,6 @@ void AudioCollectionResponse_Track::SerializeWithCachedSizes( 10, this->original_release_date(), output); } - // optional bytes coverArt = 11; - if (has_coverart()) { - ::google::protobuf::internal::WireFormatLite::WriteBytes( - 11, this->coverart(), output); - } - if (!unknown_fields().empty()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -5075,13 +5331,6 @@ void AudioCollectionResponse_Track::SerializeWithCachedSizes( 10, this->original_release_date(), target); } - // optional bytes coverArt = 11; - if (has_coverart()) { - target = - ::google::protobuf::internal::WireFormatLite::WriteBytesToArray( - 11, this->coverart(), target); - } - if (!unknown_fields().empty()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -5158,13 +5407,6 @@ int AudioCollectionResponse_Track::ByteSize() const { this->original_release_date()); } - // optional bytes coverArt = 11; - if (has_coverart()) { - total_size += 1 + - ::google::protobuf::internal::WireFormatLite::BytesSize( - this->coverart()); - } - } // repeated uint64 genre_id = 4; { @@ -5232,9 +5474,6 @@ void AudioCollectionResponse_Track::MergeFrom(const AudioCollectionResponse_Trac if (from.has_original_release_date()) { set_original_release_date(from.original_release_date()); } - if (from.has_coverart()) { - set_coverart(from.coverart()); - } } mutable_unknown_fields()->MergeFrom(from.unknown_fields()); } @@ -5269,7 +5508,6 @@ void AudioCollectionResponse_Track::Swap(AudioCollectionResponse_Track* other) { std::swap(duration_secs_, other->duration_secs_); std::swap(release_date_, other->release_date_); std::swap(original_release_date_, other->original_release_date_); - std::swap(coverart_, other->coverart_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); @@ -5294,6 +5532,7 @@ const int AudioCollectionResponse::kGenreListFieldNumber; const int AudioCollectionResponse::kArtistListFieldNumber; const int AudioCollectionResponse::kReleaseListFieldNumber; const int AudioCollectionResponse::kTrackListFieldNumber; +const int AudioCollectionResponse::kCoverArtFieldNumber; #endif // !_MSC_VER AudioCollectionResponse::AudioCollectionResponse() @@ -5380,6 +5619,7 @@ void AudioCollectionResponse::Clear() { if (track_list_ != NULL) track_list_->::Remote::AudioCollectionResponse_TrackList::Clear(); } } + cover_art_.Clear(); ::memset(_has_bits_, 0, sizeof(_has_bits_)); mutable_unknown_fields()->Clear(); } @@ -5476,6 +5716,21 @@ bool AudioCollectionResponse::MergePartialFromCodedStream( } else { goto handle_uninterpreted; } + if (input->ExpectTag(58)) goto parse_cover_art; + break; + } + + // repeated .Remote.AudioCollectionResponse.CoverArt cover_art = 7; + case 7: { + if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) == + ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) { + parse_cover_art: + DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual( + input, add_cover_art())); + } else { + goto handle_uninterpreted; + } + if (input->ExpectTag(58)) goto parse_cover_art; if (input->ExpectAtEnd()) return true; break; } @@ -5534,6 +5789,12 @@ void AudioCollectionResponse::SerializeWithCachedSizes( 6, this->track_list(), output); } + // repeated .Remote.AudioCollectionResponse.CoverArt cover_art = 7; + for (int i = 0; i < this->cover_art_size(); i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 7, this->cover_art(i), output); + } + if (!unknown_fields().empty()) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( unknown_fields(), output); @@ -5583,6 +5844,13 @@ void AudioCollectionResponse::SerializeWithCachedSizes( 6, this->track_list(), target); } + // repeated .Remote.AudioCollectionResponse.CoverArt cover_art = 7; + for (int i = 0; i < this->cover_art_size(); i++) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteMessageNoVirtualToArray( + 7, this->cover_art(i), target); + } + if (!unknown_fields().empty()) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( unknown_fields(), target); @@ -5636,6 +5904,14 @@ int AudioCollectionResponse::ByteSize() const { } } + // repeated .Remote.AudioCollectionResponse.CoverArt cover_art = 7; + total_size += 1 * this->cover_art_size(); + for (int i = 0; i < this->cover_art_size(); i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual( + this->cover_art(i)); + } + if (!unknown_fields().empty()) { total_size += ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( @@ -5661,6 +5937,7 @@ void AudioCollectionResponse::MergeFrom(const ::google::protobuf::Message& from) void AudioCollectionResponse::MergeFrom(const AudioCollectionResponse& from) { GOOGLE_CHECK_NE(&from, this); + cover_art_.MergeFrom(from.cover_art_); if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) { if (from.has_type()) { set_type(from.type()); @@ -5713,6 +5990,9 @@ bool AudioCollectionResponse::IsInitialized() const { if (has_track_list()) { if (!this->track_list().IsInitialized()) return false; } + for (int i = 0; i < cover_art_size(); i++) { + if (!this->cover_art(i).IsInitialized()) return false; + } return true; } @@ -5724,6 +6004,7 @@ void AudioCollectionResponse::Swap(AudioCollectionResponse* other) { std::swap(artist_list_, other->artist_list_); std::swap(release_list_, other->release_list_); std::swap(track_list_, other->track_list_); + cover_art_.Swap(&other->cover_art_); std::swap(_has_bits_[0], other->_has_bits_[0]); _unknown_fields_.Swap(&other->_unknown_fields_); std::swap(_cached_size_, other->_cached_size_); diff --git a/remote/messages/collection.pb.h b/remote/messages/collection.pb.h index 535e689d..61719570 100644 --- a/remote/messages/collection.pb.h +++ b/remote/messages/collection.pb.h @@ -41,6 +41,7 @@ class AudioCollectionRequest_GetGenreList; class AudioCollectionRequest_GetArtistList; class AudioCollectionRequest_GetReleaseList; class AudioCollectionRequest_GetTrackList; +class AudioCollectionRequest_GetCoverArt; class AudioCollectionResponse; class AudioCollectionResponse_GenreList; class AudioCollectionResponse_ArtistList; @@ -52,15 +53,35 @@ class AudioCollectionResponse_Artist; class AudioCollectionResponse_Release; class AudioCollectionResponse_Track; +enum AudioCollectionRequest_GetCoverArt_Type { + AudioCollectionRequest_GetCoverArt_Type_TypeGetCoverArtRelease = 1, + AudioCollectionRequest_GetCoverArt_Type_TypeGetCoverArtTrack = 2 +}; +bool AudioCollectionRequest_GetCoverArt_Type_IsValid(int value); +const AudioCollectionRequest_GetCoverArt_Type AudioCollectionRequest_GetCoverArt_Type_Type_MIN = AudioCollectionRequest_GetCoverArt_Type_TypeGetCoverArtRelease; +const AudioCollectionRequest_GetCoverArt_Type AudioCollectionRequest_GetCoverArt_Type_Type_MAX = AudioCollectionRequest_GetCoverArt_Type_TypeGetCoverArtTrack; +const int AudioCollectionRequest_GetCoverArt_Type_Type_ARRAYSIZE = AudioCollectionRequest_GetCoverArt_Type_Type_MAX + 1; + +const ::google::protobuf::EnumDescriptor* AudioCollectionRequest_GetCoverArt_Type_descriptor(); +inline const ::std::string& AudioCollectionRequest_GetCoverArt_Type_Name(AudioCollectionRequest_GetCoverArt_Type value) { + return ::google::protobuf::internal::NameOfEnum( + AudioCollectionRequest_GetCoverArt_Type_descriptor(), value); +} +inline bool AudioCollectionRequest_GetCoverArt_Type_Parse( + const ::std::string& name, AudioCollectionRequest_GetCoverArt_Type* value) { + return ::google::protobuf::internal::ParseNamedEnum( + AudioCollectionRequest_GetCoverArt_Type_descriptor(), name, value); +} enum AudioCollectionRequest_Type { AudioCollectionRequest_Type_TypeGetGenreList = 1, AudioCollectionRequest_Type_TypeGetArtistList = 2, AudioCollectionRequest_Type_TypeGetReleaseList = 3, - AudioCollectionRequest_Type_TypeGetTrackList = 4 + AudioCollectionRequest_Type_TypeGetTrackList = 4, + AudioCollectionRequest_Type_TypeGetCoverArt = 5 }; bool AudioCollectionRequest_Type_IsValid(int value); const AudioCollectionRequest_Type AudioCollectionRequest_Type_Type_MIN = AudioCollectionRequest_Type_TypeGetGenreList; -const AudioCollectionRequest_Type AudioCollectionRequest_Type_Type_MAX = AudioCollectionRequest_Type_TypeGetTrackList; +const AudioCollectionRequest_Type AudioCollectionRequest_Type_Type_MAX = AudioCollectionRequest_Type_TypeGetCoverArt; const int AudioCollectionRequest_Type_Type_ARRAYSIZE = AudioCollectionRequest_Type_Type_MAX + 1; const ::google::protobuf::EnumDescriptor* AudioCollectionRequest_Type_descriptor(); @@ -78,11 +99,12 @@ enum AudioCollectionResponse_Type { AudioCollectionResponse_Type_TypeGenreList = 2, AudioCollectionResponse_Type_TypeArtistList = 3, AudioCollectionResponse_Type_TypeReleaseList = 4, - AudioCollectionResponse_Type_TypeTrackList = 5 + AudioCollectionResponse_Type_TypeTrackList = 5, + AudioCollectionResponse_Type_TypeCoverArt = 6 }; bool AudioCollectionResponse_Type_IsValid(int value); const AudioCollectionResponse_Type AudioCollectionResponse_Type_Type_MIN = AudioCollectionResponse_Type_TypeError; -const AudioCollectionResponse_Type AudioCollectionResponse_Type_Type_MAX = AudioCollectionResponse_Type_TypeTrackList; +const AudioCollectionResponse_Type AudioCollectionResponse_Type_Type_MAX = AudioCollectionResponse_Type_TypeCoverArt; const int AudioCollectionResponse_Type_Type_ARRAYSIZE = AudioCollectionResponse_Type_Type_MAX + 1; const ::google::protobuf::EnumDescriptor* AudioCollectionResponse_Type_descriptor(); @@ -243,10 +265,10 @@ class AudioCollectionRequest_GetGenreList : public ::google::protobuf::Message { // accessors ------------------------------------------------------- - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 2; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; inline bool has_batch_parameter() const; inline void clear_batch_parameter(); - static const int kBatchParameterFieldNumber = 2; + static const int kBatchParameterFieldNumber = 1; inline const ::Remote::AudioCollectionRequest_BatchParameter& batch_parameter() const; inline ::Remote::AudioCollectionRequest_BatchParameter* mutable_batch_parameter(); inline ::Remote::AudioCollectionRequest_BatchParameter* release_batch_parameter(); @@ -327,6 +349,15 @@ class AudioCollectionRequest_GetArtistList : public ::google::protobuf::Message // accessors ------------------------------------------------------- + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; + inline bool has_batch_parameter() const; + inline void clear_batch_parameter(); + static const int kBatchParameterFieldNumber = 1; + inline const ::Remote::AudioCollectionRequest_BatchParameter& batch_parameter() const; + inline ::Remote::AudioCollectionRequest_BatchParameter* mutable_batch_parameter(); + inline ::Remote::AudioCollectionRequest_BatchParameter* release_batch_parameter(); + inline void set_allocated_batch_parameter(::Remote::AudioCollectionRequest_BatchParameter* batch_parameter); + // repeated uint64 genre_id = 2; inline int genre_id_size() const; inline void clear_genre_id(); @@ -339,15 +370,6 @@ class AudioCollectionRequest_GetArtistList : public ::google::protobuf::Message inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* mutable_genre_id(); - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 3; - inline bool has_batch_parameter() const; - inline void clear_batch_parameter(); - static const int kBatchParameterFieldNumber = 3; - inline const ::Remote::AudioCollectionRequest_BatchParameter& batch_parameter() const; - inline ::Remote::AudioCollectionRequest_BatchParameter* mutable_batch_parameter(); - inline ::Remote::AudioCollectionRequest_BatchParameter* release_batch_parameter(); - inline void set_allocated_batch_parameter(::Remote::AudioCollectionRequest_BatchParameter* batch_parameter); - // @@protoc_insertion_point(class_scope:Remote.AudioCollectionRequest.GetArtistList) private: inline void set_has_batch_parameter(); @@ -355,8 +377,8 @@ class AudioCollectionRequest_GetArtistList : public ::google::protobuf::Message ::google::protobuf::UnknownFieldSet _unknown_fields_; - ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > genre_id_; ::Remote::AudioCollectionRequest_BatchParameter* batch_parameter_; + ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > genre_id_; mutable int _cached_size_; ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; @@ -424,10 +446,19 @@ class AudioCollectionRequest_GetReleaseList : public ::google::protobuf::Message // accessors ------------------------------------------------------- - // repeated uint64 artist_id = 1; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; + inline bool has_batch_parameter() const; + inline void clear_batch_parameter(); + static const int kBatchParameterFieldNumber = 1; + inline const ::Remote::AudioCollectionRequest_BatchParameter& batch_parameter() const; + inline ::Remote::AudioCollectionRequest_BatchParameter* mutable_batch_parameter(); + inline ::Remote::AudioCollectionRequest_BatchParameter* release_batch_parameter(); + inline void set_allocated_batch_parameter(::Remote::AudioCollectionRequest_BatchParameter* batch_parameter); + + // repeated uint64 artist_id = 2; inline int artist_id_size() const; inline void clear_artist_id(); - static const int kArtistIdFieldNumber = 1; + static const int kArtistIdFieldNumber = 2; inline ::google::protobuf::uint64 artist_id(int index) const; inline void set_artist_id(int index, ::google::protobuf::uint64 value); inline void add_artist_id(::google::protobuf::uint64 value); @@ -436,10 +467,10 @@ class AudioCollectionRequest_GetReleaseList : public ::google::protobuf::Message inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* mutable_artist_id(); - // repeated uint64 filter_genre = 2; + // repeated uint64 filter_genre = 3; inline int filter_genre_size() const; inline void clear_filter_genre(); - static const int kFilterGenreFieldNumber = 2; + static const int kFilterGenreFieldNumber = 3; inline ::google::protobuf::uint64 filter_genre(int index) const; inline void set_filter_genre(int index, ::google::protobuf::uint64 value); inline void add_filter_genre(::google::protobuf::uint64 value); @@ -448,38 +479,19 @@ class AudioCollectionRequest_GetReleaseList : public ::google::protobuf::Message inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* mutable_filter_genre(); - // optional bool get_cover = 3; - inline bool has_get_cover() const; - inline void clear_get_cover(); - static const int kGetCoverFieldNumber = 3; - inline bool get_cover() const; - inline void set_get_cover(bool value); - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 4; - inline bool has_batch_parameter() const; - inline void clear_batch_parameter(); - static const int kBatchParameterFieldNumber = 4; - inline const ::Remote::AudioCollectionRequest_BatchParameter& batch_parameter() const; - inline ::Remote::AudioCollectionRequest_BatchParameter* mutable_batch_parameter(); - inline ::Remote::AudioCollectionRequest_BatchParameter* release_batch_parameter(); - inline void set_allocated_batch_parameter(::Remote::AudioCollectionRequest_BatchParameter* batch_parameter); - // @@protoc_insertion_point(class_scope:Remote.AudioCollectionRequest.GetReleaseList) private: - inline void set_has_get_cover(); - inline void clear_has_get_cover(); inline void set_has_batch_parameter(); inline void clear_has_batch_parameter(); ::google::protobuf::UnknownFieldSet _unknown_fields_; + ::Remote::AudioCollectionRequest_BatchParameter* batch_parameter_; ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > artist_id_; ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > filter_genre_; - ::Remote::AudioCollectionRequest_BatchParameter* batch_parameter_; - bool get_cover_; mutable int _cached_size_; - ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32]; + ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; friend void protobuf_AddDesc_collection_2eproto(); friend void protobuf_AssignDesc_collection_2eproto(); @@ -544,10 +556,19 @@ class AudioCollectionRequest_GetTrackList : public ::google::protobuf::Message { // accessors ------------------------------------------------------- - // repeated uint64 artist_id = 1; + // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; + inline bool has_batch_parameter() const; + inline void clear_batch_parameter(); + static const int kBatchParameterFieldNumber = 1; + inline const ::Remote::AudioCollectionRequest_BatchParameter& batch_parameter() const; + inline ::Remote::AudioCollectionRequest_BatchParameter* mutable_batch_parameter(); + inline ::Remote::AudioCollectionRequest_BatchParameter* release_batch_parameter(); + inline void set_allocated_batch_parameter(::Remote::AudioCollectionRequest_BatchParameter* batch_parameter); + + // repeated uint64 artist_id = 2; inline int artist_id_size() const; inline void clear_artist_id(); - static const int kArtistIdFieldNumber = 1; + static const int kArtistIdFieldNumber = 2; inline ::google::protobuf::uint64 artist_id(int index) const; inline void set_artist_id(int index, ::google::protobuf::uint64 value); inline void add_artist_id(::google::protobuf::uint64 value); @@ -556,10 +577,10 @@ class AudioCollectionRequest_GetTrackList : public ::google::protobuf::Message { inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* mutable_artist_id(); - // repeated uint64 release_id = 2; + // repeated uint64 release_id = 3; inline int release_id_size() const; inline void clear_release_id(); - static const int kReleaseIdFieldNumber = 2; + static const int kReleaseIdFieldNumber = 3; inline ::google::protobuf::uint64 release_id(int index) const; inline void set_release_id(int index, ::google::protobuf::uint64 value); inline void add_release_id(::google::protobuf::uint64 value); @@ -568,10 +589,10 @@ class AudioCollectionRequest_GetTrackList : public ::google::protobuf::Message { inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* mutable_release_id(); - // repeated uint64 genre_id = 3; + // repeated uint64 genre_id = 4; inline int genre_id_size() const; inline void clear_genre_id(); - static const int kGenreIdFieldNumber = 3; + static const int kGenreIdFieldNumber = 4; inline ::google::protobuf::uint64 genre_id(int index) const; inline void set_genre_id(int index, ::google::protobuf::uint64 value); inline void add_genre_id(::google::protobuf::uint64 value); @@ -580,39 +601,20 @@ class AudioCollectionRequest_GetTrackList : public ::google::protobuf::Message { inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* mutable_genre_id(); - // optional bool get_cover = 4; - inline bool has_get_cover() const; - inline void clear_get_cover(); - static const int kGetCoverFieldNumber = 4; - inline bool get_cover() const; - inline void set_get_cover(bool value); - - // required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 5; - inline bool has_batch_parameter() const; - inline void clear_batch_parameter(); - static const int kBatchParameterFieldNumber = 5; - inline const ::Remote::AudioCollectionRequest_BatchParameter& batch_parameter() const; - inline ::Remote::AudioCollectionRequest_BatchParameter* mutable_batch_parameter(); - inline ::Remote::AudioCollectionRequest_BatchParameter* release_batch_parameter(); - inline void set_allocated_batch_parameter(::Remote::AudioCollectionRequest_BatchParameter* batch_parameter); - // @@protoc_insertion_point(class_scope:Remote.AudioCollectionRequest.GetTrackList) private: - inline void set_has_get_cover(); - inline void clear_has_get_cover(); inline void set_has_batch_parameter(); inline void clear_has_batch_parameter(); ::google::protobuf::UnknownFieldSet _unknown_fields_; + ::Remote::AudioCollectionRequest_BatchParameter* batch_parameter_; ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > artist_id_; ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > release_id_; ::google::protobuf::RepeatedField< ::google::protobuf::uint64 > genre_id_; - ::Remote::AudioCollectionRequest_BatchParameter* batch_parameter_; - bool get_cover_; mutable int _cached_size_; - ::google::protobuf::uint32 _has_bits_[(5 + 31) / 32]; + ::google::protobuf::uint32 _has_bits_[(4 + 31) / 32]; friend void protobuf_AddDesc_collection_2eproto(); friend void protobuf_AssignDesc_collection_2eproto(); @@ -623,6 +625,132 @@ class AudioCollectionRequest_GetTrackList : public ::google::protobuf::Message { }; // ------------------------------------------------------------------- +class AudioCollectionRequest_GetCoverArt : public ::google::protobuf::Message { + public: + AudioCollectionRequest_GetCoverArt(); + virtual ~AudioCollectionRequest_GetCoverArt(); + + AudioCollectionRequest_GetCoverArt(const AudioCollectionRequest_GetCoverArt& from); + + inline AudioCollectionRequest_GetCoverArt& operator=(const AudioCollectionRequest_GetCoverArt& from) { + CopyFrom(from); + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const { + return _unknown_fields_; + } + + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() { + return &_unknown_fields_; + } + + static const ::google::protobuf::Descriptor* descriptor(); + static const AudioCollectionRequest_GetCoverArt& default_instance(); + + void Swap(AudioCollectionRequest_GetCoverArt* other); + + // implements Message ---------------------------------------------- + + AudioCollectionRequest_GetCoverArt* New() const; + void CopyFrom(const ::google::protobuf::Message& from); + void MergeFrom(const ::google::protobuf::Message& from); + void CopyFrom(const AudioCollectionRequest_GetCoverArt& from); + void MergeFrom(const AudioCollectionRequest_GetCoverArt& from); + void Clear(); + bool IsInitialized() const; + + int ByteSize() const; + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input); + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const; + ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const; + int GetCachedSize() const { return _cached_size_; } + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const; + public: + + ::google::protobuf::Metadata GetMetadata() const; + + // nested types ---------------------------------------------------- + + typedef AudioCollectionRequest_GetCoverArt_Type Type; + static const Type TypeGetCoverArtRelease = AudioCollectionRequest_GetCoverArt_Type_TypeGetCoverArtRelease; + static const Type TypeGetCoverArtTrack = AudioCollectionRequest_GetCoverArt_Type_TypeGetCoverArtTrack; + static inline bool Type_IsValid(int value) { + return AudioCollectionRequest_GetCoverArt_Type_IsValid(value); + } + static const Type Type_MIN = + AudioCollectionRequest_GetCoverArt_Type_Type_MIN; + static const Type Type_MAX = + AudioCollectionRequest_GetCoverArt_Type_Type_MAX; + static const int Type_ARRAYSIZE = + AudioCollectionRequest_GetCoverArt_Type_Type_ARRAYSIZE; + static inline const ::google::protobuf::EnumDescriptor* + Type_descriptor() { + return AudioCollectionRequest_GetCoverArt_Type_descriptor(); + } + static inline const ::std::string& Type_Name(Type value) { + return AudioCollectionRequest_GetCoverArt_Type_Name(value); + } + static inline bool Type_Parse(const ::std::string& name, + Type* value) { + return AudioCollectionRequest_GetCoverArt_Type_Parse(name, value); + } + + // accessors ------------------------------------------------------- + + // required .Remote.AudioCollectionRequest.GetCoverArt.Type type = 1; + inline bool has_type() const; + inline void clear_type(); + static const int kTypeFieldNumber = 1; + inline ::Remote::AudioCollectionRequest_GetCoverArt_Type type() const; + inline void set_type(::Remote::AudioCollectionRequest_GetCoverArt_Type value); + + // optional uint64 release_id = 2; + inline bool has_release_id() const; + inline void clear_release_id(); + static const int kReleaseIdFieldNumber = 2; + inline ::google::protobuf::uint64 release_id() const; + inline void set_release_id(::google::protobuf::uint64 value); + + // optional uint64 track_id = 3; + inline bool has_track_id() const; + inline void clear_track_id(); + static const int kTrackIdFieldNumber = 3; + inline ::google::protobuf::uint64 track_id() const; + inline void set_track_id(::google::protobuf::uint64 value); + + // @@protoc_insertion_point(class_scope:Remote.AudioCollectionRequest.GetCoverArt) + private: + inline void set_has_type(); + inline void clear_has_type(); + inline void set_has_release_id(); + inline void clear_has_release_id(); + inline void set_has_track_id(); + inline void clear_has_track_id(); + + ::google::protobuf::UnknownFieldSet _unknown_fields_; + + ::google::protobuf::uint64 release_id_; + ::google::protobuf::uint64 track_id_; + int type_; + + mutable int _cached_size_; + ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32]; + + friend void protobuf_AddDesc_collection_2eproto(); + friend void protobuf_AssignDesc_collection_2eproto(); + friend void protobuf_ShutdownFile_collection_2eproto(); + + void InitAsDefaultInstance(); + static AudioCollectionRequest_GetCoverArt* default_instance_; +}; +// ------------------------------------------------------------------- + class AudioCollectionRequest : public ::google::protobuf::Message { public: AudioCollectionRequest(); @@ -680,12 +808,14 @@ class AudioCollectionRequest : public ::google::protobuf::Message { typedef AudioCollectionRequest_GetArtistList GetArtistList; typedef AudioCollectionRequest_GetReleaseList GetReleaseList; typedef AudioCollectionRequest_GetTrackList GetTrackList; + typedef AudioCollectionRequest_GetCoverArt GetCoverArt; typedef AudioCollectionRequest_Type Type; static const Type TypeGetGenreList = AudioCollectionRequest_Type_TypeGetGenreList; static const Type TypeGetArtistList = AudioCollectionRequest_Type_TypeGetArtistList; static const Type TypeGetReleaseList = AudioCollectionRequest_Type_TypeGetReleaseList; static const Type TypeGetTrackList = AudioCollectionRequest_Type_TypeGetTrackList; + static const Type TypeGetCoverArt = AudioCollectionRequest_Type_TypeGetCoverArt; static inline bool Type_IsValid(int value) { return AudioCollectionRequest_Type_IsValid(value); } @@ -752,6 +882,15 @@ class AudioCollectionRequest : public ::google::protobuf::Message { inline ::Remote::AudioCollectionRequest_GetTrackList* release_get_tracks(); inline void set_allocated_get_tracks(::Remote::AudioCollectionRequest_GetTrackList* get_tracks); + // optional .Remote.AudioCollectionRequest.GetCoverArt get_cover_art = 6; + inline bool has_get_cover_art() const; + inline void clear_get_cover_art(); + static const int kGetCoverArtFieldNumber = 6; + inline const ::Remote::AudioCollectionRequest_GetCoverArt& get_cover_art() const; + inline ::Remote::AudioCollectionRequest_GetCoverArt* mutable_get_cover_art(); + inline ::Remote::AudioCollectionRequest_GetCoverArt* release_get_cover_art(); + inline void set_allocated_get_cover_art(::Remote::AudioCollectionRequest_GetCoverArt* get_cover_art); + // @@protoc_insertion_point(class_scope:Remote.AudioCollectionRequest) private: inline void set_has_type(); @@ -764,6 +903,8 @@ class AudioCollectionRequest : public ::google::protobuf::Message { inline void clear_has_get_releases(); inline void set_has_get_tracks(); inline void clear_has_get_tracks(); + inline void set_has_get_cover_art(); + inline void clear_has_get_cover_art(); ::google::protobuf::UnknownFieldSet _unknown_fields_; @@ -771,10 +912,11 @@ class AudioCollectionRequest : public ::google::protobuf::Message { ::Remote::AudioCollectionRequest_GetArtistList* get_artists_; ::Remote::AudioCollectionRequest_GetReleaseList* get_releases_; ::Remote::AudioCollectionRequest_GetTrackList* get_tracks_; + ::Remote::AudioCollectionRequest_GetCoverArt* get_cover_art_; int type_; mutable int _cached_size_; - ::google::protobuf::uint32 _has_bits_[(5 + 31) / 32]; + ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32]; friend void protobuf_AddDesc_collection_2eproto(); friend void protobuf_AssignDesc_collection_2eproto(); @@ -1191,31 +1333,29 @@ class AudioCollectionResponse_CoverArt : public ::google::protobuf::Message { inline ::std::string* release_mime_type(); inline void set_allocated_mime_type(::std::string* mime_type); - // repeated bytes data = 2; - inline int data_size() const; + // required bytes data = 2; + inline bool has_data() const; inline void clear_data(); static const int kDataFieldNumber = 2; - inline const ::std::string& data(int index) const; - inline ::std::string* mutable_data(int index); - inline void set_data(int index, const ::std::string& value); - inline void set_data(int index, const char* value); - inline void set_data(int index, const void* value, size_t size); - inline ::std::string* add_data(); - inline void add_data(const ::std::string& value); - inline void add_data(const char* value); - inline void add_data(const void* value, size_t size); - inline const ::google::protobuf::RepeatedPtrField< ::std::string>& data() const; - inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_data(); + inline const ::std::string& data() const; + inline void set_data(const ::std::string& value); + inline void set_data(const char* value); + inline void set_data(const void* value, size_t size); + inline ::std::string* mutable_data(); + inline ::std::string* release_data(); + inline void set_allocated_data(::std::string* data); // @@protoc_insertion_point(class_scope:Remote.AudioCollectionResponse.CoverArt) private: inline void set_has_mime_type(); inline void clear_has_mime_type(); + inline void set_has_data(); + inline void clear_has_data(); ::google::protobuf::UnknownFieldSet _unknown_fields_; ::std::string* mime_type_; - ::google::protobuf::RepeatedPtrField< ::std::string> data_; + ::std::string* data_; mutable int _cached_size_; ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32]; @@ -1532,15 +1672,6 @@ class AudioCollectionResponse_Release : public ::google::protobuf::Message { inline ::std::string* release_release_date(); inline void set_allocated_release_date(::std::string* release_date); - // optional .Remote.AudioCollectionResponse.CoverArt coverArt = 6; - inline bool has_coverart() const; - inline void clear_coverart(); - static const int kCoverArtFieldNumber = 6; - inline const ::Remote::AudioCollectionResponse_CoverArt& coverart() const; - inline ::Remote::AudioCollectionResponse_CoverArt* mutable_coverart(); - inline ::Remote::AudioCollectionResponse_CoverArt* release_coverart(); - inline void set_allocated_coverart(::Remote::AudioCollectionResponse_CoverArt* coverart); - // @@protoc_insertion_point(class_scope:Remote.AudioCollectionResponse.Release) private: inline void set_has_id(); @@ -1553,8 +1684,6 @@ class AudioCollectionResponse_Release : public ::google::protobuf::Message { inline void clear_has_duration_secs(); inline void set_has_release_date(); inline void clear_has_release_date(); - inline void set_has_coverart(); - inline void clear_has_coverart(); ::google::protobuf::UnknownFieldSet _unknown_fields_; @@ -1563,10 +1692,9 @@ class AudioCollectionResponse_Release : public ::google::protobuf::Message { ::google::protobuf::uint32 nb_tracks_; ::google::protobuf::uint32 duration_secs_; ::std::string* release_date_; - ::Remote::AudioCollectionResponse_CoverArt* coverart_; mutable int _cached_size_; - ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32]; + ::google::protobuf::uint32 _has_bits_[(5 + 31) / 32]; friend void protobuf_AddDesc_collection_2eproto(); friend void protobuf_AssignDesc_collection_2eproto(); @@ -1721,18 +1849,6 @@ class AudioCollectionResponse_Track : public ::google::protobuf::Message { inline ::std::string* release_original_release_date(); inline void set_allocated_original_release_date(::std::string* original_release_date); - // optional bytes coverArt = 11; - inline bool has_coverart() const; - inline void clear_coverart(); - static const int kCoverArtFieldNumber = 11; - inline const ::std::string& coverart() const; - inline void set_coverart(const ::std::string& value); - inline void set_coverart(const char* value); - inline void set_coverart(const void* value, size_t size); - inline ::std::string* mutable_coverart(); - inline ::std::string* release_coverart(); - inline void set_allocated_coverart(::std::string* coverart); - // @@protoc_insertion_point(class_scope:Remote.AudioCollectionResponse.Track) private: inline void set_has_id(); @@ -1753,8 +1869,6 @@ class AudioCollectionResponse_Track : public ::google::protobuf::Message { inline void clear_has_release_date(); inline void set_has_original_release_date(); inline void clear_has_original_release_date(); - inline void set_has_coverart(); - inline void clear_has_coverart(); ::google::protobuf::UnknownFieldSet _unknown_fields_; @@ -1767,11 +1881,10 @@ class AudioCollectionResponse_Track : public ::google::protobuf::Message { ::std::string* name_; ::std::string* release_date_; ::std::string* original_release_date_; - ::std::string* coverart_; ::google::protobuf::uint32 duration_secs_; mutable int _cached_size_; - ::google::protobuf::uint32 _has_bits_[(11 + 31) / 32]; + ::google::protobuf::uint32 _has_bits_[(10 + 31) / 32]; friend void protobuf_AddDesc_collection_2eproto(); friend void protobuf_AssignDesc_collection_2eproto(); @@ -1850,6 +1963,7 @@ class AudioCollectionResponse : public ::google::protobuf::Message { static const Type TypeArtistList = AudioCollectionResponse_Type_TypeArtistList; static const Type TypeReleaseList = AudioCollectionResponse_Type_TypeReleaseList; static const Type TypeTrackList = AudioCollectionResponse_Type_TypeTrackList; + static const Type TypeCoverArt = AudioCollectionResponse_Type_TypeCoverArt; static inline bool Type_IsValid(int value) { return AudioCollectionResponse_Type_IsValid(value); } @@ -1925,6 +2039,18 @@ class AudioCollectionResponse : public ::google::protobuf::Message { inline ::Remote::AudioCollectionResponse_TrackList* release_track_list(); inline void set_allocated_track_list(::Remote::AudioCollectionResponse_TrackList* track_list); + // repeated .Remote.AudioCollectionResponse.CoverArt cover_art = 7; + inline int cover_art_size() const; + inline void clear_cover_art(); + static const int kCoverArtFieldNumber = 7; + inline const ::Remote::AudioCollectionResponse_CoverArt& cover_art(int index) const; + inline ::Remote::AudioCollectionResponse_CoverArt* mutable_cover_art(int index); + inline ::Remote::AudioCollectionResponse_CoverArt* add_cover_art(); + inline const ::google::protobuf::RepeatedPtrField< ::Remote::AudioCollectionResponse_CoverArt >& + cover_art() const; + inline ::google::protobuf::RepeatedPtrField< ::Remote::AudioCollectionResponse_CoverArt >* + mutable_cover_art(); + // @@protoc_insertion_point(class_scope:Remote.AudioCollectionResponse) private: inline void set_has_type(); @@ -1947,10 +2073,11 @@ class AudioCollectionResponse : public ::google::protobuf::Message { ::Remote::AudioCollectionResponse_ArtistList* artist_list_; ::Remote::AudioCollectionResponse_ReleaseList* release_list_; ::Remote::AudioCollectionResponse_TrackList* track_list_; + ::google::protobuf::RepeatedPtrField< ::Remote::AudioCollectionResponse_CoverArt > cover_art_; int type_; mutable int _cached_size_; - ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32]; + ::google::protobuf::uint32 _has_bits_[(7 + 31) / 32]; friend void protobuf_AddDesc_collection_2eproto(); friend void protobuf_AssignDesc_collection_2eproto(); @@ -2014,7 +2141,7 @@ inline void AudioCollectionRequest_BatchParameter::set_size(::google::protobuf:: // AudioCollectionRequest_GetGenreList -// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 2; +// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; inline bool AudioCollectionRequest_GetGenreList::has_batch_parameter() const { return (_has_bits_[0] & 0x00000001u) != 0; } @@ -2056,40 +2183,15 @@ inline void AudioCollectionRequest_GetGenreList::set_allocated_batch_parameter(: // AudioCollectionRequest_GetArtistList -// repeated uint64 genre_id = 2; -inline int AudioCollectionRequest_GetArtistList::genre_id_size() const { - return genre_id_.size(); -} -inline void AudioCollectionRequest_GetArtistList::clear_genre_id() { - genre_id_.Clear(); -} -inline ::google::protobuf::uint64 AudioCollectionRequest_GetArtistList::genre_id(int index) const { - return genre_id_.Get(index); -} -inline void AudioCollectionRequest_GetArtistList::set_genre_id(int index, ::google::protobuf::uint64 value) { - genre_id_.Set(index, value); -} -inline void AudioCollectionRequest_GetArtistList::add_genre_id(::google::protobuf::uint64 value) { - genre_id_.Add(value); -} -inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& -AudioCollectionRequest_GetArtistList::genre_id() const { - return genre_id_; -} -inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* -AudioCollectionRequest_GetArtistList::mutable_genre_id() { - return &genre_id_; -} - -// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 3; +// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; inline bool AudioCollectionRequest_GetArtistList::has_batch_parameter() const { - return (_has_bits_[0] & 0x00000002u) != 0; + return (_has_bits_[0] & 0x00000001u) != 0; } inline void AudioCollectionRequest_GetArtistList::set_has_batch_parameter() { - _has_bits_[0] |= 0x00000002u; + _has_bits_[0] |= 0x00000001u; } inline void AudioCollectionRequest_GetArtistList::clear_has_batch_parameter() { - _has_bits_[0] &= ~0x00000002u; + _has_bits_[0] &= ~0x00000001u; } inline void AudioCollectionRequest_GetArtistList::clear_batch_parameter() { if (batch_parameter_ != NULL) batch_parameter_->::Remote::AudioCollectionRequest_BatchParameter::Clear(); @@ -2119,91 +2221,44 @@ inline void AudioCollectionRequest_GetArtistList::set_allocated_batch_parameter( } } +// repeated uint64 genre_id = 2; +inline int AudioCollectionRequest_GetArtistList::genre_id_size() const { + return genre_id_.size(); +} +inline void AudioCollectionRequest_GetArtistList::clear_genre_id() { + genre_id_.Clear(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetArtistList::genre_id(int index) const { + return genre_id_.Get(index); +} +inline void AudioCollectionRequest_GetArtistList::set_genre_id(int index, ::google::protobuf::uint64 value) { + genre_id_.Set(index, value); +} +inline void AudioCollectionRequest_GetArtistList::add_genre_id(::google::protobuf::uint64 value) { + genre_id_.Add(value); +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& +AudioCollectionRequest_GetArtistList::genre_id() const { + return genre_id_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* +AudioCollectionRequest_GetArtistList::mutable_genre_id() { + return &genre_id_; +} + // ------------------------------------------------------------------- // AudioCollectionRequest_GetReleaseList -// repeated uint64 artist_id = 1; -inline int AudioCollectionRequest_GetReleaseList::artist_id_size() const { - return artist_id_.size(); -} -inline void AudioCollectionRequest_GetReleaseList::clear_artist_id() { - artist_id_.Clear(); -} -inline ::google::protobuf::uint64 AudioCollectionRequest_GetReleaseList::artist_id(int index) const { - return artist_id_.Get(index); -} -inline void AudioCollectionRequest_GetReleaseList::set_artist_id(int index, ::google::protobuf::uint64 value) { - artist_id_.Set(index, value); -} -inline void AudioCollectionRequest_GetReleaseList::add_artist_id(::google::protobuf::uint64 value) { - artist_id_.Add(value); -} -inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& -AudioCollectionRequest_GetReleaseList::artist_id() const { - return artist_id_; -} -inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* -AudioCollectionRequest_GetReleaseList::mutable_artist_id() { - return &artist_id_; -} - -// repeated uint64 filter_genre = 2; -inline int AudioCollectionRequest_GetReleaseList::filter_genre_size() const { - return filter_genre_.size(); -} -inline void AudioCollectionRequest_GetReleaseList::clear_filter_genre() { - filter_genre_.Clear(); -} -inline ::google::protobuf::uint64 AudioCollectionRequest_GetReleaseList::filter_genre(int index) const { - return filter_genre_.Get(index); -} -inline void AudioCollectionRequest_GetReleaseList::set_filter_genre(int index, ::google::protobuf::uint64 value) { - filter_genre_.Set(index, value); -} -inline void AudioCollectionRequest_GetReleaseList::add_filter_genre(::google::protobuf::uint64 value) { - filter_genre_.Add(value); -} -inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& -AudioCollectionRequest_GetReleaseList::filter_genre() const { - return filter_genre_; -} -inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* -AudioCollectionRequest_GetReleaseList::mutable_filter_genre() { - return &filter_genre_; -} - -// optional bool get_cover = 3; -inline bool AudioCollectionRequest_GetReleaseList::has_get_cover() const { - return (_has_bits_[0] & 0x00000004u) != 0; -} -inline void AudioCollectionRequest_GetReleaseList::set_has_get_cover() { - _has_bits_[0] |= 0x00000004u; -} -inline void AudioCollectionRequest_GetReleaseList::clear_has_get_cover() { - _has_bits_[0] &= ~0x00000004u; -} -inline void AudioCollectionRequest_GetReleaseList::clear_get_cover() { - get_cover_ = false; - clear_has_get_cover(); -} -inline bool AudioCollectionRequest_GetReleaseList::get_cover() const { - return get_cover_; -} -inline void AudioCollectionRequest_GetReleaseList::set_get_cover(bool value) { - set_has_get_cover(); - get_cover_ = value; -} - -// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 4; +// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; inline bool AudioCollectionRequest_GetReleaseList::has_batch_parameter() const { - return (_has_bits_[0] & 0x00000008u) != 0; + return (_has_bits_[0] & 0x00000001u) != 0; } inline void AudioCollectionRequest_GetReleaseList::set_has_batch_parameter() { - _has_bits_[0] |= 0x00000008u; + _has_bits_[0] |= 0x00000001u; } inline void AudioCollectionRequest_GetReleaseList::clear_has_batch_parameter() { - _has_bits_[0] &= ~0x00000008u; + _has_bits_[0] &= ~0x00000001u; } inline void AudioCollectionRequest_GetReleaseList::clear_batch_parameter() { if (batch_parameter_ != NULL) batch_parameter_->::Remote::AudioCollectionRequest_BatchParameter::Clear(); @@ -2233,116 +2288,69 @@ inline void AudioCollectionRequest_GetReleaseList::set_allocated_batch_parameter } } +// repeated uint64 artist_id = 2; +inline int AudioCollectionRequest_GetReleaseList::artist_id_size() const { + return artist_id_.size(); +} +inline void AudioCollectionRequest_GetReleaseList::clear_artist_id() { + artist_id_.Clear(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetReleaseList::artist_id(int index) const { + return artist_id_.Get(index); +} +inline void AudioCollectionRequest_GetReleaseList::set_artist_id(int index, ::google::protobuf::uint64 value) { + artist_id_.Set(index, value); +} +inline void AudioCollectionRequest_GetReleaseList::add_artist_id(::google::protobuf::uint64 value) { + artist_id_.Add(value); +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& +AudioCollectionRequest_GetReleaseList::artist_id() const { + return artist_id_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* +AudioCollectionRequest_GetReleaseList::mutable_artist_id() { + return &artist_id_; +} + +// repeated uint64 filter_genre = 3; +inline int AudioCollectionRequest_GetReleaseList::filter_genre_size() const { + return filter_genre_.size(); +} +inline void AudioCollectionRequest_GetReleaseList::clear_filter_genre() { + filter_genre_.Clear(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetReleaseList::filter_genre(int index) const { + return filter_genre_.Get(index); +} +inline void AudioCollectionRequest_GetReleaseList::set_filter_genre(int index, ::google::protobuf::uint64 value) { + filter_genre_.Set(index, value); +} +inline void AudioCollectionRequest_GetReleaseList::add_filter_genre(::google::protobuf::uint64 value) { + filter_genre_.Add(value); +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& +AudioCollectionRequest_GetReleaseList::filter_genre() const { + return filter_genre_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* +AudioCollectionRequest_GetReleaseList::mutable_filter_genre() { + return &filter_genre_; +} + // ------------------------------------------------------------------- // AudioCollectionRequest_GetTrackList -// repeated uint64 artist_id = 1; -inline int AudioCollectionRequest_GetTrackList::artist_id_size() const { - return artist_id_.size(); -} -inline void AudioCollectionRequest_GetTrackList::clear_artist_id() { - artist_id_.Clear(); -} -inline ::google::protobuf::uint64 AudioCollectionRequest_GetTrackList::artist_id(int index) const { - return artist_id_.Get(index); -} -inline void AudioCollectionRequest_GetTrackList::set_artist_id(int index, ::google::protobuf::uint64 value) { - artist_id_.Set(index, value); -} -inline void AudioCollectionRequest_GetTrackList::add_artist_id(::google::protobuf::uint64 value) { - artist_id_.Add(value); -} -inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& -AudioCollectionRequest_GetTrackList::artist_id() const { - return artist_id_; -} -inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* -AudioCollectionRequest_GetTrackList::mutable_artist_id() { - return &artist_id_; -} - -// repeated uint64 release_id = 2; -inline int AudioCollectionRequest_GetTrackList::release_id_size() const { - return release_id_.size(); -} -inline void AudioCollectionRequest_GetTrackList::clear_release_id() { - release_id_.Clear(); -} -inline ::google::protobuf::uint64 AudioCollectionRequest_GetTrackList::release_id(int index) const { - return release_id_.Get(index); -} -inline void AudioCollectionRequest_GetTrackList::set_release_id(int index, ::google::protobuf::uint64 value) { - release_id_.Set(index, value); -} -inline void AudioCollectionRequest_GetTrackList::add_release_id(::google::protobuf::uint64 value) { - release_id_.Add(value); -} -inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& -AudioCollectionRequest_GetTrackList::release_id() const { - return release_id_; -} -inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* -AudioCollectionRequest_GetTrackList::mutable_release_id() { - return &release_id_; -} - -// repeated uint64 genre_id = 3; -inline int AudioCollectionRequest_GetTrackList::genre_id_size() const { - return genre_id_.size(); -} -inline void AudioCollectionRequest_GetTrackList::clear_genre_id() { - genre_id_.Clear(); -} -inline ::google::protobuf::uint64 AudioCollectionRequest_GetTrackList::genre_id(int index) const { - return genre_id_.Get(index); -} -inline void AudioCollectionRequest_GetTrackList::set_genre_id(int index, ::google::protobuf::uint64 value) { - genre_id_.Set(index, value); -} -inline void AudioCollectionRequest_GetTrackList::add_genre_id(::google::protobuf::uint64 value) { - genre_id_.Add(value); -} -inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& -AudioCollectionRequest_GetTrackList::genre_id() const { - return genre_id_; -} -inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* -AudioCollectionRequest_GetTrackList::mutable_genre_id() { - return &genre_id_; -} - -// optional bool get_cover = 4; -inline bool AudioCollectionRequest_GetTrackList::has_get_cover() const { - return (_has_bits_[0] & 0x00000008u) != 0; -} -inline void AudioCollectionRequest_GetTrackList::set_has_get_cover() { - _has_bits_[0] |= 0x00000008u; -} -inline void AudioCollectionRequest_GetTrackList::clear_has_get_cover() { - _has_bits_[0] &= ~0x00000008u; -} -inline void AudioCollectionRequest_GetTrackList::clear_get_cover() { - get_cover_ = false; - clear_has_get_cover(); -} -inline bool AudioCollectionRequest_GetTrackList::get_cover() const { - return get_cover_; -} -inline void AudioCollectionRequest_GetTrackList::set_get_cover(bool value) { - set_has_get_cover(); - get_cover_ = value; -} - -// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 5; +// required .Remote.AudioCollectionRequest.BatchParameter batch_parameter = 1; inline bool AudioCollectionRequest_GetTrackList::has_batch_parameter() const { - return (_has_bits_[0] & 0x00000010u) != 0; + return (_has_bits_[0] & 0x00000001u) != 0; } inline void AudioCollectionRequest_GetTrackList::set_has_batch_parameter() { - _has_bits_[0] |= 0x00000010u; + _has_bits_[0] |= 0x00000001u; } inline void AudioCollectionRequest_GetTrackList::clear_has_batch_parameter() { - _has_bits_[0] &= ~0x00000010u; + _has_bits_[0] &= ~0x00000001u; } inline void AudioCollectionRequest_GetTrackList::clear_batch_parameter() { if (batch_parameter_ != NULL) batch_parameter_->::Remote::AudioCollectionRequest_BatchParameter::Clear(); @@ -2372,6 +2380,152 @@ inline void AudioCollectionRequest_GetTrackList::set_allocated_batch_parameter(: } } +// repeated uint64 artist_id = 2; +inline int AudioCollectionRequest_GetTrackList::artist_id_size() const { + return artist_id_.size(); +} +inline void AudioCollectionRequest_GetTrackList::clear_artist_id() { + artist_id_.Clear(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetTrackList::artist_id(int index) const { + return artist_id_.Get(index); +} +inline void AudioCollectionRequest_GetTrackList::set_artist_id(int index, ::google::protobuf::uint64 value) { + artist_id_.Set(index, value); +} +inline void AudioCollectionRequest_GetTrackList::add_artist_id(::google::protobuf::uint64 value) { + artist_id_.Add(value); +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& +AudioCollectionRequest_GetTrackList::artist_id() const { + return artist_id_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* +AudioCollectionRequest_GetTrackList::mutable_artist_id() { + return &artist_id_; +} + +// repeated uint64 release_id = 3; +inline int AudioCollectionRequest_GetTrackList::release_id_size() const { + return release_id_.size(); +} +inline void AudioCollectionRequest_GetTrackList::clear_release_id() { + release_id_.Clear(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetTrackList::release_id(int index) const { + return release_id_.Get(index); +} +inline void AudioCollectionRequest_GetTrackList::set_release_id(int index, ::google::protobuf::uint64 value) { + release_id_.Set(index, value); +} +inline void AudioCollectionRequest_GetTrackList::add_release_id(::google::protobuf::uint64 value) { + release_id_.Add(value); +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& +AudioCollectionRequest_GetTrackList::release_id() const { + return release_id_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* +AudioCollectionRequest_GetTrackList::mutable_release_id() { + return &release_id_; +} + +// repeated uint64 genre_id = 4; +inline int AudioCollectionRequest_GetTrackList::genre_id_size() const { + return genre_id_.size(); +} +inline void AudioCollectionRequest_GetTrackList::clear_genre_id() { + genre_id_.Clear(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetTrackList::genre_id(int index) const { + return genre_id_.Get(index); +} +inline void AudioCollectionRequest_GetTrackList::set_genre_id(int index, ::google::protobuf::uint64 value) { + genre_id_.Set(index, value); +} +inline void AudioCollectionRequest_GetTrackList::add_genre_id(::google::protobuf::uint64 value) { + genre_id_.Add(value); +} +inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >& +AudioCollectionRequest_GetTrackList::genre_id() const { + return genre_id_; +} +inline ::google::protobuf::RepeatedField< ::google::protobuf::uint64 >* +AudioCollectionRequest_GetTrackList::mutable_genre_id() { + return &genre_id_; +} + +// ------------------------------------------------------------------- + +// AudioCollectionRequest_GetCoverArt + +// required .Remote.AudioCollectionRequest.GetCoverArt.Type type = 1; +inline bool AudioCollectionRequest_GetCoverArt::has_type() const { + return (_has_bits_[0] & 0x00000001u) != 0; +} +inline void AudioCollectionRequest_GetCoverArt::set_has_type() { + _has_bits_[0] |= 0x00000001u; +} +inline void AudioCollectionRequest_GetCoverArt::clear_has_type() { + _has_bits_[0] &= ~0x00000001u; +} +inline void AudioCollectionRequest_GetCoverArt::clear_type() { + type_ = 1; + clear_has_type(); +} +inline ::Remote::AudioCollectionRequest_GetCoverArt_Type AudioCollectionRequest_GetCoverArt::type() const { + return static_cast< ::Remote::AudioCollectionRequest_GetCoverArt_Type >(type_); +} +inline void AudioCollectionRequest_GetCoverArt::set_type(::Remote::AudioCollectionRequest_GetCoverArt_Type value) { + assert(::Remote::AudioCollectionRequest_GetCoverArt_Type_IsValid(value)); + set_has_type(); + type_ = value; +} + +// optional uint64 release_id = 2; +inline bool AudioCollectionRequest_GetCoverArt::has_release_id() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void AudioCollectionRequest_GetCoverArt::set_has_release_id() { + _has_bits_[0] |= 0x00000002u; +} +inline void AudioCollectionRequest_GetCoverArt::clear_has_release_id() { + _has_bits_[0] &= ~0x00000002u; +} +inline void AudioCollectionRequest_GetCoverArt::clear_release_id() { + release_id_ = GOOGLE_ULONGLONG(0); + clear_has_release_id(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetCoverArt::release_id() const { + return release_id_; +} +inline void AudioCollectionRequest_GetCoverArt::set_release_id(::google::protobuf::uint64 value) { + set_has_release_id(); + release_id_ = value; +} + +// optional uint64 track_id = 3; +inline bool AudioCollectionRequest_GetCoverArt::has_track_id() const { + return (_has_bits_[0] & 0x00000004u) != 0; +} +inline void AudioCollectionRequest_GetCoverArt::set_has_track_id() { + _has_bits_[0] |= 0x00000004u; +} +inline void AudioCollectionRequest_GetCoverArt::clear_has_track_id() { + _has_bits_[0] &= ~0x00000004u; +} +inline void AudioCollectionRequest_GetCoverArt::clear_track_id() { + track_id_ = GOOGLE_ULONGLONG(0); + clear_has_track_id(); +} +inline ::google::protobuf::uint64 AudioCollectionRequest_GetCoverArt::track_id() const { + return track_id_; +} +inline void AudioCollectionRequest_GetCoverArt::set_track_id(::google::protobuf::uint64 value) { + set_has_track_id(); + track_id_ = value; +} + // ------------------------------------------------------------------- // AudioCollectionRequest @@ -2551,6 +2705,44 @@ inline void AudioCollectionRequest::set_allocated_get_tracks(::Remote::AudioColl } } +// optional .Remote.AudioCollectionRequest.GetCoverArt get_cover_art = 6; +inline bool AudioCollectionRequest::has_get_cover_art() const { + return (_has_bits_[0] & 0x00000020u) != 0; +} +inline void AudioCollectionRequest::set_has_get_cover_art() { + _has_bits_[0] |= 0x00000020u; +} +inline void AudioCollectionRequest::clear_has_get_cover_art() { + _has_bits_[0] &= ~0x00000020u; +} +inline void AudioCollectionRequest::clear_get_cover_art() { + if (get_cover_art_ != NULL) get_cover_art_->::Remote::AudioCollectionRequest_GetCoverArt::Clear(); + clear_has_get_cover_art(); +} +inline const ::Remote::AudioCollectionRequest_GetCoverArt& AudioCollectionRequest::get_cover_art() const { + return get_cover_art_ != NULL ? *get_cover_art_ : *default_instance_->get_cover_art_; +} +inline ::Remote::AudioCollectionRequest_GetCoverArt* AudioCollectionRequest::mutable_get_cover_art() { + set_has_get_cover_art(); + if (get_cover_art_ == NULL) get_cover_art_ = new ::Remote::AudioCollectionRequest_GetCoverArt; + return get_cover_art_; +} +inline ::Remote::AudioCollectionRequest_GetCoverArt* AudioCollectionRequest::release_get_cover_art() { + clear_has_get_cover_art(); + ::Remote::AudioCollectionRequest_GetCoverArt* temp = get_cover_art_; + get_cover_art_ = NULL; + return temp; +} +inline void AudioCollectionRequest::set_allocated_get_cover_art(::Remote::AudioCollectionRequest_GetCoverArt* get_cover_art) { + delete get_cover_art_; + get_cover_art_ = get_cover_art; + if (get_cover_art) { + set_has_get_cover_art(); + } else { + clear_has_get_cover_art(); + } +} + // ------------------------------------------------------------------- // AudioCollectionResponse_GenreList @@ -2741,48 +2933,74 @@ inline void AudioCollectionResponse_CoverArt::set_allocated_mime_type(::std::str } } -// repeated bytes data = 2; -inline int AudioCollectionResponse_CoverArt::data_size() const { - return data_.size(); +// required bytes data = 2; +inline bool AudioCollectionResponse_CoverArt::has_data() const { + return (_has_bits_[0] & 0x00000002u) != 0; +} +inline void AudioCollectionResponse_CoverArt::set_has_data() { + _has_bits_[0] |= 0x00000002u; +} +inline void AudioCollectionResponse_CoverArt::clear_has_data() { + _has_bits_[0] &= ~0x00000002u; } inline void AudioCollectionResponse_CoverArt::clear_data() { - data_.Clear(); + if (data_ != &::google::protobuf::internal::kEmptyString) { + data_->clear(); + } + clear_has_data(); } -inline const ::std::string& AudioCollectionResponse_CoverArt::data(int index) const { - return data_.Get(index); +inline const ::std::string& AudioCollectionResponse_CoverArt::data() const { + return *data_; } -inline ::std::string* AudioCollectionResponse_CoverArt::mutable_data(int index) { - return data_.Mutable(index); +inline void AudioCollectionResponse_CoverArt::set_data(const ::std::string& value) { + set_has_data(); + if (data_ == &::google::protobuf::internal::kEmptyString) { + data_ = new ::std::string; + } + data_->assign(value); } -inline void AudioCollectionResponse_CoverArt::set_data(int index, const ::std::string& value) { - data_.Mutable(index)->assign(value); +inline void AudioCollectionResponse_CoverArt::set_data(const char* value) { + set_has_data(); + if (data_ == &::google::protobuf::internal::kEmptyString) { + data_ = new ::std::string; + } + data_->assign(value); } -inline void AudioCollectionResponse_CoverArt::set_data(int index, const char* value) { - data_.Mutable(index)->assign(value); +inline void AudioCollectionResponse_CoverArt::set_data(const void* value, size_t size) { + set_has_data(); + if (data_ == &::google::protobuf::internal::kEmptyString) { + data_ = new ::std::string; + } + data_->assign(reinterpret_cast(value), size); } -inline void AudioCollectionResponse_CoverArt::set_data(int index, const void* value, size_t size) { - data_.Mutable(index)->assign( - reinterpret_cast(value), size); -} -inline ::std::string* AudioCollectionResponse_CoverArt::add_data() { - return data_.Add(); -} -inline void AudioCollectionResponse_CoverArt::add_data(const ::std::string& value) { - data_.Add()->assign(value); -} -inline void AudioCollectionResponse_CoverArt::add_data(const char* value) { - data_.Add()->assign(value); -} -inline void AudioCollectionResponse_CoverArt::add_data(const void* value, size_t size) { - data_.Add()->assign(reinterpret_cast(value), size); -} -inline const ::google::protobuf::RepeatedPtrField< ::std::string>& -AudioCollectionResponse_CoverArt::data() const { +inline ::std::string* AudioCollectionResponse_CoverArt::mutable_data() { + set_has_data(); + if (data_ == &::google::protobuf::internal::kEmptyString) { + data_ = new ::std::string; + } return data_; } -inline ::google::protobuf::RepeatedPtrField< ::std::string>* -AudioCollectionResponse_CoverArt::mutable_data() { - return &data_; +inline ::std::string* AudioCollectionResponse_CoverArt::release_data() { + clear_has_data(); + if (data_ == &::google::protobuf::internal::kEmptyString) { + return NULL; + } else { + ::std::string* temp = data_; + data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + return temp; + } +} +inline void AudioCollectionResponse_CoverArt::set_allocated_data(::std::string* data) { + if (data_ != &::google::protobuf::internal::kEmptyString) { + delete data_; + } + if (data) { + set_has_data(); + data_ = data; + } else { + clear_has_data(); + data_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); + } } // ------------------------------------------------------------------- @@ -3209,44 +3427,6 @@ inline void AudioCollectionResponse_Release::set_allocated_release_date(::std::s } } -// optional .Remote.AudioCollectionResponse.CoverArt coverArt = 6; -inline bool AudioCollectionResponse_Release::has_coverart() const { - return (_has_bits_[0] & 0x00000020u) != 0; -} -inline void AudioCollectionResponse_Release::set_has_coverart() { - _has_bits_[0] |= 0x00000020u; -} -inline void AudioCollectionResponse_Release::clear_has_coverart() { - _has_bits_[0] &= ~0x00000020u; -} -inline void AudioCollectionResponse_Release::clear_coverart() { - if (coverart_ != NULL) coverart_->::Remote::AudioCollectionResponse_CoverArt::Clear(); - clear_has_coverart(); -} -inline const ::Remote::AudioCollectionResponse_CoverArt& AudioCollectionResponse_Release::coverart() const { - return coverart_ != NULL ? *coverart_ : *default_instance_->coverart_; -} -inline ::Remote::AudioCollectionResponse_CoverArt* AudioCollectionResponse_Release::mutable_coverart() { - set_has_coverart(); - if (coverart_ == NULL) coverart_ = new ::Remote::AudioCollectionResponse_CoverArt; - return coverart_; -} -inline ::Remote::AudioCollectionResponse_CoverArt* AudioCollectionResponse_Release::release_coverart() { - clear_has_coverart(); - ::Remote::AudioCollectionResponse_CoverArt* temp = coverart_; - coverart_ = NULL; - return temp; -} -inline void AudioCollectionResponse_Release::set_allocated_coverart(::Remote::AudioCollectionResponse_CoverArt* coverart) { - delete coverart_; - coverart_ = coverart; - if (coverart) { - set_has_coverart(); - } else { - clear_has_coverart(); - } -} - // ------------------------------------------------------------------- // AudioCollectionResponse_Track @@ -3618,76 +3798,6 @@ inline void AudioCollectionResponse_Track::set_allocated_original_release_date(: } } -// optional bytes coverArt = 11; -inline bool AudioCollectionResponse_Track::has_coverart() const { - return (_has_bits_[0] & 0x00000400u) != 0; -} -inline void AudioCollectionResponse_Track::set_has_coverart() { - _has_bits_[0] |= 0x00000400u; -} -inline void AudioCollectionResponse_Track::clear_has_coverart() { - _has_bits_[0] &= ~0x00000400u; -} -inline void AudioCollectionResponse_Track::clear_coverart() { - if (coverart_ != &::google::protobuf::internal::kEmptyString) { - coverart_->clear(); - } - clear_has_coverart(); -} -inline const ::std::string& AudioCollectionResponse_Track::coverart() const { - return *coverart_; -} -inline void AudioCollectionResponse_Track::set_coverart(const ::std::string& value) { - set_has_coverart(); - if (coverart_ == &::google::protobuf::internal::kEmptyString) { - coverart_ = new ::std::string; - } - coverart_->assign(value); -} -inline void AudioCollectionResponse_Track::set_coverart(const char* value) { - set_has_coverart(); - if (coverart_ == &::google::protobuf::internal::kEmptyString) { - coverart_ = new ::std::string; - } - coverart_->assign(value); -} -inline void AudioCollectionResponse_Track::set_coverart(const void* value, size_t size) { - set_has_coverart(); - if (coverart_ == &::google::protobuf::internal::kEmptyString) { - coverart_ = new ::std::string; - } - coverart_->assign(reinterpret_cast(value), size); -} -inline ::std::string* AudioCollectionResponse_Track::mutable_coverart() { - set_has_coverart(); - if (coverart_ == &::google::protobuf::internal::kEmptyString) { - coverart_ = new ::std::string; - } - return coverart_; -} -inline ::std::string* AudioCollectionResponse_Track::release_coverart() { - clear_has_coverart(); - if (coverart_ == &::google::protobuf::internal::kEmptyString) { - return NULL; - } else { - ::std::string* temp = coverart_; - coverart_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - return temp; - } -} -inline void AudioCollectionResponse_Track::set_allocated_coverart(::std::string* coverart) { - if (coverart_ != &::google::protobuf::internal::kEmptyString) { - delete coverart_; - } - if (coverart) { - set_has_coverart(); - coverart_ = coverart; - } else { - clear_has_coverart(); - coverart_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); - } -} - // ------------------------------------------------------------------- // AudioCollectionResponse @@ -3905,6 +4015,31 @@ inline void AudioCollectionResponse::set_allocated_track_list(::Remote::AudioCol } } +// repeated .Remote.AudioCollectionResponse.CoverArt cover_art = 7; +inline int AudioCollectionResponse::cover_art_size() const { + return cover_art_.size(); +} +inline void AudioCollectionResponse::clear_cover_art() { + cover_art_.Clear(); +} +inline const ::Remote::AudioCollectionResponse_CoverArt& AudioCollectionResponse::cover_art(int index) const { + return cover_art_.Get(index); +} +inline ::Remote::AudioCollectionResponse_CoverArt* AudioCollectionResponse::mutable_cover_art(int index) { + return cover_art_.Mutable(index); +} +inline ::Remote::AudioCollectionResponse_CoverArt* AudioCollectionResponse::add_cover_art() { + return cover_art_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::Remote::AudioCollectionResponse_CoverArt >& +AudioCollectionResponse::cover_art() const { + return cover_art_; +} +inline ::google::protobuf::RepeatedPtrField< ::Remote::AudioCollectionResponse_CoverArt >* +AudioCollectionResponse::mutable_cover_art() { + return &cover_art_; +} + // @@protoc_insertion_point(namespace_scope) @@ -3914,6 +4049,10 @@ inline void AudioCollectionResponse::set_allocated_track_list(::Remote::AudioCol namespace google { namespace protobuf { +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Remote::AudioCollectionRequest_GetCoverArt_Type>() { + return ::Remote::AudioCollectionRequest_GetCoverArt_Type_descriptor(); +} template <> inline const EnumDescriptor* GetEnumDescriptor< ::Remote::AudioCollectionRequest_Type>() { return ::Remote::AudioCollectionRequest_Type_descriptor(); diff --git a/remote/proto/collection.proto b/remote/proto/collection.proto index 87dfb7de..8254af8b 100644 --- a/remote/proto/collection.proto +++ b/remote/proto/collection.proto @@ -13,39 +13,47 @@ message AudioCollectionRequest message GetGenreList { - required BatchParameter batch_parameter = 2; + required BatchParameter batch_parameter = 1; } message GetArtistList { - repeated uint64 genre_id = 2; // Artist that has at least a track of the genre + required BatchParameter batch_parameter = 1; - required BatchParameter batch_parameter = 3; + repeated uint64 genre_id = 2; // Artist that has at least a track of the genre } message GetReleaseList { + required BatchParameter batch_parameter = 1; // Search filters - repeated uint64 artist_id = 1; // Release that contains at least a track of this artist - repeated uint64 filter_genre = 2; // Release that has at least a track of the genre - - optional bool get_cover = 3; // Request cover art for each release - - required BatchParameter batch_parameter = 4; + repeated uint64 artist_id = 2; // Release that contains at least a track of one of these artists + repeated uint64 filter_genre = 3; // Release that has at least a track of the genre } message GetTrackList { + required BatchParameter batch_parameter = 1; // Search filters - repeated uint64 artist_id = 1; // Track that belongs to these artists - repeated uint64 release_id = 2; // Track that is part of these releases - repeated uint64 genre_id = 3; // Track that has at least a track of the genre - - optional bool get_cover = 4; // Request cover art for each track - - required BatchParameter batch_parameter = 5; + repeated uint64 artist_id = 2; // Track that belongs to these artists + repeated uint64 release_id = 3; // Track that is part of these releases + repeated uint64 genre_id = 4; // Track that has at least a track of the genre } + message GetCoverArt + { + enum Type + { + TypeGetCoverArtRelease = 1; + TypeGetCoverArtTrack = 2; + } + + required Type type = 1; + + optional uint64 release_id = 2; // Release that owns the cover art + optional uint64 track_id = 3; // Track that owns the cover art + + } enum Type { @@ -53,6 +61,7 @@ message AudioCollectionRequest TypeGetArtistList = 2; TypeGetReleaseList = 3; TypeGetTrackList = 4; + TypeGetCoverArt = 5; } required Type type = 1; @@ -61,6 +70,7 @@ message AudioCollectionRequest optional GetArtistList get_artists = 3; optional GetReleaseList get_releases = 4; optional GetTrackList get_tracks = 5; + optional GetCoverArt get_cover_art = 6; } @@ -89,20 +99,19 @@ message AudioCollectionResponse message CoverArt { optional string mime_type = 1; - - repeated bytes data = 2; + required bytes data = 2; } message Genre { - required uint64 id = 1; + required uint64 id = 1; // Genre Id required string name = 2; } message Artist { - required uint64 id = 1; + required uint64 id = 1; // Artist Id required string name = 2; required uint32 nb_releases = 3; @@ -110,7 +119,7 @@ message AudioCollectionResponse message Release { - required uint64 id = 1; + required uint64 id = 1; // Release id required string name = 2; @@ -119,12 +128,11 @@ message AudioCollectionResponse optional string release_date = 5; - optional CoverArt coverArt = 6; } message Track { - required uint64 id = 1; + required uint64 id = 1; // Track id required uint64 artist_id = 2; required uint64 release_id = 3; @@ -136,7 +144,6 @@ message AudioCollectionResponse required uint32 duration_secs = 8; optional string release_date = 9; optional string original_release_date = 10; - optional bytes coverArt = 11; } enum Type { @@ -145,16 +152,18 @@ message AudioCollectionResponse TypeArtistList = 3; TypeReleaseList = 4; TypeTrackList = 5; + TypeCoverArt = 6; } - optional Type type = 1; + optional Type type = 1; optional Error error = 2; optional GenreList genre_list = 3; optional ArtistList artist_list = 4; optional ReleaseList release_list = 5; optional TrackList track_list = 6; + repeated CoverArt cover_art = 7; } diff --git a/remote/server/AudioCollectionRequestHandler.cpp b/remote/server/AudioCollectionRequestHandler.cpp index 32ac4803..581a5895 100644 --- a/remote/server/AudioCollectionRequestHandler.cpp +++ b/remote/server/AudioCollectionRequestHandler.cpp @@ -5,6 +5,7 @@ #include "AudioCollectionRequestHandler.hpp" #include "database/AudioTypes.hpp" +#include "cover/CoverArtGrabber.hpp" namespace Remote { namespace Server { @@ -30,7 +31,7 @@ AudioCollectionRequestHandler::process(const AudioCollectionRequest& request, Au response.set_type(AudioCollectionResponse::TypeArtistList); } else - std::cerr << "Bad AudioCollectionRequest_Type_TypeGetGenreList" << std::endl; + std::cerr << "Bad AudioCollectionRequest::TypeGetGenreList" << std::endl; break; case AudioCollectionRequest::TypeGetArtistList: @@ -42,7 +43,7 @@ AudioCollectionRequestHandler::process(const AudioCollectionRequest& request, Au } else - std::cerr << "Bad AudioCollectionRequest_Type_TypeGetArtistList" << std::endl; + std::cerr << "Bad AudioCollectionRequest::TypeGetArtistList message!" << std::endl; break; case AudioCollectionRequest::TypeGetReleaseList: @@ -54,7 +55,7 @@ AudioCollectionRequestHandler::process(const AudioCollectionRequest& request, Au } else - std::cerr << "Bad AudioCollectionRequest_Type_TypeGetReleaseList" << std::endl; + std::cerr << "Bad AudioCollectionRequest::TypeGetReleaseList message!" << std::endl; break; case AudioCollectionRequest::TypeGetTrackList: @@ -66,11 +67,19 @@ AudioCollectionRequestHandler::process(const AudioCollectionRequest& request, Au } else - std::cerr << "Bad AudioCollectionRequest_Type_TypeGetTrackList" << std::endl; + std::cerr << "Bad AudioCollectionRequest::TypeGetTrackList message!" << std::endl; + break; + + case AudioCollectionRequest::TypeGetCoverArt: + if (request.has_get_cover_art()) + res = processGetCoverArt(request.get_cover_art(), response); + else + std::cerr << "Bad AudioCollectionRequest::TypeGetCoverArt message!" << std::endl; break; default: std::cerr << "Unhandled AudioCollectionRequest_Type = " << request.type() << std::endl; + } return res; @@ -119,6 +128,8 @@ AudioCollectionRequestHandler::processGetArtists(const AudioCollectionRequest::G return false; } + std::cout << "Batch offset = " << request.batch_parameter().offset() << ", batch size = " << request.batch_parameter().size() << std::endl; + std::size_t size = request.batch_parameter().size(); if (!size) size = _maxListArtists; @@ -139,6 +150,7 @@ AudioCollectionRequestHandler::processGetArtists(const AudioCollectionRequest::G artist->set_name((*it)->getName()); artist->set_nb_releases(0); // TODO artist->set_id(it->id()); + std::cout << "Adding artist '" << artist->name() << "'" << std::endl; } return true; @@ -175,9 +187,11 @@ AudioCollectionRequestHandler::processGetReleases(const AudioCollectionRequest:: release->set_name((*it)->getName()); release->set_id(it->id()); - // WARNING: next two lines are very time consuming! + + // WARNING: next lines are very time consuming! release->set_nb_tracks( (*it)->getTracks().size() ); release->set_duration_secs( (*it)->getDuration().total_seconds() ); + } return true; @@ -244,6 +258,47 @@ AudioCollectionRequestHandler::processGetTracks(const AudioCollectionRequest::Ge return true; } +bool +AudioCollectionRequestHandler::processGetCoverArt(const AudioCollectionRequest::GetCoverArt& request, AudioCollectionResponse& response) +{ + bool res = false; + + response.set_type(AudioCollectionResponse::TypeCoverArt); + + switch(request.type()) + { + case AudioCollectionRequest::GetCoverArt::TypeGetCoverArtRelease: + + if (request.has_release_id()) + { + Wt::Dbo::Transaction transaction( _db.getSession() ); + + // Get the request release + Release::pointer release = Release::getById( _db.getSession(), request.release_id()); + + std::vector coverArts = CoverArt::Grabber::getFromRelease(release); + + BOOST_FOREACH(const CoverArt::CoverArt& coverArt, coverArts) + { + AudioCollectionResponse_CoverArt* cover_art = response.add_cover_art(); + + cover_art->set_mime_type(coverArt.getMimeType()); + cover_art->set_data( std::string( coverArt.getData().begin(), coverArt.getData().end()) ); + } + } + break; + + case AudioCollectionRequest::GetCoverArt::TypeGetCoverArtTrack: + std::cerr << "TODO AudioCollectionRequest::GetCoverArt::TypeGetCoverArtTrack" <$/;" c language:C++ namespace:Remote::Server +ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::ConnectionManager()$/;" f language:C++ class:Remote::Server::ConnectionManager +ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ ConnectionManager();$/;" p language:C++ class:Remote::Server::ConnectionManager +ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ ConnectionManager(const ConnectionManager&) = delete;$/;" p language:C++ class:Remote::Server::ConnectionManager +ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^class ConnectionManager$/;" c language:C++ namespace:Remote::Server +endpoint_type /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ typedef boost::asio::ip::tcp::endpoint endpoint_type;$/;" t language:C++ class:Remote::Server::Server +handleAccept /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::handleAccept(boost::system::error_code ec)$/;" f language:C++ class:Remote::Server::Server +handleAccept /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ void handleAccept(boost::system::error_code ec);$/;" p language:C++ class:Remote::Server::Server +handleReadHeader /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::handleReadHeader(const boost::system::error_code& error, std::size_t bytes_transferred)$/;" f language:C++ class:Remote::Server::Connection +handleReadHeader /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void handleReadHeader(const boost::system::error_code& e,$/;" p language:C++ class:Remote::Server::Connection +handleReadMsg /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::handleReadMsg(const boost::system::error_code& error, std::size_t bytes_transferred)$/;" f language:C++ class:Remote::Server::Connection +handleReadMsg /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void handleReadMsg(const boost::system::error_code& e,$/;" p language:C++ class:Remote::Server::Connection +MediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::MediaRequestHandler(DatabaseHandler& db)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +MediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ MediaRequestHandler(DatabaseHandler& db);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +MediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^class MediaRequestHandler$/;" c language:C++ namespace:Remote::Server +operator = /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ Connection& operator=(const Connection&) = delete;$/;" p language:C++ class:Remote::Server::Connection +operator = /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ ConnectionManager& operator=(const ConnectionManager&) = delete;$/;" p language:C++ class:Remote::Server::ConnectionManager +operator = /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ Server& operator=(const Server&) = delete;$/;" p language:C++ class:Remote::Server::Server +pointer /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ typedef std::shared_ptr pointer;$/;" t language:C++ class:Remote::Server::Connection +process /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::process(const AudioCollectionRequest& request, AudioCollectionResponse& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +process /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool process(const AudioCollectionRequest& request, AudioCollectionResponse& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +process /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::process(const MediaRequest& request, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +process /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool process(const MediaRequest& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +process /storage/emeric/MesProgs/lms/remote/server/RequestHandler.cpp /^RequestHandler::process(const ClientMessage& request, ServerMessage& response)$/;" f language:C++ class:Remote::Server::RequestHandler +process /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ bool process(const ClientMessage& request, ServerMessage& response);$/;" p language:C++ class:Remote::Server::RequestHandler +processAudioCollectionRequest /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ bool processAudioCollectionRequest(const AudioCollectionRequest& request, ServerMessage& response);$/;" p language:C++ class:Remote::Server::RequestHandler +processAudioPrepare /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::processAudioPrepare(const MediaRequest::Prepare::Audio& request, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +processAudioPrepare /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool processAudioPrepare(const MediaRequest::Prepare::Audio& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +processGetArtists /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetArtists(const AudioCollectionRequest::GetArtistList& request, AudioCollectionResponse::ArtistList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetArtists /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetArtists(const AudioCollectionRequest::GetArtistList& request, AudioCollectionResponse::ArtistList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetCoverArt /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetCoverArt(const AudioCollectionRequest::GetCoverArt& request, AudioCollectionResponse& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetCoverArt /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetCoverArt(const AudioCollectionRequest::GetCoverArt& request, AudioCollectionResponse& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetGenres /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetGenres(const AudioCollectionRequest::GetGenreList& request, AudioCollectionResponse::GenreList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetGenres /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetGenres(const AudioCollectionRequest::GetGenreList& request, AudioCollectionResponse::GenreList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetPart /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::processGetPart(const MediaRequest::GetPart& request, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +processGetPart /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool processGetPart(const MediaRequest::GetPart& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +processGetReleases /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetReleases(const AudioCollectionRequest::GetReleaseList& request, AudioCollectionResponse::ReleaseList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetReleases /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetReleases(const AudioCollectionRequest::GetReleaseList& request, AudioCollectionResponse::ReleaseList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetTracks /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetTracks(const AudioCollectionRequest::GetTrackList& request, AudioCollectionResponse::TrackList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +processGetTracks /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetTracks(const AudioCollectionRequest::GetTrackList& request, AudioCollectionResponse::TrackList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +processTerminate /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::processTerminate(const MediaRequest::Terminate& \/*request*\/, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +processTerminate /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool processTerminate(const MediaRequest::Terminate& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +Remote /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^namespace Remote {$/;" n language:C++ file: +Remote /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^namespace Remote {$/;" n language:C++ +Remote /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^namespace Remote {$/;" n language:C++ file: +Remote /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^namespace Remote {$/;" n language:C++ +Remote /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^namespace Remote {$/;" n language:C++ file: +Remote /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^namespace Remote {$/;" n language:C++ +Remote /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^namespace Remote {$/;" n language:C++ file: +Remote /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^namespace Remote {$/;" n language:C++ +Remote /storage/emeric/MesProgs/lms/remote/server/RequestHandler.cpp /^namespace Remote {$/;" n language:C++ file: +Remote /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^namespace Remote {$/;" n language:C++ +Remote /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^namespace Remote {$/;" n language:C++ file: +Remote /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^namespace Remote {$/;" n language:C++ +Remote::Server /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Remote::Server /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Remote::Server /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Remote::Server /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Remote::Server /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Remote::Server /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Remote::Server /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Remote::Server /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Remote::Server /storage/emeric/MesProgs/lms/remote/server/RequestHandler.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Remote::Server /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Remote::Server /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Remote::Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Remote::Server::AudioCollectionRequestHandler /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^class AudioCollectionRequestHandler$/;" c language:C++ namespace:Remote::Server +Remote::Server::AudioCollectionRequestHandler::AudioCollectionRequestHandler /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::AudioCollectionRequestHandler(DatabaseHandler& db)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::AudioCollectionRequestHandler /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ AudioCollectionRequestHandler(DatabaseHandler& db);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::process /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::process(const AudioCollectionRequest& request, AudioCollectionResponse& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::process /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool process(const AudioCollectionRequest& request, AudioCollectionResponse& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetArtists /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetArtists(const AudioCollectionRequest::GetArtistList& request, AudioCollectionResponse::ArtistList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetArtists /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetArtists(const AudioCollectionRequest::GetArtistList& request, AudioCollectionResponse::ArtistList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetCoverArt /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetCoverArt(const AudioCollectionRequest::GetCoverArt& request, AudioCollectionResponse& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetCoverArt /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetCoverArt(const AudioCollectionRequest::GetCoverArt& request, AudioCollectionResponse& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetGenres /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetGenres(const AudioCollectionRequest::GetGenreList& request, AudioCollectionResponse::GenreList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetGenres /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetGenres(const AudioCollectionRequest::GetGenreList& request, AudioCollectionResponse::GenreList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetReleases /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetReleases(const AudioCollectionRequest::GetReleaseList& request, AudioCollectionResponse::ReleaseList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetReleases /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetReleases(const AudioCollectionRequest::GetReleaseList& request, AudioCollectionResponse::ReleaseList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetTracks /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^AudioCollectionRequestHandler::processGetTracks(const AudioCollectionRequest::GetTrackList& request, AudioCollectionResponse::TrackList& response)$/;" f language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::processGetTracks /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ bool processGetTracks(const AudioCollectionRequest::GetTrackList& request, AudioCollectionResponse::TrackList& response);$/;" p language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::_db /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ DatabaseHandler& _db;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::_maxListArtists /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListArtists = 256;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::_maxListGenres /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListGenres = 256;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::_maxListReleases /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListReleases = 128;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::AudioCollectionRequestHandler::_maxListTracks /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListTracks = 128;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +Remote::Server::Connection /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^class Connection : public std::enable_shared_from_this$/;" c language:C++ namespace:Remote::Server +Remote::Server::Connection::Connection /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::Connection(boost::asio::ip::tcp::socket socket,$/;" f language:C++ class:Remote::Server::Connection +Remote::Server::Connection::Connection /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ Connection(const Connection&) = delete;$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::Connection /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ explicit Connection(boost::asio::ip::tcp::socket socket,$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::handleReadHeader /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::handleReadHeader(const boost::system::error_code& error, std::size_t bytes_transferred)$/;" f language:C++ class:Remote::Server::Connection +Remote::Server::Connection::handleReadHeader /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void handleReadHeader(const boost::system::error_code& e,$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::handleReadMsg /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::handleReadMsg(const boost::system::error_code& error, std::size_t bytes_transferred)$/;" f language:C++ class:Remote::Server::Connection +Remote::Server::Connection::handleReadMsg /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void handleReadMsg(const boost::system::error_code& e,$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::operator = /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ Connection& operator=(const Connection&) = delete;$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::pointer /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ typedef std::shared_ptr pointer;$/;" t language:C++ class:Remote::Server::Connection +Remote::Server::Connection::socket /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::socket()$/;" f language:C++ class:Remote::Server::Connection +Remote::Server::Connection::socket /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::ip::tcp::socket& socket();$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::start /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::start()$/;" f language:C++ class:Remote::Server::Connection +Remote::Server::Connection::start /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void start();$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::stop /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::stop()$/;" f language:C++ class:Remote::Server::Connection +Remote::Server::Connection::stop /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void stop();$/;" p language:C++ class:Remote::Server::Connection +Remote::Server::Connection::_closing /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ bool _closing;$/;" m language:C++ class:Remote::Server::Connection +Remote::Server::Connection::_connectionManager /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ ConnectionManager& _connectionManager;$/;" m language:C++ class:Remote::Server::Connection +Remote::Server::Connection::_inputStreamBuf /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::streambuf _inputStreamBuf;$/;" m language:C++ class:Remote::Server::Connection +Remote::Server::Connection::_outputStreamBuf /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::streambuf _outputStreamBuf;$/;" m language:C++ class:Remote::Server::Connection +Remote::Server::Connection::_requestHandler /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ RequestHandler& _requestHandler;$/;" m language:C++ class:Remote::Server::Connection +Remote::Server::Connection::_socket /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::ip::tcp::socket _socket;$/;" m language:C++ class:Remote::Server::Connection +Remote::Server::ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^class ConnectionManager$/;" c language:C++ namespace:Remote::Server +Remote::Server::ConnectionManager::ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::ConnectionManager()$/;" f language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ ConnectionManager();$/;" p language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::ConnectionManager /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ ConnectionManager(const ConnectionManager&) = delete;$/;" p language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::operator = /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ ConnectionManager& operator=(const ConnectionManager&) = delete;$/;" p language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::start /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::start(Connection::pointer c)$/;" f language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::start /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ void start(Connection::pointer c);$/;" p language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::stop /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::stop(Connection::pointer c)$/;" f language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::stop /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ void stop(Connection::pointer c);$/;" p language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::stopAll /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::stopAll()$/;" f language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::stopAll /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ void stopAll();$/;" p language:C++ class:Remote::Server::ConnectionManager +Remote::Server::ConnectionManager::_connections /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ std::set _connections;$/;" m language:C++ class:Remote::Server::ConnectionManager +Remote::Server::MediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^class MediaRequestHandler$/;" c language:C++ namespace:Remote::Server +Remote::Server::MediaRequestHandler::MediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::MediaRequestHandler(DatabaseHandler& db)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::MediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ MediaRequestHandler(DatabaseHandler& db);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::process /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::process(const MediaRequest& request, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::process /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool process(const MediaRequest& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::processAudioPrepare /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::processAudioPrepare(const MediaRequest::Prepare::Audio& request, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::processAudioPrepare /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool processAudioPrepare(const MediaRequest::Prepare::Audio& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::processGetPart /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::processGetPart(const MediaRequest::GetPart& request, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::processGetPart /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool processGetPart(const MediaRequest::GetPart& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::processTerminate /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^MediaRequestHandler::processTerminate(const MediaRequest::Terminate& \/*request*\/, MediaResponse& response)$/;" f language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::processTerminate /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ bool processTerminate(const MediaRequest::Terminate& request, MediaResponse& response);$/;" p language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::_db /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ DatabaseHandler& _db;$/;" m language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::_maxPartSize /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ static const std::size_t _maxPartSize = 65536 - 128;$/;" m language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::MediaRequestHandler::_transcoder /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ std::shared_ptr _transcoder;$/;" m language:C++ class:Remote::Server::MediaRequestHandler +Remote::Server::RequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^class RequestHandler$/;" c language:C++ namespace:Remote::Server +Remote::Server::RequestHandler::process /storage/emeric/MesProgs/lms/remote/server/RequestHandler.cpp /^RequestHandler::process(const ClientMessage& request, ServerMessage& response)$/;" f language:C++ class:Remote::Server::RequestHandler +Remote::Server::RequestHandler::process /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ bool process(const ClientMessage& request, ServerMessage& response);$/;" p language:C++ class:Remote::Server::RequestHandler +Remote::Server::RequestHandler::processAudioCollectionRequest /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ bool processAudioCollectionRequest(const AudioCollectionRequest& request, ServerMessage& response);$/;" p language:C++ class:Remote::Server::RequestHandler +Remote::Server::RequestHandler::RequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.cpp /^RequestHandler::RequestHandler(boost::filesystem::path dbPath)$/;" f language:C++ class:Remote::Server::RequestHandler +Remote::Server::RequestHandler::RequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ RequestHandler(boost::filesystem::path dbPath);$/;" p language:C++ class:Remote::Server::RequestHandler +Remote::Server::RequestHandler::_audioCollectionRequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ AudioCollectionRequestHandler _audioCollectionRequestHandler;$/;" m language:C++ class:Remote::Server::RequestHandler +Remote::Server::RequestHandler::_db /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ DatabaseHandler _db;$/;" m language:C++ class:Remote::Server::RequestHandler +Remote::Server::RequestHandler::_mediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ MediaRequestHandler _mediaRequestHandler;$/;" m language:C++ class:Remote::Server::RequestHandler +Remote::Server::Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^class Server$/;" c language:C++ namespace:Remote::Server +Remote::Server::Server::asyncAccept /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::asyncAccept()$/;" f language:C++ class:Remote::Server::Server +Remote::Server::Server::asyncAccept /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ void asyncAccept();$/;" p language:C++ class:Remote::Server::Server +Remote::Server::Server::endpoint_type /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ typedef boost::asio::ip::tcp::endpoint endpoint_type;$/;" t language:C++ class:Remote::Server::Server +Remote::Server::Server::handleAccept /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::handleAccept(boost::system::error_code ec)$/;" f language:C++ class:Remote::Server::Server +Remote::Server::Server::handleAccept /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ void handleAccept(boost::system::error_code ec);$/;" p language:C++ class:Remote::Server::Server +Remote::Server::Server::operator = /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ Server& operator=(const Server&) = delete;$/;" p language:C++ class:Remote::Server::Server +Remote::Server::Server::run /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::run()$/;" f language:C++ class:Remote::Server::Server +Remote::Server::Server::run /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ void run();$/;" p language:C++ class:Remote::Server::Server +Remote::Server::Server::Server /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::Server(boost::asio::io_service& ioService, const endpoint_type& bindEndpoint, boost::filesystem::path dbPath)$/;" f language:C++ class:Remote::Server::Server +Remote::Server::Server::Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ Server(boost::asio::io_service& ioService, const endpoint_type& bindEndpoint, boost::filesystem::path dbPath);$/;" p language:C++ class:Remote::Server::Server +Remote::Server::Server::Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ Server(const Server&) = delete;$/;" p language:C++ class:Remote::Server::Server +Remote::Server::Server::stop /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::stop()$/;" f language:C++ class:Remote::Server::Server +Remote::Server::Server::stop /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ void stop();$/;" p language:C++ class:Remote::Server::Server +Remote::Server::Server::_acceptor /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ boost::asio::ip::tcp::acceptor _acceptor;$/;" m language:C++ class:Remote::Server::Server +Remote::Server::Server::_connectionManager /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ ConnectionManager _connectionManager;$/;" m language:C++ class:Remote::Server::Server +Remote::Server::Server::_ioService /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ boost::asio::io_service& _ioService;$/;" m language:C++ class:Remote::Server::Server +Remote::Server::Server::_requestHandler /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ RequestHandler _requestHandler;$/;" m language:C++ class:Remote::Server::Server +Remote::Server::Server::_socket /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ boost::asio::ip::tcp::socket _socket;$/;" m language:C++ class:Remote::Server::Server +REMOTE_AUDIO_COLLECTION_REQUEST_HANDLER /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp 2;" d language:C++ +REMOTE_CONNECTION_HPP /storage/emeric/MesProgs/lms/remote/server/Connection.hpp 2;" d language:C++ +REMOTE_CONNECTION_MANAGER_HPP /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp 2;" d language:C++ +REMOTE_MEDIA_REQUEST_HANDLER /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp 2;" d language:C++ +REMOTE_REQUEST_HANDLER /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp 2;" d language:C++ +REMOTE_SERVER_HPP /storage/emeric/MesProgs/lms/remote/server/Server.hpp 2;" d language:C++ +RequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.cpp /^RequestHandler::RequestHandler(boost::filesystem::path dbPath)$/;" f language:C++ class:Remote::Server::RequestHandler +RequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ RequestHandler(boost::filesystem::path dbPath);$/;" p language:C++ class:Remote::Server::RequestHandler +RequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^class RequestHandler$/;" c language:C++ namespace:Remote::Server +run /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::run()$/;" f language:C++ class:Remote::Server::Server +run /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ void run();$/;" p language:C++ class:Remote::Server::Server +Server /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Server /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Server /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Server /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Server /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Server /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Server /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Server /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Server /storage/emeric/MesProgs/lms/remote/server/RequestHandler.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Server /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +Server /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^namespace Server {$/;" n language:C++ namespace:Remote file: +Server /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::Server(boost::asio::io_service& ioService, const endpoint_type& bindEndpoint, boost::filesystem::path dbPath)$/;" f language:C++ class:Remote::Server::Server +Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ Server(boost::asio::io_service& ioService, const endpoint_type& bindEndpoint, boost::filesystem::path dbPath);$/;" p language:C++ class:Remote::Server::Server +Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ Server(const Server&) = delete;$/;" p language:C++ class:Remote::Server::Server +Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^class Server$/;" c language:C++ namespace:Remote::Server +Server /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^namespace Server {$/;" n language:C++ namespace:Remote +socket /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::socket()$/;" f language:C++ class:Remote::Server::Connection +socket /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::ip::tcp::socket& socket();$/;" p language:C++ class:Remote::Server::Connection +start /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::start()$/;" f language:C++ class:Remote::Server::Connection +start /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void start();$/;" p language:C++ class:Remote::Server::Connection +start /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::start(Connection::pointer c)$/;" f language:C++ class:Remote::Server::ConnectionManager +start /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ void start(Connection::pointer c);$/;" p language:C++ class:Remote::Server::ConnectionManager +stop /storage/emeric/MesProgs/lms/remote/server/Connection.cpp /^Connection::stop()$/;" f language:C++ class:Remote::Server::Connection +stop /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ void stop();$/;" p language:C++ class:Remote::Server::Connection +stop /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::stop(Connection::pointer c)$/;" f language:C++ class:Remote::Server::ConnectionManager +stop /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ void stop(Connection::pointer c);$/;" p language:C++ class:Remote::Server::ConnectionManager +stop /storage/emeric/MesProgs/lms/remote/server/Server.cpp /^Server::stop()$/;" f language:C++ class:Remote::Server::Server +stop /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ void stop();$/;" p language:C++ class:Remote::Server::Server +stopAll /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.cpp /^ConnectionManager::stopAll()$/;" f language:C++ class:Remote::Server::ConnectionManager +stopAll /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ void stopAll();$/;" p language:C++ class:Remote::Server::ConnectionManager +_acceptor /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ boost::asio::ip::tcp::acceptor _acceptor;$/;" m language:C++ class:Remote::Server::Server +_audioCollectionRequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ AudioCollectionRequestHandler _audioCollectionRequestHandler;$/;" m language:C++ class:Remote::Server::RequestHandler +_closing /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ bool _closing;$/;" m language:C++ class:Remote::Server::Connection +_connectionManager /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ ConnectionManager& _connectionManager;$/;" m language:C++ class:Remote::Server::Connection +_connectionManager /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ ConnectionManager _connectionManager;$/;" m language:C++ class:Remote::Server::Server +_connections /storage/emeric/MesProgs/lms/remote/server/ConnectionManager.hpp /^ std::set _connections;$/;" m language:C++ class:Remote::Server::ConnectionManager +_db /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ DatabaseHandler& _db;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +_db /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ DatabaseHandler& _db;$/;" m language:C++ class:Remote::Server::MediaRequestHandler +_db /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ DatabaseHandler _db;$/;" m language:C++ class:Remote::Server::RequestHandler +_inputStreamBuf /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::streambuf _inputStreamBuf;$/;" m language:C++ class:Remote::Server::Connection +_ioService /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ boost::asio::io_service& _ioService;$/;" m language:C++ class:Remote::Server::Server +_maxListArtists /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListArtists = 256;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +_maxListGenres /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListGenres = 256;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +_maxListReleases /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListReleases = 128;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +_maxListTracks /storage/emeric/MesProgs/lms/remote/server/AudioCollectionRequestHandler.hpp /^ static const std::size_t _maxListTracks = 128;$/;" m language:C++ class:Remote::Server::AudioCollectionRequestHandler +_maxPartSize /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ static const std::size_t _maxPartSize = 65536 - 128;$/;" m language:C++ class:Remote::Server::MediaRequestHandler +_mediaRequestHandler /storage/emeric/MesProgs/lms/remote/server/RequestHandler.hpp /^ MediaRequestHandler _mediaRequestHandler;$/;" m language:C++ class:Remote::Server::RequestHandler +_outputStreamBuf /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::streambuf _outputStreamBuf;$/;" m language:C++ class:Remote::Server::Connection +_requestHandler /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ RequestHandler& _requestHandler;$/;" m language:C++ class:Remote::Server::Connection +_requestHandler /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ RequestHandler _requestHandler;$/;" m language:C++ class:Remote::Server::Server +_socket /storage/emeric/MesProgs/lms/remote/server/Connection.hpp /^ boost::asio::ip::tcp::socket _socket;$/;" m language:C++ class:Remote::Server::Connection +_socket /storage/emeric/MesProgs/lms/remote/server/Server.hpp /^ boost::asio::ip::tcp::socket _socket;$/;" m language:C++ class:Remote::Server::Server +_transcoder /storage/emeric/MesProgs/lms/remote/server/MediaRequestHandler.hpp /^ std::shared_ptr _transcoder;$/;" m language:C++ class:Remote::Server::MediaRequestHandler diff --git a/test/Makefile.am b/test/Makefile.am index c6625800..1e9bf68f 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -12,6 +12,7 @@ remote_SOURCES = \ $(top_srcdir)/av/FormatContext.cpp \ $(top_srcdir)/av/InputFormatContext.cpp \ $(top_srcdir)/av/Stream.cpp \ + $(top_srcdir)/cover/CoverArtGrabber.cpp \ $(top_srcdir)/remote/server/Server.cpp \ $(top_srcdir)/remote/server/RequestHandler.cpp \ $(top_srcdir)/remote/server/AudioCollectionRequestHandler.cpp \ diff --git a/test/Makefile.in b/test/Makefile.in index 9125cd4b..26be0635 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -124,7 +124,8 @@ am_remote_OBJECTS = remote-RemoteClientServer.$(OBJEXT) \ remote-Common.$(OBJEXT) remote-Dictionary.$(OBJEXT) \ remote-FormatContext.$(OBJEXT) \ remote-InputFormatContext.$(OBJEXT) remote-Stream.$(OBJEXT) \ - remote-Server.$(OBJEXT) remote-RequestHandler.$(OBJEXT) \ + remote-CoverArtGrabber.$(OBJEXT) remote-Server.$(OBJEXT) \ + remote-RequestHandler.$(OBJEXT) \ remote-AudioCollectionRequestHandler.$(OBJEXT) \ remote-MediaRequestHandler.$(OBJEXT) \ remote-ConnectionManager.$(OBJEXT) remote-Connection.$(OBJEXT) \ @@ -510,6 +511,7 @@ remote_SOURCES = \ $(top_srcdir)/av/FormatContext.cpp \ $(top_srcdir)/av/InputFormatContext.cpp \ $(top_srcdir)/av/Stream.cpp \ + $(top_srcdir)/cover/CoverArtGrabber.cpp \ $(top_srcdir)/remote/server/Server.cpp \ $(top_srcdir)/remote/server/RequestHandler.cpp \ $(top_srcdir)/remote/server/AudioCollectionRequestHandler.cpp \ @@ -655,6 +657,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-Common.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-Connection.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-ConnectionManager.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-CoverArtGrabber.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-DatabaseHandler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-Dictionary.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-Format.Po@am__quote@ @@ -1088,6 +1091,20 @@ remote-Stream.obj: $(top_srcdir)/av/Stream.cpp @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(remote_CXXFLAGS) $(CXXFLAGS) -c -o remote-Stream.obj `if test -f '$(top_srcdir)/av/Stream.cpp'; then $(CYGPATH_W) '$(top_srcdir)/av/Stream.cpp'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/av/Stream.cpp'; fi` +remote-CoverArtGrabber.o: $(top_srcdir)/cover/CoverArtGrabber.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(remote_CXXFLAGS) $(CXXFLAGS) -MT remote-CoverArtGrabber.o -MD -MP -MF $(DEPDIR)/remote-CoverArtGrabber.Tpo -c -o remote-CoverArtGrabber.o `test -f '$(top_srcdir)/cover/CoverArtGrabber.cpp' || echo '$(srcdir)/'`$(top_srcdir)/cover/CoverArtGrabber.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/remote-CoverArtGrabber.Tpo $(DEPDIR)/remote-CoverArtGrabber.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/cover/CoverArtGrabber.cpp' object='remote-CoverArtGrabber.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(remote_CXXFLAGS) $(CXXFLAGS) -c -o remote-CoverArtGrabber.o `test -f '$(top_srcdir)/cover/CoverArtGrabber.cpp' || echo '$(srcdir)/'`$(top_srcdir)/cover/CoverArtGrabber.cpp + +remote-CoverArtGrabber.obj: $(top_srcdir)/cover/CoverArtGrabber.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(remote_CXXFLAGS) $(CXXFLAGS) -MT remote-CoverArtGrabber.obj -MD -MP -MF $(DEPDIR)/remote-CoverArtGrabber.Tpo -c -o remote-CoverArtGrabber.obj `if test -f '$(top_srcdir)/cover/CoverArtGrabber.cpp'; then $(CYGPATH_W) '$(top_srcdir)/cover/CoverArtGrabber.cpp'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/cover/CoverArtGrabber.cpp'; fi` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/remote-CoverArtGrabber.Tpo $(DEPDIR)/remote-CoverArtGrabber.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$(top_srcdir)/cover/CoverArtGrabber.cpp' object='remote-CoverArtGrabber.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(remote_CXXFLAGS) $(CXXFLAGS) -c -o remote-CoverArtGrabber.obj `if test -f '$(top_srcdir)/cover/CoverArtGrabber.cpp'; then $(CYGPATH_W) '$(top_srcdir)/cover/CoverArtGrabber.cpp'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/cover/CoverArtGrabber.cpp'; fi` + remote-Server.o: $(top_srcdir)/remote/server/Server.cpp @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(remote_CXXFLAGS) $(CXXFLAGS) -MT remote-Server.o -MD -MP -MF $(DEPDIR)/remote-Server.Tpo -c -o remote-Server.o `test -f '$(top_srcdir)/remote/server/Server.cpp' || echo '$(srcdir)/'`$(top_srcdir)/remote/server/Server.cpp @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/remote-Server.Tpo $(DEPDIR)/remote-Server.Po diff --git a/test/RemoteClientServer.cpp b/test/RemoteClientServer.cpp index 6f1f88a1..0057ceaf 100644 --- a/test/RemoteClientServer.cpp +++ b/test/RemoteClientServer.cpp @@ -584,15 +584,15 @@ int main() Av::AvInit(); Transcode::AvConvTranscoder::init(); - bool extendedTests = false; + bool extendedTests = true; // Runs in its own thread // Listen on any - TestServer testServer( boost::asio::ip::tcp::endpoint( boost::asio::ip::tcp::v4(), 5080)); + TestServer testServer( boost::asio::ip::tcp::endpoint( boost::asio::ip::tcp::v4(), 5081)); // Client // connect to loopback - TestClient client( boost::asio::ip::tcp::endpoint( boost::asio::ip::address_v4::loopback(), 5080)); + TestClient client( boost::asio::ip::tcp::endpoint( boost::asio::ip::address_v4::loopback(), 5081)); // ****** Artists ********* std::vector artists; @@ -615,6 +615,12 @@ int main() client.getReleases(releases, std::vector(1, 1162)); BOOST_FOREACH(const ReleaseInfo& release, releases) std::cout << "Release: '" << release << "'" << std::endl; + { + std::vector releases; + client.getReleases(releases, std::vector()); + BOOST_FOREACH(const ReleaseInfo& release, releases) + std::cout << "Release: '" << release << "'" << std::endl; + } // **** Tracks ****** {