mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 08:47:44 +00:00
LibCore: Introduce a C_OBJECT macro.
This macro goes at the top of every CObject-derived class like so: class SomeClass : public CObject { C_OBJECT(SomeClass) public: ... At the moment, all it does is create an override for the class_name() getter but in the future this will be used to automatically insert member functions into these classes.
This commit is contained in:
parent
d21a4f7518
commit
a599317624
56 changed files with 70 additions and 105 deletions
|
@ -15,9 +15,9 @@ class IRCWindowListModel;
|
|||
class CNotifier;
|
||||
|
||||
class IRCClient final : public CObject {
|
||||
C_OBJECT(IRCClient)
|
||||
friend class IRCChannel;
|
||||
friend class IRCQuery;
|
||||
|
||||
public:
|
||||
IRCClient();
|
||||
virtual ~IRCClient() override;
|
||||
|
@ -87,8 +87,6 @@ public:
|
|||
|
||||
void add_server_message(const String&);
|
||||
|
||||
const char* class_name() const override { return "IRCClient"; }
|
||||
|
||||
private:
|
||||
struct Message {
|
||||
String prefix;
|
||||
|
|
|
@ -10,6 +10,7 @@ class GTableView;
|
|||
class GTextEditor;
|
||||
|
||||
class IRCWindow : public GWidget {
|
||||
C_OBJECT(IRCWindow)
|
||||
public:
|
||||
enum Type {
|
||||
Server,
|
||||
|
@ -41,8 +42,6 @@ public:
|
|||
const IRCQuery& query() const { return *(const IRCQuery*)m_owner; }
|
||||
|
||||
private:
|
||||
const char* class_name() const override { return "IRCWindow"; }
|
||||
|
||||
IRCClient& m_client;
|
||||
void* m_owner { nullptr };
|
||||
Type m_type;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue