Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Messaging
ActiveObjectBlockingRunner.h
1
// Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2
3
#pragma once
4
5
#include "IRunnable.h"
6
#include "Types.h"
7
#include "ActiveObject.h"
8
9
namespace
Eegeo
10
{
11
namespace
Messaging
12
{
13
template
<
typename
TMessage,
typename
TDispatcher>
14
class
ActiveObjectBlockingRunner
:
protected
Eegeo::NonCopyable
,
public
Concurrency::IRunnable
15
{
16
public
:
17
ActiveObjectBlockingRunner
(
ActiveObject<TMessage, TDispatcher>
& activeObject)
18
: m_activeObject(activeObject)
19
{
20
}
21
22
bool
operator()()
23
{
24
return
m_activeObject.WaitAndProcessSingleMessage();
25
}
26
27
void
OnStarted()
28
{
29
m_activeObject.OnStarted();
30
}
31
32
void
OnStopped()
33
{
34
m_activeObject.OnStopped();
35
}
36
37
private
:
38
ActiveObject<TMessage, TDispatcher>
& m_activeObject;
39
};
40
}
41
}
42
Generated on Sat Jun 10 2023 02:00:31 for eeGeo Platform SDK by
1.8.3.1