Add StoryManager.

This commit is contained in:
levlam 2023-05-01 22:19:16 +03:00
parent 030e440757
commit b0ab122d91
6 changed files with 59 additions and 0 deletions

View File

@ -468,6 +468,7 @@ set(TDLIB_SOURCE
td/telegram/StickersManager.cpp td/telegram/StickersManager.cpp
td/telegram/StickerType.cpp td/telegram/StickerType.cpp
td/telegram/StorageManager.cpp td/telegram/StorageManager.cpp
td/telegram/StoryManager.cpp
td/telegram/SuggestedAction.cpp td/telegram/SuggestedAction.cpp
td/telegram/Support.cpp td/telegram/Support.cpp
td/telegram/Td.cpp td/telegram/Td.cpp
@ -755,6 +756,7 @@ set(TDLIB_SOURCE
td/telegram/StickersManager.h td/telegram/StickersManager.h
td/telegram/StickerType.h td/telegram/StickerType.h
td/telegram/StorageManager.h td/telegram/StorageManager.h
td/telegram/StoryManager.h
td/telegram/SuggestedAction.h td/telegram/SuggestedAction.h
td/telegram/Support.h td/telegram/Support.h
td/telegram/Td.h td/telegram/Td.h

View File

@ -311,6 +311,7 @@ function split_file($file, $chunks, $undo) {
'secret_chats_manager[_(-]|SecretChatsManager' => 'SecretChatsManager', 'secret_chats_manager[_(-]|SecretChatsManager' => 'SecretChatsManager',
'sponsored_message_manager[_(-][^.]|SponsoredMessageManager' => 'SponsoredMessageManager', 'sponsored_message_manager[_(-][^.]|SponsoredMessageManager' => 'SponsoredMessageManager',
'stickers_manager[_(-][^.]|StickersManager' => 'StickersManager', 'stickers_manager[_(-][^.]|StickersManager' => 'StickersManager',
'story_manager[_(-][^.]|StoryManager' => 'StoryManager',
'[>](td_db[(][)]|get_td_db_impl[(])|TdDb[^A-Za-z]' => 'TdDb', '[>](td_db[(][)]|get_td_db_impl[(])|TdDb[^A-Za-z]' => 'TdDb',
'theme_manager[_(-][^.]|ThemeManager' => "ThemeManager", 'theme_manager[_(-][^.]|ThemeManager' => "ThemeManager",
'TopDialogCategory|get_top_dialog_category' => 'TopDialogCategory', 'TopDialogCategory|get_top_dialog_category' => 'TopDialogCategory',

View File

@ -0,0 +1,18 @@
//
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023
//
// 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/StoryManager.h"
namespace td {
StoryManager::StoryManager(Td *td, ActorShared<> parent) : td_(td), parent_(std::move(parent)) {
}
void StoryManager::tear_down() {
parent_.reset();
}
} // namespace td

View File

@ -0,0 +1,28 @@
//
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2023
//
// 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 StoryManager final : public Actor {
public:
StoryManager(Td *td, ActorShared<> parent);
private:
void tear_down() final;
Td *td_;
ActorShared<> parent_;
};
} // namespace td

View File

@ -121,6 +121,7 @@
#include "td/telegram/StickersManager.h" #include "td/telegram/StickersManager.h"
#include "td/telegram/StickerType.h" #include "td/telegram/StickerType.h"
#include "td/telegram/StorageManager.h" #include "td/telegram/StorageManager.h"
#include "td/telegram/StoryManager.h"
#include "td/telegram/SuggestedAction.h" #include "td/telegram/SuggestedAction.h"
#include "td/telegram/Support.h" #include "td/telegram/Support.h"
#include "td/telegram/td_api.hpp" #include "td/telegram/td_api.hpp"
@ -3226,6 +3227,8 @@ void Td::dec_actor_refcnt() {
LOG(DEBUG) << "SponsoredMessageManager was cleared" << timer; LOG(DEBUG) << "SponsoredMessageManager was cleared" << timer;
stickers_manager_.reset(); stickers_manager_.reset();
LOG(DEBUG) << "StickersManager was cleared" << timer; LOG(DEBUG) << "StickersManager was cleared" << timer;
story_manager_.reset();
LOG(DEBUG) << "StoryManager was cleared" << timer;
theme_manager_.reset(); theme_manager_.reset();
LOG(DEBUG) << "ThemeManager was cleared" << timer; LOG(DEBUG) << "ThemeManager was cleared" << timer;
top_dialog_manager_.reset(); top_dialog_manager_.reset();
@ -3426,6 +3429,8 @@ void Td::clear() {
LOG(DEBUG) << "SponsoredMessageManager actor was cleared" << timer; LOG(DEBUG) << "SponsoredMessageManager actor was cleared" << timer;
stickers_manager_actor_.reset(); stickers_manager_actor_.reset();
LOG(DEBUG) << "StickersManager actor was cleared" << timer; LOG(DEBUG) << "StickersManager actor was cleared" << timer;
story_manager_actor_.reset();
LOG(DEBUG) << "StoryManager actor was cleared" << timer;
theme_manager_actor_.reset(); theme_manager_actor_.reset();
LOG(DEBUG) << "ThemeManager actor was cleared" << timer; LOG(DEBUG) << "ThemeManager actor was cleared" << timer;
top_dialog_manager_actor_.reset(); top_dialog_manager_actor_.reset();
@ -3915,6 +3920,8 @@ void Td::init_managers() {
stickers_manager_ = make_unique<StickersManager>(this, create_reference()); stickers_manager_ = make_unique<StickersManager>(this, create_reference());
stickers_manager_actor_ = register_actor("StickersManager", stickers_manager_.get()); stickers_manager_actor_ = register_actor("StickersManager", stickers_manager_.get());
G()->set_stickers_manager(stickers_manager_actor_.get()); G()->set_stickers_manager(stickers_manager_actor_.get());
story_manager_ = make_unique<StoryManager>(this, create_reference());
story_manager_actor_ = register_actor("StoryManager", story_manager_.get());
theme_manager_ = make_unique<ThemeManager>(this, create_reference()); theme_manager_ = make_unique<ThemeManager>(this, create_reference());
theme_manager_actor_ = register_actor("ThemeManager", theme_manager_.get()); theme_manager_actor_ = register_actor("ThemeManager", theme_manager_.get());
G()->set_theme_manager(theme_manager_actor_.get()); G()->set_theme_manager(theme_manager_actor_.get());

View File

@ -77,6 +77,7 @@ class SponsoredMessageManager;
class StateManager; class StateManager;
class StickersManager; class StickersManager;
class StorageManager; class StorageManager;
class StoryManager;
class ThemeManager; class ThemeManager;
class TopDialogManager; class TopDialogManager;
class TranslationManager; class TranslationManager;
@ -192,6 +193,8 @@ class Td final : public Actor {
ActorOwn<SponsoredMessageManager> sponsored_message_manager_actor_; ActorOwn<SponsoredMessageManager> sponsored_message_manager_actor_;
unique_ptr<StickersManager> stickers_manager_; unique_ptr<StickersManager> stickers_manager_;
ActorOwn<StickersManager> stickers_manager_actor_; ActorOwn<StickersManager> stickers_manager_actor_;
unique_ptr<StoryManager> story_manager_;
ActorOwn<StoryManager> story_manager_actor_;
unique_ptr<ThemeManager> theme_manager_; unique_ptr<ThemeManager> theme_manager_;
ActorOwn<ThemeManager> theme_manager_actor_; ActorOwn<ThemeManager> theme_manager_actor_;
unique_ptr<TopDialogManager> top_dialog_manager_; unique_ptr<TopDialogManager> top_dialog_manager_;