commore
1.0.6-SNAPSHOT
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Thread.h
Go to the documentation of this file.
1
//
2
// Copyright (c) 2006-2014 Raphael David / CANTOR
3
//
4
5
#ifndef CMR_THREAD_INCLUDED
6
#define CMR_THREAD_INCLUDED
7
8
#include "
commore/Commore.h
"
9
#include "
commore/AutoRef.h
"
10
11
12
namespace
commore
13
{
14
class
ThreadItem;
18
class
CMREXD
Thread
19
{
20
public
:
21
struct
Impl
;
22
public
:
23
Thread
() : impl_(0) {}
24
virtual
~
Thread
();
25
26
public
:
30
bool
start();
34
bool
request_stop();
39
bool
stop();
40
44
bool
is_to_stop();
45
50
bool
is_stopped();
55
bool
is_running();
56
57
65
virtual
void
run();
66
72
bool
wait(
TimePeriod
timeout);
73
77
bool
trigger();
78
85
virtual
void
run_item();
86
87
private
:
88
Impl* impl_;
89
90
91
};
92
96
class
CMREXD
Event
97
{
98
public
:
102
Event
(
bool
create =
true
);
107
Event
(
const
AChar
* name);
108
~
Event
();
109
110
public
:
117
bool
create(
const
AChar
* name = 0);
121
bool
is_valid();
127
bool
wait(
const
TimePeriod
& timeout);
132
bool
wait();
136
void
signal();
140
void
reset();
141
146
void
*
get
()
const
{
return
event_; }
147
148
private
:
149
Event
(
const
Event
&);
150
Event
& operator = (
const
Event
&);
151
152
private
:
153
void
* event_;
154
};
155
156
161
class
CMREXD
ThreadContext
162
{
163
public
:
164
ThreadContext
();
165
~
ThreadContext
();
166
167
public
:
172
void
* get_value();
178
bool
set_value(
void
* v);
179
180
private
:
181
unsigned
long
tls_;
182
//
183
// Ensure false at static init
184
//
185
bool
is_valid_;
186
public
:
190
bool
is_valid()
const
;
194
bool
isValid()
const
;
198
bool
is_used()
const
;
202
bool
isUsed()
const
;
203
};
204
};
205
206
#endif
207
commore::Thread::Impl
Definition:
Thread.cpp:216
commore::TimePeriod
Definition:
Time.h:21
Commore.h
commore::Thread
Definition:
Thread.h:18
commore::AChar
char AChar
Definition:
Type.h:65
CMREXD
#define CMREXD
Definition:
Compiler.h:22
AutoRef.h
commore::Thread::Thread
Thread()
Definition:
Thread.h:23
commore::Event
Definition:
Thread.h:96
commore::ThreadContext
Definition:
Thread.h:161
commore
Thread.h
Generated on Thu Dec 1 2016 16:59:18 for commore by
1.8.7