The Pedigree Project 0.1
RelayEvent.h
1/*
2 * Copyright (c) 2026, Pedigree Developers
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted.
6 */
7
8#ifndef PEDIGREE_KERNEL_PROCESS_RELAYEVENT_H
9#define PEDIGREE_KERNEL_PROCESS_RELAYEVENT_H
10#include "pedigree/kernel/compiler.h"
11#include "pedigree/kernel/process/Event.h"
12
13#include <config.h>
14
21class EXPORTED_PUBLIC RelayEvent : public Event {
22 public:
23 using Callback = void (*)(Thread*);
24
25 RelayEvent(Callback callback, size_t number);
26
27 size_t serialize(uint8_t* buffer) override;
28 size_t getNumber() override;
29
30 private:
31 static void dispatch(size_t buffer);
32
33 Callback m_Callback;
34 size_t m_Number;
35};
36
37#endif
Definition Event.h:49
virtual size_t getNumber()=0
virtual size_t serialize(uint8_t *pBuffer)=0