Ninja
Classes | Public Member Functions | List of all members
CommandRunner Struct Referenceabstract

CommandRunner is an interface that wraps running the build subcommands. More...

#include <build.h>

Inheritance diagram for CommandRunner:
Inheritance graph
[legend]

Classes

struct  Result
 The result of waiting for a command. More...
 

Public Member Functions

virtual void Abort ()
 
virtual bool CanRunMore () const =0
 
virtual std::vector< Edge * > GetActiveEdges ()
 
virtual bool StartCommand (Edge *edge)=0
 
virtual bool WaitForCommand (Result *result)=0
 Wait for a command to complete, or return false if interrupted. More...
 
virtual ~CommandRunner ()
 

Detailed Description

CommandRunner is an interface that wraps running the build subcommands.

This allows tests to abstract out running commands. RealCommandRunner is an implementation that actually runs commands.

Definition at line 139 of file build.h.

Constructor & Destructor Documentation

◆ ~CommandRunner()

virtual CommandRunner::~CommandRunner ( )
inlinevirtual

Definition at line 140 of file build.h.

Member Function Documentation

◆ Abort()

virtual void CommandRunner::Abort ( )
inlinevirtual

Reimplemented in RealCommandRunner, and FakeCommandRunner.

Definition at line 156 of file build.h.

◆ CanRunMore()

virtual bool CommandRunner::CanRunMore ( ) const
pure virtual

Implemented in RealCommandRunner, and FakeCommandRunner.

◆ GetActiveEdges()

virtual std::vector<Edge*> CommandRunner::GetActiveEdges ( )
inlinevirtual

Reimplemented in RealCommandRunner, and FakeCommandRunner.

Definition at line 155 of file build.h.

◆ StartCommand()

virtual bool CommandRunner::StartCommand ( Edge edge)
pure virtual

Implemented in RealCommandRunner, and FakeCommandRunner.

◆ WaitForCommand()

virtual bool CommandRunner::WaitForCommand ( Result result)
pure virtual

Wait for a command to complete, or return false if interrupted.

Implemented in RealCommandRunner, and FakeCommandRunner.


The documentation for this struct was generated from the following file: