1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 02:37:36 +00:00

Services: Fix visibility of Object-derivative constructors

Derivatives of Core::Object should be constructed through
ClassName::construct(), to avoid handling ref-counted objects with
refcount zero. Fixing the visibility means that misuses like this are
more difficult.
This commit is contained in:
Ben Wiederhake 2021-10-31 23:38:04 +01:00 committed by Andreas Kling
parent b3e9a4e603
commit 4e55d649d7
19 changed files with 45 additions and 26 deletions

View file

@ -14,16 +14,16 @@ class ChessEngine : public Chess::UCI::Endpoint {
public:
virtual ~ChessEngine() override { }
virtual void handle_uci() override;
virtual void handle_position(const Chess::UCI::PositionCommand&) override;
virtual void handle_go(const Chess::UCI::GoCommand&) override;
private:
ChessEngine() { }
ChessEngine(NonnullRefPtr<Core::IODevice> in, NonnullRefPtr<Core::IODevice> out)
: Endpoint(in, out)
{
}
virtual void handle_uci() override;
virtual void handle_position(const Chess::UCI::PositionCommand&) override;
virtual void handle_go(const Chess::UCI::GoCommand&) override;
private:
Chess::Board m_board;
};