mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 11:47:46 +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:
parent
b3e9a4e603
commit
4e55d649d7
19 changed files with 45 additions and 26 deletions
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue