#ifndef _RFID_INTERFACE_HPP #define _RFID_INTERFACE_HPP #include #include #include "WebInterface.hpp" class RFIDInterface { rc522_start_args_t startConfig; public: RFIDInterface(); void start(); void registerWebResources(WebInterface* interface); /* Callback receives (uid_string, url_or_null): * uid == NULL → tag removed * url == NULL → tag placed but no NDEF URI found (use uid for local lookup) * url != NULL → tag placed with NDEF URI */ void registerTagCallback(std::function cb); /* Legacy: only fires with UID string (NULL on removal). Kept for compatibility. */ void registerTagChangeCallback(std::function cb); }; #endif