#pragma once // C++ #include #include #include /*! \file ObjectIDManager.h \brief A manager for handling object ID generation */ //! The Object ID Manager namespace ObjectIDManager { //! Requests a persistent ID /*! \param callback The callback function */ void RequestPersistentID(const std::function callback); //! Handles a persistent ID response /*! \param requestID The request ID \param persistentID The persistent ID */ void HandleRequestPersistentIDResponse(const uint64_t requestID, const uint32_t persistentID); //! Generates an object ID server-sided /*! \return A generated object ID */ uint32_t GenerateObjectID(); //! Generates a random object ID server-sided /*! \return A generated object ID */ uint32_t GenerateRandomObjectID(); };