Remove IServer client ref

This commit is contained in:
TuxSH authored and Michael Scire committed 2019-06-03 17:41:07 -07:00
1 parent 1b3b26c3af
commit 195da2e599
5 files changed
+13 -4

No files matched your search

@@ -22,7 +22,7 @@ class IClientServerParent : public IClientServerParentTag {
{
Parent *par = (Parent *)this;
client.SetParent(par);
server.SetParentAndClient(par, &client);
server.SetParentAndClient(par);
}
ClientClass &GetClient() { return client; }
@@ -23,16 +23,14 @@ class IServer : public IServerTag {
const SharedPtr<Parent> &GetParent() const { return parent; }
void SetParentAndClient(SharedPtr<Parent> parent, SharedPtr<Client> client)
void SetParentAndClient(SharedPtr<Parent> parent)
{
this->parent = std::move(parent);
this->client = std::move(client);
}
protected:
SharedPtr<Parent> parent{};
SharedPtr<Client> client{};
};
}
@@ -21,6 +21,11 @@ class KWritableEvent final : public KAutoObject, public IServer<KEvent, KReadabl
Result Signal();
Result Clear();
void SetClient(SharedPtr<KReadableEvent> client);
private:
SharedPtr<KReadableEvent> client{};
};
inline void intrusive_ptr_add_ref(KWritableEvent *obj)