| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- /*
- This file is part of Telegram Desktop,
- the official desktop application for the Telegram messaging service.
- For license and copyright information please follow this link:
- https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
- */
- #include "storage/storage_facade.h"
- #include "storage/storage_shared_media.h"
- #include "storage/storage_user_photos.h"
- namespace Storage {
- class Facade::Impl {
- public:
- void add(SharedMediaAddNew &&query);
- void add(SharedMediaAddExisting &&query);
- void add(SharedMediaAddSlice &&query);
- void remove(SharedMediaRemoveOne &&query);
- void remove(SharedMediaRemoveAll &&query);
- void invalidate(SharedMediaInvalidateBottom &&query);
- void unload(SharedMediaUnloadThread &&query);
- rpl::producer<SharedMediaResult> query(SharedMediaQuery &&query) const;
- SharedMediaResult snapshot(const SharedMediaQuery &query) const;
- bool empty(const SharedMediaKey &key) const;
- rpl::producer<SharedMediaSliceUpdate> sharedMediaSliceUpdated() const;
- rpl::producer<SharedMediaRemoveOne> sharedMediaOneRemoved() const;
- rpl::producer<SharedMediaRemoveAll> sharedMediaAllRemoved() const;
- rpl::producer<SharedMediaInvalidateBottom> sharedMediaBottomInvalidated() const;
- void add(UserPhotosSetBack &&query);
- void add(UserPhotosAddNew &&query);
- void add(UserPhotosAddSlice &&query);
- void remove(UserPhotosRemoveOne &&query);
- void remove(UserPhotosRemoveAfter &&query);
- rpl::producer<UserPhotosResult> query(UserPhotosQuery &&query) const;
- rpl::producer<UserPhotosSliceUpdate> userPhotosSliceUpdated() const;
- private:
- SharedMedia _sharedMedia;
- UserPhotos _userPhotos;
- };
- void Facade::Impl::add(SharedMediaAddNew &&query) {
- _sharedMedia.add(std::move(query));
- }
- void Facade::Impl::add(SharedMediaAddExisting &&query) {
- _sharedMedia.add(std::move(query));
- }
- void Facade::Impl::add(SharedMediaAddSlice &&query) {
- _sharedMedia.add(std::move(query));
- }
- void Facade::Impl::remove(SharedMediaRemoveOne &&query) {
- _sharedMedia.remove(std::move(query));
- }
- void Facade::Impl::remove(SharedMediaRemoveAll &&query) {
- _sharedMedia.remove(std::move(query));
- }
- void Facade::Impl::invalidate(SharedMediaInvalidateBottom &&query) {
- _sharedMedia.invalidate(std::move(query));
- }
- void Facade::Impl::unload(SharedMediaUnloadThread &&query) {
- _sharedMedia.unload(std::move(query));
- }
- rpl::producer<SharedMediaResult> Facade::Impl::query(SharedMediaQuery &&query) const {
- return _sharedMedia.query(std::move(query));
- }
- SharedMediaResult Facade::Impl::snapshot(const SharedMediaQuery &query) const {
- return _sharedMedia.snapshot(query);
- }
- bool Facade::Impl::empty(const SharedMediaKey &key) const {
- return _sharedMedia.empty(key);
- }
- rpl::producer<SharedMediaSliceUpdate> Facade::Impl::sharedMediaSliceUpdated() const {
- return _sharedMedia.sliceUpdated();
- }
- rpl::producer<SharedMediaRemoveOne> Facade::Impl::sharedMediaOneRemoved() const {
- return _sharedMedia.oneRemoved();
- }
- rpl::producer<SharedMediaRemoveAll> Facade::Impl::sharedMediaAllRemoved() const {
- return _sharedMedia.allRemoved();
- }
- rpl::producer<SharedMediaInvalidateBottom> Facade::Impl::sharedMediaBottomInvalidated() const {
- return _sharedMedia.bottomInvalidated();
- }
- void Facade::Impl::add(UserPhotosSetBack &&query) {
- return _userPhotos.add(std::move(query));
- }
- void Facade::Impl::add(UserPhotosAddNew &&query) {
- return _userPhotos.add(std::move(query));
- }
- void Facade::Impl::add(UserPhotosAddSlice &&query) {
- return _userPhotos.add(std::move(query));
- }
- void Facade::Impl::remove(UserPhotosRemoveOne &&query) {
- return _userPhotos.remove(std::move(query));
- }
- void Facade::Impl::remove(UserPhotosRemoveAfter &&query) {
- return _userPhotos.remove(std::move(query));
- }
- rpl::producer<UserPhotosResult> Facade::Impl::query(UserPhotosQuery &&query) const {
- return _userPhotos.query(std::move(query));
- }
- rpl::producer<UserPhotosSliceUpdate> Facade::Impl::userPhotosSliceUpdated() const {
- return _userPhotos.sliceUpdated();
- }
- Facade::Facade() : _impl(std::make_unique<Impl>()) {
- }
- void Facade::add(SharedMediaAddNew &&query) {
- _impl->add(std::move(query));
- }
- void Facade::add(SharedMediaAddExisting &&query) {
- _impl->add(std::move(query));
- }
- void Facade::add(SharedMediaAddSlice &&query) {
- _impl->add(std::move(query));
- }
- void Facade::remove(SharedMediaRemoveOne &&query) {
- _impl->remove(std::move(query));
- }
- void Facade::remove(SharedMediaRemoveAll &&query) {
- _impl->remove(std::move(query));
- }
- void Facade::invalidate(SharedMediaInvalidateBottom &&query) {
- _impl->invalidate(std::move(query));
- }
- void Facade::unload(SharedMediaUnloadThread &&query) {
- _impl->unload(std::move(query));
- }
- rpl::producer<SharedMediaResult> Facade::query(SharedMediaQuery &&query) const {
- return _impl->query(std::move(query));
- }
- SharedMediaResult Facade::snapshot(const SharedMediaQuery &query) const {
- return _impl->snapshot(query);
- }
- bool Facade::empty(const SharedMediaKey &key) const {
- return _impl->empty(key);
- }
- rpl::producer<SharedMediaSliceUpdate> Facade::sharedMediaSliceUpdated() const {
- return _impl->sharedMediaSliceUpdated();
- }
- rpl::producer<SharedMediaRemoveOne> Facade::sharedMediaOneRemoved() const {
- return _impl->sharedMediaOneRemoved();
- }
- rpl::producer<SharedMediaRemoveAll> Facade::sharedMediaAllRemoved() const {
- return _impl->sharedMediaAllRemoved();
- }
- rpl::producer<SharedMediaInvalidateBottom> Facade::sharedMediaBottomInvalidated() const {
- return _impl->sharedMediaBottomInvalidated();
- }
- void Facade::add(UserPhotosSetBack &&query) {
- return _impl->add(std::move(query));
- }
- void Facade::add(UserPhotosAddNew &&query) {
- return _impl->add(std::move(query));
- }
- void Facade::add(UserPhotosAddSlice &&query) {
- return _impl->add(std::move(query));
- }
- void Facade::remove(UserPhotosRemoveOne &&query) {
- return _impl->remove(std::move(query));
- }
- void Facade::remove(UserPhotosRemoveAfter &&query) {
- return _impl->remove(std::move(query));
- }
- rpl::producer<UserPhotosResult> Facade::query(UserPhotosQuery &&query) const {
- return _impl->query(std::move(query));
- }
- rpl::producer<UserPhotosSliceUpdate> Facade::userPhotosSliceUpdated() const {
- return _impl->userPhotosSliceUpdated();
- }
- Facade::~Facade() = default;
- } // namespace Storage
|