refactor: NetworkPrivate (#5063)

Co-authored-by: Rasmus Karlsson <rasmus.karlsson@pajlada.com>
This commit is contained in:
nerix
2024-01-09 00:37:15 +01:00
committed by GitHub
parent f42ae07408
commit fa5648fd9a
11 changed files with 465 additions and 421 deletions
+33
View File
@@ -0,0 +1,33 @@
#pragma once
#include <QObject>
namespace chatterino {
/// Guard to call `deleteLater` on a QObject when destroyed.
class AbandonObject
{
public:
AbandonObject(QObject *obj)
: obj_(obj)
{
}
~AbandonObject()
{
if (this->obj_)
{
this->obj_->deleteLater();
}
}
AbandonObject(const AbandonObject &) = delete;
AbandonObject(AbandonObject &&) = delete;
AbandonObject &operator=(const AbandonObject &) = delete;
AbandonObject &operator=(AbandonObject &&) = delete;
private:
QObject *obj_;
};
} // namespace chatterino