Every frame the OS must be queried for changes to the state, this does that querying on behalf of an eventmanager. More...
#include <eventmanager.h>
Inheritance diagram for Mezzanine::EventPumpWorkUnit:
Collaboration diagram for Mezzanine::EventPumpWorkUnit:Public Member Functions | |
| EventPumpWorkUnit (EventManager *Target) | |
| Create the WorkUnit for getting updates from the OS. More... | |
| virtual | ~EventPumpWorkUnit () |
| Virtual Deconstructor. | |
| virtual void | DoWork (Threading::DefaultThreadSpecificStorage::Type &CurrentThreadStorage) |
| This does the actual work of the getting the data form the OS. More... | |
Public Member Functions inherited from Mezzanine::Threading::DefaultWorkUnit | |
| DefaultWorkUnit () | |
| Simple constructor. | |
| virtual | ~DefaultWorkUnit () |
| Virtual destructor, doesn't actually do much. | |
| virtual void | AddDependency (iWorkUnit *NewDependency) |
| Force this WorkUnit to Start after another has completed. More... | |
| virtual void | ClearDependencies () |
| Drop any information about what work units this one depends on. | |
| virtual iWorkUnit * | GetDependency (Whole Index) const |
| This is used to iterate of all the dependencies. More... | |
| virtual Whole | GetDependencyCount () const |
| How many other WorkUnits does this one depend on? More... | |
| virtual Whole | GetDependentCount (FrameScheduler &SchedulerToCount) |
| This returns the count workunits that depend on this work unit. More... | |
| virtual Whole | GetImmediateDependencyCount () const |
| Get the amount of dependencies that directly count on this for access purposes. More... | |
| virtual Whole | GetPerformance () const |
| Get the internal rolling average for querying. More... | |
| virtual RollingAverage< Whole > & | GetPerformanceLog () |
| Get the internal rolling average for querying. More... | |
| virtual RunningState | GetRunningState () const |
| Retrieves the current RunningState of the thread. More... | |
| virtual WorkUnitKey | GetSortingKey (FrameScheduler &SchedulerToCount) |
| Get the sorting metadata. More... | |
| virtual bool | IsEveryDependencyComplete () |
| Check if this WorkUnit could concievably run right now. More... | |
| virtual void | operator() (DefaultThreadSpecificStorage::Type &CurrentThreadStorage) |
| This does everything required to track metadata and log work. More... | |
| virtual void | PrepareForNextFrame () |
| This resets the running state and takes any further action required to use the WorkUnit again. | |
| virtual void | RemoveDependency (iWorkUnit *RemoveDependency) |
| Remove a dependency. More... | |
| virtual RunningState | TakeOwnerShip () |
| Attempts to atomically start the work unit in the current thread. More... | |
Public Member Functions inherited from Mezzanine::Threading::iWorkUnit | |
| virtual | ~iWorkUnit () |
| Virtual destructor. | |
Protected Member Functions | |
| EventPumpWorkUnit (const EventPumpWorkUnit &Other) | |
| Protected copy constructor. THIS IS NOT ALLOWED. More... | |
| EventPumpWorkUnit & | operator= (const EventPumpWorkUnit &Other) |
| Protected assignment operator. THIS IS NOT ALLOWED. More... | |
Protected Attributes | |
| EventManager * | TargetManager |
| The Manager this does the work for. More... | |
Protected Attributes inherited from Mezzanine::Threading::DefaultWorkUnit | |
| Int32 | CurrentRunningState |
| This controls do work with this after it has. | |
| std::vector< iWorkUnit * > | Dependencies |
| A collection of of workunits that must be complete before this one can start. | |
| DefaultRollingAverage< Whole >::Type | PerformanceLog |
| A rolling average of execution times. | |
Every frame the OS must be queried for changes to the state, this does that querying on behalf of an eventmanager.
Definition at line 108 of file eventmanager.h.
|
protected |
Protected copy constructor. THIS IS NOT ALLOWED.
| Other | The other work unit being copied from. WHICH WILL NEVER HAPPEN. |
Definition at line 68 of file eventmanager.cpp.
| Mezzanine::EventPumpWorkUnit::EventPumpWorkUnit | ( | EventManager * | Target | ) |
Create the WorkUnit for getting updates from the OS.
| Target | The Manager to save this data in. |
Definition at line 74 of file eventmanager.cpp.
|
virtual |
This does the actual work of the getting the data form the OS.
| CurrentThreadStorage | Only really used for the logger. |
Implements Mezzanine::Threading::iWorkUnit.
Definition at line 83 of file eventmanager.cpp.
|
protected |
Protected assignment operator. THIS IS NOT ALLOWED.
| Other | The other work unit being copied from. WHICH WILL NEVER HAPPEN. |
Definition at line 71 of file eventmanager.cpp.
|
protected |
The Manager this does the work for.
Definition at line 113 of file eventmanager.h.
1.8.9.1. Thanks to the
Open Icon Library
for help with some of the icons.