OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
InstanceTaskExecvp Class Reference

#include <instance_task.h>

Inheritance diagram for InstanceTaskExecvp:
Collaboration diagram for InstanceTaskExecvp:

Public Member Functions

 InstanceTaskExecvp (const std::string &name, const std::string &cmd, int cmd_type, EventManager *evm)
 
bool Run ()
 
void Stop ()
 
void Terminate ()
 
bool IsSetup ()
 
pid_t pid () const
 
void set_cmd (std::string cmd)
 
const std::string & cmd () const
 
int cmd_type () const
 
void set_pipe_stdout (bool pipe)
 
- Public Member Functions inherited from InstanceTask
 InstanceTask ()
 
virtual ~InstanceTask ()
 
bool is_running () const
 
time_t start_time () const
 
void set_on_data_cb (OnDataCallback cb)
 
void set_on_exit_cb (OnExitCallback cb)
 
int incr_reattempts ()
 
int reattempts ()
 

Static Public Attributes

static const size_t kBufLen = 4096
 

Private Member Functions

void ReadData (const boost::system::error_code &ec, size_t read_bytes)
 

Private Attributes

const std::string name_
 
std::string cmd_
 
boost::asio::posix::stream_descriptor input_
 
bool setup_done_
 
char rx_buff_ [kBufLen]
 
pid_t pid_
 
int cmd_type_
 
bool pipe_stdout_
 

Additional Inherited Members

- Public Types inherited from InstanceTask
typedef boost::function< void(InstanceTask
*task, const std::string &msg)> 
OnDataCallback
 
typedef boost::function< void(InstanceTask
*task, const
boost::system::error_code &ec)> 
OnExitCallback
 
- Protected Attributes inherited from InstanceTask
bool is_running_
 
time_t start_time_
 
int reattempts_
 
OnDataCallback on_data_cb_
 
OnExitCallback on_exit_cb_
 

Detailed Description

Definition at line 71 of file instance_task.h.

Constructor & Destructor Documentation

InstanceTaskExecvp::InstanceTaskExecvp ( const std::string &  name,
const std::string &  cmd,
int  cmd_type,
EventManager evm 
)

Definition at line 14 of file instance_task.cc.

Member Function Documentation

const std::string& InstanceTaskExecvp::cmd ( ) const
inlinevirtual

Implements InstanceTask.

Definition at line 91 of file instance_task.h.

int InstanceTaskExecvp::cmd_type ( ) const
inlinevirtual

Implements InstanceTask.

Definition at line 95 of file instance_task.h.

bool InstanceTaskExecvp::IsSetup ( )
virtual

Implements InstanceTask.

Definition at line 59 of file instance_task.cc.

pid_t InstanceTaskExecvp::pid ( ) const
inlinevirtual

Implements InstanceTask.

Definition at line 83 of file instance_task.h.

void InstanceTaskExecvp::ReadData ( const boost::system::error_code &  ec,
size_t  read_bytes 
)
private

Definition at line 21 of file instance_task.cc.

bool InstanceTaskExecvp::Run ( void  )
virtual

Implements InstanceTask.

Definition at line 71 of file instance_task.cc.

Here is the call graph for this function:

void InstanceTaskExecvp::set_cmd ( std::string  cmd)
inline

Definition at line 87 of file instance_task.h.

Here is the call graph for this function:

void InstanceTaskExecvp::set_pipe_stdout ( bool  pipe)
inline

Definition at line 99 of file instance_task.h.

void InstanceTaskExecvp::Stop ( )
virtual

Implements InstanceTask.

Definition at line 49 of file instance_task.cc.

void InstanceTaskExecvp::Terminate ( )
virtual

Implements InstanceTask.

Definition at line 54 of file instance_task.cc.

Member Data Documentation

std::string InstanceTaskExecvp::cmd_
private

Definition at line 108 of file instance_task.h.

int InstanceTaskExecvp::cmd_type_
private

Definition at line 114 of file instance_task.h.

boost::asio::posix::stream_descriptor InstanceTaskExecvp::input_
private

Definition at line 109 of file instance_task.h.

const size_t InstanceTaskExecvp::kBufLen = 4096
static

Definition at line 73 of file instance_task.h.

const std::string InstanceTaskExecvp::name_
private

Definition at line 107 of file instance_task.h.

pid_t InstanceTaskExecvp::pid_
private

Definition at line 113 of file instance_task.h.

bool InstanceTaskExecvp::pipe_stdout_
private

Definition at line 115 of file instance_task.h.

char InstanceTaskExecvp::rx_buff_[kBufLen]
private

Definition at line 111 of file instance_task.h.

bool InstanceTaskExecvp::setup_done_
private

Definition at line 110 of file instance_task.h.


The documentation for this class was generated from the following files: