1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 02:38:13 +00:00

LibCore: Convert CTCPSocket to ObjectPtr, add construct() helper

The C_OBJECT macro now also inserts a static construct(...) helper into
the class. Now we can make the constructor(s) private and instead call:

    auto socket = CTCPSocket::construct(arguments);

construct() returns an ObjectPtr<T>, which we'll later switch to being
a NonnullRefPtr<T>, once everything else in in place for ref-counting.
This commit is contained in:
Andreas Kling 2019-09-21 10:13:34 +02:00
parent 1f5a9762a2
commit 4298ba25c3
15 changed files with 30 additions and 25 deletions

View file

@ -8,7 +8,9 @@ class CTCPServer;
class CTCPSocket final : public CSocket {
C_OBJECT(CTCPSocket)
public:
explicit CTCPSocket(CObject* parent = nullptr);
CTCPSocket(Badge<CTCPServer>, int fd, CObject* parent = nullptr);
virtual ~CTCPSocket() override;
private:
CTCPSocket(int fd, CObject* parent = nullptr);
explicit CTCPSocket(CObject* parent = nullptr);
};