Stub.h 507 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <AK/OwnPtr.h>
  8. #include <AK/String.h>
  9. namespace AK {
  10. class BufferStream;
  11. }
  12. namespace IPC {
  13. class Message;
  14. struct MessageBuffer;
  15. class Stub {
  16. public:
  17. virtual ~Stub();
  18. virtual u32 magic() const = 0;
  19. virtual String name() const = 0;
  20. virtual OwnPtr<MessageBuffer> handle(const Message&) = 0;
  21. protected:
  22. Stub();
  23. private:
  24. String m_name;
  25. };
  26. }