[NFC] Tag events

This commit is contained in:
wheremyfoodat 2023-04-24 21:58:35 +03:00
parent 3935820c05
commit 0add6b7d7a
3 changed files with 56 additions and 4 deletions
include/services

View file

@ -4,16 +4,25 @@
#include "logger.hpp"
#include "memory.hpp"
// You know the drill
class Kernel;
class NFCService {
Handle handle = KernelHandles::NFC;
Memory& mem;
Kernel& kernel;
MAKE_LOG_FUNCTION(log, nfcLogger)
// Kernel events signaled when an NFC tag goes in and out of range respectively
std::optional<Handle> tagInRangeEvent, tagOutOfRangeEvent;
// Service commands
void initialize(u32 messagePointer);
void getTagInRangeEvent(u32 messagePointer);
void getTagOutOfRangeEvent(u32 messagePointer);
public:
NFCService(Memory& mem) : mem(mem) {}
NFCService(Memory& mem, Kernel& kernel) : mem(mem), kernel(kernel) {}
void reset();
void handleSyncRequest(u32 messagePointer);
};