OpenWalnut
1.4.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
src
core
common
WThreadedFunction.cpp
1
//---------------------------------------------------------------------------
2
//
3
// Project: OpenWalnut ( http://www.openwalnut.org )
4
//
5
// Copyright 2009 OpenWalnut Community, BSV@Uni-Leipzig and CNCF@MPI-CBS
6
// For more information see http://www.openwalnut.org/copying
7
//
8
// This file is part of OpenWalnut.
9
//
10
// OpenWalnut is free software: you can redistribute it and/or modify
11
// it under the terms of the GNU Lesser General Public License as published by
12
// the Free Software Foundation, either version 3 of the License, or
13
// (at your option) any later version.
14
//
15
// OpenWalnut is distributed in the hope that it will be useful,
16
// but WITHOUT ANY WARRANTY; without even the implied warranty of
17
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
// GNU Lesser General Public License for more details.
19
//
20
// You should have received a copy of the GNU Lesser General Public License
21
// along with OpenWalnut. If not, see <http://www.gnu.org/licenses/>.
22
//
23
//---------------------------------------------------------------------------
24
25
#include "WThreadedFunction.h"
26
27
WThreadedFunctionBase::WThreadedFunctionBase
()
28
: m_doneCondition( new
WCondition
),
29
m_exceptionSignal(),
30
m_status()
31
{
32
// set initial status
33
m_status
.
getWriteTicket
()->get() = W_THREADS_INITIALIZED;
34
}
35
36
WThreadedFunctionBase::~WThreadedFunctionBase
()
37
{
38
m_exceptionSignal
.disconnect_all_slots();
39
}
40
41
WThreadedFunctionStatus
WThreadedFunctionBase::status
()
42
{
43
return
m_status
.
getReadTicket
()->get();
44
}
45
46
boost::shared_ptr< WCondition >
WThreadedFunctionBase::getThreadsDoneCondition
()
47
{
48
return
m_doneCondition
;
49
}
50
51
void
WThreadedFunctionBase::subscribeExceptionSignal
(
ExceptionFunction
func )
52
{
53
if
( func )
54
{
55
m_exceptionSignal
.connect( func );
56
}
57
}
Generated by
1.8.1.2