HCE project C++ developers source code library  1.1.1
HCE project developer library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TaskWaitObject.cpp
Go to the documentation of this file.
1 #include "TaskWaitObject.hpp"
2 
3 namespace HCE
4 {
5  using namespace HCE::exception;
6  Poco::SharedPtr<DataBase> TaskWaitObject::wait()
7  {
8  mutex.lock();
9  mutex.unlock();
10  if(! _exception.isNull())
11  {
12  throw (*_exception);
13  }
14  return _outData;
15  }
16 
17  void TaskWaitObject::setOutData(Poco::SharedPtr<DataBase> outData, TaskWaitObjectExeptionsType cause,
18  Poco::SharedPtr<ExceptionBase> internalException)
19  {
20  _outData = outData;
21  if(cause != HCECTE_DEFAULT && _exception.isNull())
22  {
23  _exception = Poco::SharedPtr<TaskComponentException>(new TaskComponentException("TASK_EXCEPTION", cause));
24  }
25  if(!internalException.isNull())
26  {
27  if(_exception.isNull())
28  {
29  _exception = Poco::SharedPtr<TaskComponentException>(new TaskComponentException("TASK_EXCEPTION", cause));
30  }
31  _exception->setInternalException(internalException);
32  }
33  mutex.unlock();
34  }
35 }