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 136 of file build.h.

Constructor & Destructor Documentation

◆ ~CommandRunner()

virtual CommandRunner::~CommandRunner ( )
inlinevirtual

Definition at line 137 of file build.h.

Member Function Documentation

◆ Abort()

virtual void CommandRunner::Abort ( )
inlinevirtual

Reimplemented in FakeCommandRunner, and RealCommandRunner.

Definition at line 153 of file build.h.

◆ CanRunMore()

virtual bool CommandRunner::CanRunMore ( ) const
pure virtual

Implemented in FakeCommandRunner, and RealCommandRunner.

◆ GetActiveEdges()

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

Reimplemented in FakeCommandRunner, and RealCommandRunner.

Definition at line 152 of file build.h.

◆ StartCommand()

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

Implemented in FakeCommandRunner, and RealCommandRunner.

◆ WaitForCommand()

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

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

Implemented in FakeCommandRunner, and RealCommandRunner.


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