/* * Copyright (C) 2018 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include "runtime/utilities/reference_tracked_object.h" #include "engine_node.h" #include namespace OCLRT { class OSInterface; class OsContext : public ReferenceTrackedObject { public: class OsContextImpl; OsContext(OSInterface *osInterface, uint32_t contextId, EngineInstanceT engineType); ~OsContext() override; OsContextImpl *get() const { return osContextImpl.get(); }; uint32_t getContextId() { return contextId; } EngineInstanceT &getEngineType() { return engineType; } protected: std::unique_ptr osContextImpl; uint32_t contextId = 0; EngineInstanceT engineType; }; } // namespace OCLRT