1 #pragma once
2 
3 #include <shared_mutex>
4 #include "EXGLNativeContext.h"
5 
6 namespace expo {
7 namespace gl_cpp {
8 
9 using ContextWithLock = std::pair<EXGLContext *, std::shared_lock<std::shared_mutex>>;
10 
11 EXGLContextId ContextCreate();
12 ContextWithLock ContextGet(EXGLContextId id);
13 void ContextDestroy(EXGLContextId id);
14 
15 } // namespace gl_cpp
16 } // namespace expo
17