diff options
| author | levlam <levlam@telegram.org> | 2023-03-27 11:50:40 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2023-03-27 11:50:40 +0300 |
| commit | 0ff733edadf53776e1e1349d7eb153ffd0444831 (patch) | |
| tree | fe8a3e71ab8d5682bb9ea0f6dd51b3bf9e98801d /td/telegram/DialogFilterManager.h | |
| parent | 800258fa573d7e77bb8bfb74eec571bb139afd8c (diff) | |
Move recommended filters to DialogFilterManager.
Diffstat (limited to 'td/telegram/DialogFilterManager.h')
| -rw-r--r-- | td/telegram/DialogFilterManager.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/td/telegram/DialogFilterManager.h b/td/telegram/DialogFilterManager.h index 00ac26cf3..5d14de9d8 100644 --- a/td/telegram/DialogFilterManager.h +++ b/td/telegram/DialogFilterManager.h @@ -6,21 +6,45 @@ // #pragma once +#include "td/telegram/td_api.h" +#include "td/telegram/telegram_api.h" + #include "td/actor/actor.h" #include "td/utils/common.h" +#include "td/utils/Promise.h" +#include "td/utils/Status.h" namespace td { +class DialogFilter; class Td; class DialogFilterManager final : public Actor { public: DialogFilterManager(Td *td, ActorShared<> parent); + bool is_recommended_dialog_filter(const DialogFilter *dialog_filter); + + void get_recommended_dialog_filters(Promise<td_api::object_ptr<td_api::recommendedChatFilters>> &&promise); + private: void tear_down() final; + struct RecommendedDialogFilter { + unique_ptr<DialogFilter> dialog_filter; + string description; + }; + + void on_get_recommended_dialog_filters( + Result<vector<telegram_api::object_ptr<telegram_api::dialogFilterSuggested>>> result, + Promise<td_api::object_ptr<td_api::recommendedChatFilters>> &&promise); + + void on_load_recommended_dialog_filters(Result<Unit> &&result, vector<RecommendedDialogFilter> &&filters, + Promise<td_api::object_ptr<td_api::recommendedChatFilters>> &&promise); + + vector<RecommendedDialogFilter> recommended_dialog_filters_; + Td *td_; ActorShared<> parent_; }; |
