Fork Vasum on GitHub Official Vasum Wiki on Tizen.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lxcpp::Console Class Referencefinal

#include <console.hpp>

+ Inheritance diagram for lxcpp::Console:

Public Member Functions

 Console (TerminalsConfig &terminals, unsigned int terminalNum=0)
 Launches the console on the current terminal. More...
 
 ~Console ()
 
void execute ()
 

Private Types

enum  ConsoleQuitReason : int { ConsoleQuitReason::NONE = 0, ConsoleQuitReason::USER = 1, ConsoleQuitReason::HUP = 2, ConsoleQuitReason::ERR = 3 }
 
enum  ConsoleChange : int { ConsoleChange::NEXT = 0, ConsoleChange::PREV = 1 }
 

Private Member Functions

void setupTTY ()
 
void restoreTTY ()
 
void resizePTY ()
 
void onPTY (int fd, cargo::ipc::epoll::Events events)
 
void onStdInput (int fd, cargo::ipc::epoll::Events events)
 
void onStdOutput (int fd, cargo::ipc::epoll::Events events)
 
void checkForError (cargo::ipc::epoll::Events events)
 
bool handleSpecial (char key)
 
void consoleChange (ConsoleChange direction)
 
int getCurrentFD () const
 
virtual void revert ()
 

Private Attributes

TerminalsConfigmTerminals
 
int mTerminalNum
 
bool mServiceMode
 
ConsoleQuitReason mQuitReason
 
cargo::ipc::epoll::EventPoll mEventPoll
 
utils::SignalFD mSignalFD
 
std::vector< std::pair< int,
struct::sigaction > > 
mSignalStates
 
struct termios mTTYState
 
char appToTerm [IO_BUFFER_SIZE]
 
int appToTermOffset
 
char termToApp [IO_BUFFER_SIZE]
 
int termToAppOffset
 

Static Private Attributes

static const int IO_BUFFER_SIZE = 1024
 

Member Enumeration Documentation

enum lxcpp::Console::ConsoleChange : int
strongprivate
Enumerator
NEXT 
PREV 
enum lxcpp::Console::ConsoleQuitReason : int
strongprivate
Enumerator
NONE 
USER 
HUP 
ERR 

Constructor & Destructor Documentation

lxcpp::Console::Console ( TerminalsConfig terminals,
unsigned int  terminalNum = 0 
)

Launches the console on the current terminal.

Parameters
terminalscontainer's terminals config
terminalNuminitial terminal to attach to
lxcpp::Console::~Console ( )

Member Function Documentation

void lxcpp::Console::checkForError ( cargo::ipc::epoll::Events  events)
private
void lxcpp::Console::consoleChange ( ConsoleChange  direction)
private
void lxcpp::Console::execute ( )
virtual

Implements lxcpp::Command.

int lxcpp::Console::getCurrentFD ( ) const
private
bool lxcpp::Console::handleSpecial ( char  key)
private
void lxcpp::Console::onPTY ( int  fd,
cargo::ipc::epoll::Events  events 
)
private
void lxcpp::Console::onStdInput ( int  fd,
cargo::ipc::epoll::Events  events 
)
private
void lxcpp::Console::onStdOutput ( int  fd,
cargo::ipc::epoll::Events  events 
)
private
void lxcpp::Console::resizePTY ( )
private
void lxcpp::Console::restoreTTY ( )
private
virtual void lxcpp::Command::revert ( )
inlinevirtualinherited
void lxcpp::Console::setupTTY ( )
private

Member Data Documentation

char lxcpp::Console::appToTerm[IO_BUFFER_SIZE]
private
int lxcpp::Console::appToTermOffset
private
const int lxcpp::Console::IO_BUFFER_SIZE = 1024
staticprivate
cargo::ipc::epoll::EventPoll lxcpp::Console::mEventPoll
private
ConsoleQuitReason lxcpp::Console::mQuitReason
private
bool lxcpp::Console::mServiceMode
private
utils::SignalFD lxcpp::Console::mSignalFD
private
std::vector<std::pair<int, struct ::sigaction> > lxcpp::Console::mSignalStates
private
int lxcpp::Console::mTerminalNum
private
TerminalsConfig& lxcpp::Console::mTerminals
private
struct termios lxcpp::Console::mTTYState
private
char lxcpp::Console::termToApp[IO_BUFFER_SIZE]
private
int lxcpp::Console::termToAppOffset
private

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