diff --git a/CMakeLists.txt b/CMakeLists.txt index d3bec7d6b..417dfc0ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -431,6 +431,7 @@ set(TDLIB_SOURCE_PART1 td/telegram/GroupCallParticipantOrder.cpp td/telegram/GroupCallVideoPayload.cpp td/telegram/HashtagHints.cpp + td/telegram/InlineMessageManager.cpp td/telegram/InlineQueriesManager.cpp td/telegram/InputBusinessChatLink.cpp td/telegram/InputDialogId.cpp @@ -730,6 +731,7 @@ set(TDLIB_SOURCE_PART2 td/telegram/GroupCallParticipantOrder.h td/telegram/GroupCallVideoPayload.h td/telegram/HashtagHints.h + td/telegram/InlineMessageManager.h td/telegram/InlineQueriesManager.h td/telegram/InputBusinessChatLink.h td/telegram/InputDialogId.h diff --git a/SplitSource.php b/SplitSource.php index 19e27f4be..e22ae31e2 100644 --- a/SplitSource.php +++ b/SplitSource.php @@ -362,6 +362,7 @@ function split_file($file, $chunks, $undo) { 'GroupCallId' => 'GroupCallId', 'group_call_manager[_(-](?![.]get[(][)])|GroupCallManager' => 'GroupCallManager', 'hashtag_hints[_(-](?![.]get[(][)])|HashtagHints' => 'HashtagHints', + 'inline_message_manager[_(-](?![.]get[(][)])|InlineMessageManager' => 'InlineQueriesManager', 'inline_queries_manager[_(-](?![.]get[(][)])|InlineQueriesManager' => 'InlineQueriesManager', 'InputBusinessChatLink' => 'InputBusinessChatLink', 'language_pack_manager[_(-]|LanguagePackManager' => 'LanguagePackManager', diff --git a/td/telegram/Global.h b/td/telegram/Global.h index 0947b7125..d7b163d51 100644 --- a/td/telegram/Global.h +++ b/td/telegram/Global.h @@ -54,6 +54,7 @@ class FileReferenceManager; class ForumTopicManager; class GameManager; class GroupCallManager; +class InlineMessageManager; class LanguagePackManager; class LinkManager; class MessageImportManager; @@ -347,6 +348,13 @@ class Global final : public ActorContext { group_call_manager_ = group_call_manager; } + ActorId inline_message_manager() const { + return inline_message_manager_; + } + void set_inline_message_manager(ActorId inline_message_manager) { + inline_message_manager_ = inline_message_manager; + } + ActorId language_pack_manager() const { return language_pack_manager_; } @@ -657,6 +665,7 @@ class Global final : public ActorContext { ActorId forum_topic_manager_; ActorId game_manager_; ActorId group_call_manager_; + ActorId inline_message_manager_; ActorId language_pack_manager_; ActorId link_manager_; ActorId message_import_manager_; diff --git a/td/telegram/InlineMessageManager.cpp b/td/telegram/InlineMessageManager.cpp new file mode 100644 index 000000000..0a381a97e --- /dev/null +++ b/td/telegram/InlineMessageManager.cpp @@ -0,0 +1,18 @@ +// +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +#include "td/telegram/InlineMessageManager.h" + +namespace td { + +InlineMessageManager::InlineMessageManager(Td *td, ActorShared<> parent) : td_(td), parent_(std::move(parent)) { +} + +void InlineMessageManager::tear_down() { + parent_.reset(); +} + +} // namespace td diff --git a/td/telegram/InlineMessageManager.h b/td/telegram/InlineMessageManager.h new file mode 100644 index 000000000..95dcc5456 --- /dev/null +++ b/td/telegram/InlineMessageManager.h @@ -0,0 +1,28 @@ +// +// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2024 +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +#pragma once + +#include "td/actor/actor.h" + +#include "td/utils/common.h" + +namespace td { + +class Td; + +class InlineMessageManager final : public Actor { + public: + InlineMessageManager(Td *td, ActorShared<> parent); + + private: + void tear_down() final; + + Td *td_; + ActorShared<> parent_; +}; + +} // namespace td diff --git a/td/telegram/Td.cpp b/td/telegram/Td.cpp index ddbe23544..c073e58a8 100644 --- a/td/telegram/Td.cpp +++ b/td/telegram/Td.cpp @@ -79,6 +79,7 @@ #include "td/telegram/GroupCallId.h" #include "td/telegram/GroupCallManager.h" #include "td/telegram/HashtagHints.h" +#include "td/telegram/InlineMessageManager.h" #include "td/telegram/InlineQueriesManager.h" #include "td/telegram/JsonValue.h" #include "td/telegram/LanguagePackManager.h" @@ -3143,6 +3144,7 @@ void Td::dec_actor_refcnt() { reset_manager(forum_topic_manager_, "ForumTopicManager"); reset_manager(game_manager_, "GameManager"); reset_manager(group_call_manager_, "GroupCallManager"); + reset_manager(inline_message_manager_, "InlineMessageManager"); reset_manager(inline_queries_manager_, "InlineQueriesManager"); reset_manager(link_manager_, "LinkManager"); reset_manager(message_import_manager_, "MessageImportManager"); @@ -3318,6 +3320,7 @@ void Td::clear() { reset_actor(ActorOwn(std::move(forum_topic_manager_actor_))); reset_actor(ActorOwn(std::move(game_manager_actor_))); reset_actor(ActorOwn(std::move(group_call_manager_actor_))); + reset_actor(ActorOwn(std::move(inline_message_manager_actor_))); reset_actor(ActorOwn(std::move(inline_queries_manager_actor_))); reset_actor(ActorOwn(std::move(link_manager_actor_))); reset_actor(ActorOwn(std::move(message_import_manager_actor_))); @@ -3840,6 +3843,9 @@ void Td::init_managers() { group_call_manager_ = make_unique(this, create_reference()); group_call_manager_actor_ = register_actor("GroupCallManager", group_call_manager_.get()); G()->set_group_call_manager(group_call_manager_actor_.get()); + inline_message_manager_ = make_unique(this, create_reference()); + inline_message_manager_actor_ = register_actor("InlineMessageManager", inline_message_manager_.get()); + G()->set_inline_message_manager(inline_message_manager_actor_.get()); inline_queries_manager_ = make_unique(this, create_reference()); inline_queries_manager_actor_ = register_actor("InlineQueriesManager", inline_queries_manager_.get()); link_manager_ = make_unique(this, create_reference()); diff --git a/td/telegram/Td.h b/td/telegram/Td.h index ed7e00511..43cc41908 100644 --- a/td/telegram/Td.h +++ b/td/telegram/Td.h @@ -68,6 +68,7 @@ class FileReferenceManager; class ForumTopicManager; class GameManager; class GroupCallManager; +class InlineMessageManager; class InlineQueriesManager; class HashtagHints; class LanguagePackManager; @@ -216,6 +217,8 @@ class Td final : public Actor { ActorOwn game_manager_actor_; unique_ptr group_call_manager_; ActorOwn group_call_manager_actor_; + unique_ptr inline_message_manager_; + ActorOwn inline_message_manager_actor_; unique_ptr inline_queries_manager_; ActorOwn inline_queries_manager_actor_; unique_ptr link_manager_;