Make MessageForwardInfo fields private.
This commit is contained in:
parent
6b180bcfd9
commit
645102e4ed
@ -55,6 +55,11 @@ unique_ptr<MessageForwardInfo> MessageForwardInfo::copy_message_forward_info(Td
|
||||
const MessageForwardInfo &forward_info,
|
||||
DialogId from_dialog_id,
|
||||
MessageId from_message_id) {
|
||||
if (from_dialog_id.is_valid() != from_message_id.is_valid()) {
|
||||
from_dialog_id = DialogId();
|
||||
from_message_id = MessageId();
|
||||
}
|
||||
|
||||
auto result = make_unique<MessageForwardInfo>(forward_info);
|
||||
result->from_dialog_id_ = from_dialog_id;
|
||||
result->from_message_id_ = from_message_id;
|
||||
|
@ -23,7 +23,7 @@ namespace td {
|
||||
class Dependencies;
|
||||
class Td;
|
||||
|
||||
struct MessageForwardInfo {
|
||||
class MessageForwardInfo {
|
||||
MessageOrigin origin_;
|
||||
int32 date_ = 0;
|
||||
DialogId from_dialog_id_;
|
||||
@ -31,6 +31,11 @@ struct MessageForwardInfo {
|
||||
string psa_type_;
|
||||
bool is_imported_ = false;
|
||||
|
||||
friend bool operator==(const MessageForwardInfo &lhs, const MessageForwardInfo &rhs);
|
||||
|
||||
friend StringBuilder &operator<<(StringBuilder &string_builder, const MessageForwardInfo &forward_info);
|
||||
|
||||
public:
|
||||
MessageForwardInfo() = default;
|
||||
|
||||
MessageForwardInfo(MessageOrigin &&origin, int32 date, DialogId from_dialog_id, MessageId from_message_id,
|
||||
@ -73,6 +78,10 @@ struct MessageForwardInfo {
|
||||
return is_imported_;
|
||||
}
|
||||
|
||||
const MessageOrigin &get_origin() const {
|
||||
return origin_;
|
||||
}
|
||||
|
||||
MessageFullId get_origin_message_full_id() const {
|
||||
return origin_.get_message_full_id();
|
||||
}
|
||||
|
@ -9325,7 +9325,7 @@ bool MessagesManager::can_get_message_statistics(DialogId dialog_id, const Messa
|
||||
return false;
|
||||
}
|
||||
if (m == nullptr || m->message_id.is_scheduled() || !m->message_id.is_server() || m->view_count == 0 ||
|
||||
m->had_forward_info || (m->forward_info != nullptr && m->forward_info->origin_.is_channel_post())) {
|
||||
m->had_forward_info || (m->forward_info != nullptr && m->forward_info->get_origin().is_channel_post())) {
|
||||
return false;
|
||||
}
|
||||
return td_->contacts_manager_->can_get_channel_message_statistics(dialog_id);
|
||||
@ -15903,12 +15903,13 @@ void MessagesManager::block_message_sender_from_replies(MessageId message_id, bo
|
||||
|
||||
DialogId sender_dialog_id;
|
||||
if (m->forward_info != nullptr) {
|
||||
sender_dialog_id = m->forward_info->origin_.get_sender();
|
||||
sender_dialog_id = m->forward_info->get_origin().get_sender();
|
||||
}
|
||||
vector<MessageId> message_ids;
|
||||
if (need_delete_all_messages && sender_dialog_id.is_valid()) {
|
||||
message_ids = find_dialog_messages(d, [sender_dialog_id](const Message *m) {
|
||||
return !m->is_outgoing && m->forward_info != nullptr && m->forward_info->origin_.get_sender() == sender_dialog_id;
|
||||
return !m->is_outgoing && m->forward_info != nullptr &&
|
||||
m->forward_info->get_origin().get_sender() == sender_dialog_id;
|
||||
});
|
||||
CHECK(td::contains(message_ids, message_id));
|
||||
} else if (need_delete_message) {
|
||||
@ -22255,8 +22256,9 @@ tl_object_ptr<td_api::message> MessagesManager::get_message_object(DialogId dial
|
||||
// in Saved Messages all non-forwarded messages must be outgoing
|
||||
// a forwarded message is outgoing, only if it doesn't have from_dialog_id and its sender isn't hidden
|
||||
// i.e. a message is incoming only if it's a forwarded message with known from_dialog_id or with a hidden sender
|
||||
is_outgoing = is_scheduled || m->forward_info == nullptr ||
|
||||
(!m->forward_info->get_last_dialog_id().is_valid() && !m->forward_info->origin_.is_sender_hidden());
|
||||
is_outgoing =
|
||||
is_scheduled || m->forward_info == nullptr ||
|
||||
(!m->forward_info->get_last_dialog_id().is_valid() && !m->forward_info->get_origin().is_sender_hidden());
|
||||
}
|
||||
|
||||
double ttl_expires_in = m->ttl_expires_at != 0 ? clamp(m->ttl_expires_at - Time::now(), 1e-3, m->ttl - 1e-3) : 0.0;
|
||||
@ -24627,7 +24629,7 @@ DialogId MessagesManager::get_message_original_sender(const Message *m) {
|
||||
if (m->forward_info->is_imported()) {
|
||||
return DialogId();
|
||||
}
|
||||
return m->forward_info->origin_.get_sender();
|
||||
return m->forward_info->get_origin().get_sender();
|
||||
}
|
||||
return get_message_sender(m);
|
||||
}
|
||||
@ -25815,7 +25817,7 @@ MessageOrigin MessagesManager::get_forwarded_message_origin(DialogId dialog_id,
|
||||
CHECK(m != nullptr);
|
||||
MessageOrigin origin;
|
||||
if (m->forward_info != nullptr) {
|
||||
origin = m->forward_info->origin_;
|
||||
origin = m->forward_info->get_origin();
|
||||
} else if (m->is_channel_post) {
|
||||
if (td_->dialog_manager_->is_broadcast_channel(dialog_id)) {
|
||||
auto author_signature = m->sender_user_id.is_valid() ? td_->contacts_manager_->get_user_title(m->sender_user_id)
|
||||
|
@ -107,7 +107,7 @@ class DialogFilter;
|
||||
class DraftMessage;
|
||||
struct InputMessageContent;
|
||||
class MessageContent;
|
||||
struct MessageForwardInfo;
|
||||
class MessageForwardInfo;
|
||||
struct MessageReactions;
|
||||
class Td;
|
||||
class Usernames;
|
||||
|
Loading…
x
Reference in New Issue
Block a user