Files
mosh/completeterminal.hpp
T
2011-08-13 17:10:19 -04:00

35 lines
959 B
C++

#ifndef COMPLETE_TERMINAL_HPP
#define COMPLETE_TERMINAL_HPP
#include "parser.hpp"
#include "terminal.hpp"
/* This class represents the complete terminal -- a UTF8Parser feeding Actions to an Emulator. */
namespace Terminal {
class Complete {
private:
Parser::UTF8Parser parser;
Terminal::Emulator terminal;
public:
Complete( size_t width, size_t height ) : parser(), terminal( width, height ) {}
std::string act( const std::string &str );
std::string act( const Parser::Action *act );
std::string open( void ) { return terminal.open(); }
std::string close( void ) { return terminal.close(); }
const Framebuffer & get_fb( void ) const { return terminal.get_fb(); }
/* interface for Network::Transport */
void subtract( const Complete * ) {}
std::string diff_from( const Complete &existing );
void apply_string( std::string diff );
bool operator==( const Complete &x ) const;
};
}
#endif