class axl::sys::win::WaitableTimer

#include <axl_sys_win_WaitableTimer.h>

class WaitableTimer: public axl::sys::win::WaitableHandle
{
public:
    // methods

    bool
    create(
        SECURITY_ATTRIBUTES* secAttr = NULL,
        bool isManualReset = false,
        const sl::StringRef_w& name = NULL
        );

    bool
    open(
        uint_t access = EVENT_ALL_ACCESS,
        bool doInheritHandle = false,
        const sl::StringRef_w& name = NULL
        );

    bool
    setTimer(
        uint64_t dueTime,
        uint_t period = 0,
        PTIMERAPCROUTINE completionRoutine = NULL,
        void* completionContext = NULL,
        bool resume = false
        );

    bool
    setRelativeTimer(
        uint_t timeout,
        uint_t period = 0,
        PTIMERAPCROUTINE completionRoutine = NULL,
        void* completionContext = NULL,
        bool resume = false
        );

    bool
    cancel();
};

Inherited Members

public:
    // typedefs

    typedef T H;

    // methods

    operator T() const;

    T
    operator->() const;

    const Handle&
    operator=(T h);

    bool
    isOpen() const;

    void
    close();

    void
    attach(T h);

    T
    detach();

    T*
    p();

    static
    T
    getInvalidHandle();

    WaitResult
    wait(
        uint_t timeout = -1,
        bool isAlertable = false
        );

    static
    WaitResult
    multiWait(
        HANDLE* waitArray,
        dword_t count,
        bool doWaitAll = false,
        uint_t timeout = -1,
        bool isAlertable = false
        );