#pragma once #include #include class CLocalSocket; class CLocalServer : public CObject { C_OBJECT(CLocalServer) public: explicit CLocalServer(CObject* parent = nullptr); virtual ~CLocalServer() override; bool is_listening() const { return m_listening; } bool listen(const String& address); CLocalSocket* accept(); Function on_ready_to_accept; private: int m_fd { -1 }; bool m_listening { false }; OwnPtr m_notifier; };