winss
Public Member Functions | List of all members
winss::Control Class Reference

Orchestrates control. More...

#include <control.hpp>

Public Member Functions

 Control (winss::NotOwningPtr< winss::WaitMultiplexer > multiplexer, DWORD timeout=INFINITE, int timeout_exit_code=1, bool finish_all=true)
 Control constructor. More...
 
 Control (const Control &)=delete
 No copy. More...
 
 Control (Control &&)=delete
 No move. More...
 
bool IsStarted () const
 Gets if control has started. More...
 
void Add (winss::NotOwningPtr< ControlItem > item)
 Add a control item. More...
 
void Ready (std::string name)
 Mark a control item as ready. More...
 
void Remove (std::string name)
 Remove a control item. More...
 
int Start ()
 Starts the orchestration. More...
 
Controloperator= (const Control &)=delete
 No copy. More...
 
Controloperator= (Control &&)=delete
 No move. More...
 

Detailed Description

Orchestrates control.

Control is used for the supervisor and svscan. This is to reuse the orchestration logic.

Constructor & Destructor Documentation

winss::Control::Control ( winss::NotOwningPtr< winss::WaitMultiplexer multiplexer,
DWORD  timeout = INFINITE,
int  timeout_exit_code = 1,
bool  finish_all = true 
)
explicit

Control constructor.

Parameters
multiplexerThe shared multiplexer.
timeoutOrchestration timeout.
timeout_exit_codeexit code for timeout.
finish_allIf all control items must finish. \

References winss::WaitMultiplexer::AddInitCallback(), winss::WaitMultiplexer::AddStopCallback(), winss::WaitMultiplexer::AddTimeoutCallback(), winss::WaitMultiplexer::RemoveTimeoutCallback(), and winss::WaitMultiplexer::Stop().

winss::Control::Control ( const Control )
delete

No copy.

winss::Control::Control ( Control &&  )
delete

No move.

Member Function Documentation

void winss::Control::Add ( winss::NotOwningPtr< ControlItem item)

Add a control item.

Parameters
[in]itemThe item to add to control.

References winss::WaitMultiplexer::AddInitCallback(), winss::ControlItem::GetName(), and winss::ControlItem::Init().

Referenced by winss::OutboundControlItem::OutboundControlItem().

bool winss::Control::IsStarted ( ) const

Gets if control has started.

Returns
True if started otherwise false.
Control& winss::Control::operator= ( const Control )
delete

No copy.

Control& winss::Control::operator= ( Control &&  )
delete

No move.

void winss::Control::Ready ( std::string  name)

Mark a control item as ready.

Parameters
[in]nameThe name of the control item.
void winss::Control::Remove ( std::string  name)

Remove a control item.

Parameters
[in]nameThe name of the control item.

References winss::WaitMultiplexer::Stop().

int winss::Control::Start ( )

Starts the orchestration.

References winss::WaitMultiplexer::Start().


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