openMSX
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
openmsx::CliConnection Class Referenceabstract

#include <CliConnection.hh>

Inheritance diagram for openmsx::CliConnection:
Inheritance graph
[legend]
Collaboration diagram for openmsx::CliConnection:
Collaboration graph
[legend]

Public Member Functions

void setUpdateEnable (CliComm::UpdateType type, bool value)
 
bool getUpdateEnable (CliComm::UpdateType type) const
 
void start ()
 Starts the helper thread.
 
- Public Member Functions inherited from openmsx::CliListener
 CliListener (const CliListener &)=delete
 
 CliListener (CliListener &&)=delete
 
CliListeneroperator= (const CliListener &)=delete
 
CliListeneroperator= (CliListener &&)=delete
 
virtual ~CliListener ()=default
 

Protected Member Functions

 CliConnection (CommandController &commandController, EventDistributor &eventDistributor)
 
 ~CliConnection () override
 
virtual void output (std::string_view message)=0
 
void end ()
 End this connection by sending the closing tag and then closing the stream.
 
virtual void close ()=0
 Close the connection.
 
void startOutput ()
 Send opening XML tag, should be called exactly once by a subclass shortly after opening a connection.
 
- Protected Member Functions inherited from openmsx::CliListener
 CliListener ()=default
 

Protected Attributes

AdhocCliCommParser parser
 
Poller poller
 

Detailed Description

Definition at line 23 of file CliConnection.hh.

Constructor & Destructor Documentation

◆ CliConnection()

openmsx::CliConnection::CliConnection ( CommandController commandController,
EventDistributor eventDistributor 
)
protected

Definition at line 32 of file CliConnection.cc.

◆ ~CliConnection()

openmsx::CliConnection::~CliConnection ( )
overrideprotected

Member Function Documentation

◆ close()

virtual void openmsx::CliConnection::close ( )
protectedpure virtual

Close the connection.

After this method is called, calls to output() should be ignored.

Referenced by end().

◆ end()

void openmsx::CliConnection::end ( )
protected

End this connection by sending the closing tag and then closing the stream.

Subclasses should call this method at the start of their destructor.

Definition at line 85 of file CliConnection.cc.

References openmsx::Poller::abort(), close(), output(), and poller.

Referenced by openmsx::SocketConnection::~SocketConnection(), and openmsx::StdioConnection::~StdioConnection().

◆ getUpdateEnable()

bool openmsx::CliConnection::getUpdateEnable ( CliComm::UpdateType  type) const
inline

Definition at line 29 of file CliConnection.hh.

◆ output()

virtual void openmsx::CliConnection::output ( std::string_view  message)
protectedpure virtual

Implemented in openmsx::StdioConnection, and openmsx::SocketConnection.

Referenced by end(), and startOutput().

◆ setUpdateEnable()

void openmsx::CliConnection::setUpdateEnable ( CliComm::UpdateType  type,
bool  value 
)
inline

Definition at line 26 of file CliConnection.hh.

◆ start()

void openmsx::CliConnection::start ( )

Starts the helper thread.

Called when this CliConnection is added to GlobalCliComm (and after it's allowed to respond to external commands). Subclasses should themself send the opening tag (startOutput()).

Definition at line 80 of file CliConnection.cc.

◆ startOutput()

void openmsx::CliConnection::startOutput ( )
protected

Send opening XML tag, should be called exactly once by a subclass shortly after opening a connection.

Cannot be implemented in the base class because some subclasses (want to send data before this tag).

Definition at line 75 of file CliConnection.cc.

References output().

Referenced by openmsx::StdioConnection::StdioConnection().

Member Data Documentation

◆ parser

AdhocCliCommParser openmsx::CliConnection::parser
protected

Definition at line 65 of file CliConnection.hh.

◆ poller

Poller openmsx::CliConnection::poller
protected

Definition at line 66 of file CliConnection.hh.

Referenced by end(), and openmsx::SocketConnection::output().


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