Add AlarmManager.
This commit is contained in:
parent
210269a498
commit
e6039ee308
@ -320,6 +320,7 @@ set(TD_MTPROTO_SOURCE
|
||||
|
||||
set(TDLIB_SOURCE_PART1
|
||||
td/telegram/AccountManager.cpp
|
||||
td/telegram/AlarmManager.cpp
|
||||
td/telegram/AnimationsManager.cpp
|
||||
td/telegram/Application.cpp
|
||||
td/telegram/AttachMenuManager.cpp
|
||||
@ -607,6 +608,7 @@ set(TDLIB_SOURCE_PART2
|
||||
td/telegram/AccessRights.h
|
||||
td/telegram/AccountManager.h
|
||||
td/telegram/AffectedHistory.h
|
||||
td/telegram/AlarmManager.h
|
||||
td/telegram/AnimationsManager.h
|
||||
td/telegram/Application.h
|
||||
td/telegram/AttachMenuManager.h
|
||||
|
@ -296,6 +296,7 @@ function split_file($file, $chunks, $undo) {
|
||||
$td_methods = array(
|
||||
'AccentColorId' => 'AccentColorId',
|
||||
'account_manager[_(-](?![.]get[(][)])|AccountManager[^;>]' => 'AccountManager',
|
||||
'alarm_manager[_(-](?![.]get[(][)])|AlarmManager' => 'AlarmManager',
|
||||
'animations_manager[_(-](?![.]get[(][)])|AnimationsManager[^;>]' => 'AnimationsManager',
|
||||
'attach_menu_manager[_(-](?![.]get[(][)])|AttachMenuManager[^;>]' => 'AttachMenuManager',
|
||||
'audios_manager[_(-](?![.]get[(][)])|AudiosManager' => 'AudiosManager',
|
||||
|
18
td/telegram/AlarmManager.cpp
Normal file
18
td/telegram/AlarmManager.cpp
Normal file
@ -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/AlarmManager.h"
|
||||
|
||||
namespace td {
|
||||
|
||||
AlarmManager::AlarmManager(ActorShared<> parent) : parent_(std::move(parent)) {
|
||||
}
|
||||
|
||||
void AlarmManager::tear_down() {
|
||||
parent_.reset();
|
||||
}
|
||||
|
||||
} // namespace td
|
27
td/telegram/AlarmManager.h
Normal file
27
td/telegram/AlarmManager.h
Normal file
@ -0,0 +1,27 @@
|
||||
//
|
||||
// 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 AlarmManager final : public Actor {
|
||||
public:
|
||||
explicit AlarmManager(ActorShared<> parent);
|
||||
|
||||
private:
|
||||
void tear_down() final;
|
||||
|
||||
ActorShared<> parent_;
|
||||
};
|
||||
|
||||
} // namespace td
|
@ -7,6 +7,7 @@
|
||||
#include "td/telegram/Td.h"
|
||||
|
||||
#include "td/telegram/AccountManager.h"
|
||||
#include "td/telegram/AlarmManager.h"
|
||||
#include "td/telegram/AnimationsManager.h"
|
||||
#include "td/telegram/Application.h"
|
||||
#include "td/telegram/AttachMenuManager.h"
|
||||
@ -453,6 +454,8 @@ void Td::start_up() {
|
||||
inc_request_actor_refcnt(); // guard
|
||||
inc_actor_refcnt(); // guard
|
||||
|
||||
alarm_manager_ = create_actor<AlarmManager>("AlarmManager", create_reference());
|
||||
|
||||
alarm_timeout_.set_callback(on_alarm_timeout_callback);
|
||||
alarm_timeout_.set_callback_data(static_cast<void *>(this));
|
||||
|
||||
@ -670,6 +673,7 @@ void Td::clear() {
|
||||
};
|
||||
|
||||
// close all pure actors
|
||||
reset_actor(ActorOwn<Actor>(std::move(alarm_manager_)));
|
||||
reset_actor(ActorOwn<Actor>(std::move(call_manager_)));
|
||||
reset_actor(ActorOwn<Actor>(std::move(cashtag_search_hints_)));
|
||||
reset_actor(ActorOwn<Actor>(std::move(config_manager_)));
|
||||
|
@ -34,6 +34,7 @@
|
||||
namespace td {
|
||||
|
||||
class AccountManager;
|
||||
class AlarmManager;
|
||||
class AnimationsManager;
|
||||
class AttachMenuManager;
|
||||
class AudiosManager;
|
||||
@ -272,6 +273,7 @@ class Td final : public Actor {
|
||||
unique_ptr<WebPagesManager> web_pages_manager_;
|
||||
ActorOwn<WebPagesManager> web_pages_manager_actor_;
|
||||
|
||||
ActorOwn<AlarmManager> alarm_manager_;
|
||||
ActorOwn<CallManager> call_manager_;
|
||||
ActorOwn<HashtagHints> cashtag_search_hints_;
|
||||
ActorOwn<ConfigManager> config_manager_;
|
||||
|
Loading…
Reference in New Issue
Block a user