#pragma once #include #include #include #include "switch/common.h" namespace lightSwitch::os { class KObject { private: uint32_t handle; public: KObject(uint32_t handle) : handle(handle) {} uint32_t Handle() { return handle; } }; typedef std::shared_ptr KObjectPtr; class Kernel { private: device_state state; uint32_t handle_index = constant::base_handle_index; std::unordered_map handles; public: Kernel(device_state state_); uint32_t NewHandle(KObjectPtr obj); }; }