//*****************************************************************************
// RCF - Remote Call Framework
// Copyright (c) 2005. All rights reserved.
// Developed by Jarl Lindrud.
// Contact: jlindrud@hotmail.com .
//*****************************************************************************
#ifndef INCLUDE_RCF_SERVERTASK_HPP
#define INCLUDE_RCF_SERVERTASK_HPP
#include <utility>
#include <vector>
#include <boost/function.hpp>
#include <boost/shared_ptr.hpp>
#include <RCF/ThreadLibrary.hpp>
namespace RCF {
typedef boost::function2<bool, int, const volatile bool &> Task;
typedef boost::function0<void> StopFunctor;
typedef boost::shared_ptr<Thread> ThreadPtr;
class TaskEntry
{
public:
TaskEntry(Task task, StopFunctor stopFunctor) : mTask(task), mStopFunctor(stopFunctor) {}
Task mTask;
StopFunctor mStopFunctor;
ThreadPtr mThreadPtr;
};
typedef std::vector<TaskEntry> TaskEntries;
} // namespace RCF
#endif // ! INCLUDE_RCF_SERVERTASK_HPP