struct CCL::Threading::ISyncPrimitive

Overview

Interface for synchronization primitives (not all method are applicable to all types). More…

#include <ithreading.h>

struct ISyncPrimitive: public CCL::IUnknown
{
    // methods

    virtual tresult CCL_API lock () = 0;
    virtual tresult CCL_API tryLock () = 0;
    virtual tresult CCL_API unlock () = 0;
    virtual tresult CCL_API signal () = 0;
    virtual tresult CCL_API reset () = 0;
    virtual tresult CCL_API wait (uint32 milliseconds) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Interface for synchronization primitives (not all method are applicable to all types).

Methods

virtual tresult CCL_API lock () = 0

Wait for ownership of object.

virtual tresult CCL_API tryLock () = 0

Attempt to get ownership without blocking.

virtual tresult CCL_API unlock () = 0

Release ownership of object.

virtual tresult CCL_API signal () = 0

Set object into signaled state.

virtual tresult CCL_API reset () = 0

Set object into non-signaled state.

virtual tresult CCL_API wait (uint32 milliseconds) = 0

Perform blocking wait on object with optional timeout.