7#ifndef WATCHED_THREAD_H
8#define WATCHED_THREAD_H
12#include <boost/shared_ptr.hpp>
83 void start(
const std::function<
void()>& thread_main);
87 return (thread_ != 0);
103 void setError(
const std::string& error_msg);
117 void setErrorInternal(
const std::string& error_msg);
120 std::string last_error_;
Provides an IO "ready" semaphore for use with select() or poll() WatchSocket exposes a single open fi...
Provides a thread and controls for monitoring its activities.
WatchedThread()
Constructor.
void start(const std::function< void()> &thread_main)
Creates and runs the thread.
int getWatchFd(WatchType watch_type)
Fetches the fd of a watch socket.
bool shouldTerminate()
Checks if the thread should terminate.
void markReady(WatchType watch_type)
Sets a watch socket state to ready.
bool isReady(WatchType watch_type)
Indicates if a watch socket state is ready.
std::string getLastError()
Fetches the error message text for the most recent error.
void clearReady(WatchType watch_type)
Sets a watch socket state to not ready.
bool isRunning()
Returns true if the thread is running.
virtual ~WatchedThread()
Virtual destructor.
WatchType
Enumerates the list of watch sockets used to mark events These are used as arguments to watch socket ...
void stop()
Terminates the thread.
void setError(const std::string &error_msg)
Sets the error state.
boost::shared_ptr< std::thread > ThreadPtr
Thread pointer type.
boost::shared_ptr< WatchedThread > WatchedThreadPtr
Defines a pointer to a WatchedThread.
Defines the logger used by the top-level component of kea-lfc.
Defines the class, WatchSocket.