# VectorNav C++ Library: include/vn/event.h Source File

event.h
#ifndef _VNXPLAT_EVENT_H_
#define _VNXPLAT_EVENT_H_
#include "nocopy.h"
#include "int.h"
#include "export.h"
namespace vn {
namespace xplat {
class vn_proglib_DLLEXPORT Event : private util::NoCopy
{
public:
enum WaitResult
{
WAIT_SIGNALED,
WAIT_TIMEDOUT
};
// Constructors ///////////////////////////////////////////////////////////
public:
Event();
~Event();
// Public Methods /////////////////////////////////////////////////////////
public:
void wait();
WaitResult waitUs(uint32_t timeoutUs);
WaitResult waitMs(uint32_t timeoutMs);
void signal();
// Private Members ////////////////////////////////////////////////////////
private:
// Contains internal data, mainly stuff that is required for cross-platform
// support.
struct Impl;
Impl *_pi;
};
}
}
#endif
vn::xplat::Event
Represents a cross-platform event.
Definition: event.h:12
int.h
nocopy.h
vn::xplat::Event::WaitResult
WaitResult
Available wait results.
Definition: event.h:18
vn::xplat::Event::WAIT_SIGNALED
The event was signalled.
Definition: event.h:20
xplat
Definition: mock.h:4
vn::util::NoCopy
Identifies a derived class as being unable to be copied and prevents copy attempts.
Definition: nocopy.h:21
vn
Definition: attitude.h:8