17#ifndef __ROGUE_INTERFACES_MEMORY_FRAME_LOCK_H__
18#define __ROGUE_INTERFACES_MEMORY_FRAME_LOCK_H__
41 std::shared_ptr<rogue::interfaces::stream::Frame> frame_;
58 static std::shared_ptr<rogue::interfaces::stream::FrameLock>
create(
59 std::shared_ptr<rogue::interfaces::stream::Frame> frame);
70 explicit FrameLock(std::shared_ptr<rogue::interfaces::stream::Frame> frame);
106 void exit(
void*,
void*,
void*);
110typedef std::shared_ptr<rogue::interfaces::stream::FrameLock>
FrameLockPtr;
Scoped lock wrapper for stream frames.
static std::shared_ptr< rogue::interfaces::stream::FrameLock > create(std::shared_ptr< rogue::interfaces::stream::Frame > frame)
Creates a frame lock wrapper.
static void setup_python()
Registers this type with Python bindings.
~FrameLock()
Destroys the wrapper and releases any held lock.
void exit(void *, void *, void *)
Python context-manager exit hook.
void enter()
Python context-manager entry hook.
void unlock()
Unlocks the associated frame when currently locked.
void lock()
Locks the associated frame when not already locked.
std::shared_ptr< rogue::interfaces::stream::FrameLock > FrameLockPtr
Shared pointer alias for FrameLock.