// $Id$
//
-// Copyright (C) 2009
+// Copyright (C) 2009
// Fraunhofer Institute for Open Communication Systems (FOKUS)
// Competence Center NETwork research (NET), St. Augustin, GERMANY
// Stefan Bund <g0dil@berlios.de>
#include <senf/Utils/Exception.hh>
//#include "Terminfo.mpp"
-///////////////////////////////hh.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
namespace senf {
namespace term {
*/
/** \brief Terminfo database entry
-
+
This class reads a single terminfo database entry and allows to access the terminfo
- properties.
-
- \ingroup terminfo_group
+ properties.
+
+ \ingroup terminfo_group
*/
class Terminfo
{
public:
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
// Types
/** \brief NoValue constant
CpiChangesRes, LpiChangesRes, BackspacesWithBs, CrtNoScrolling,
NoCorrectlyWorkingCr, GnuHasMetaKey, LinefeedIsNewline, HasHardwareTabs,
ReturnDoesClrEol };
-
+
/** \brief Boolean property names
\hideinitializer */
static char const * const BooleanNames[];
-
+
/** \brief Numeric terminfo properties */
enum Numeric {
Columns, InitTabs, Lines, LinesOfMemory, MagicCookieGlitch, PaddingBaudRate,
typedef boost::int16_t number_t; ///< Numeric terminfo property type
typedef char const* string_t; ///< String terminfo property type
- ///////////////////////////////////////////////////////////////////////////
-
+ //-////////////////////////////////////////////////////////////////////////
+
Terminfo();
explicit Terminfo(std::string const & term); ///< Load terminfo entry \a term
void load(std::string const & term); ///< Load terminfo entry \a term
-
+
bool getFlag(properties::Boolean p) const; ///< Get boolean property value
number_t getNumber(properties::Numeric p) const; ///< Get numeric property value
string_t getString(properties::String p) const; ///< Get string property value
bool hasProperty(properties::String p ) const; ///< \c true, if string property \a p exists
std::string formatString(properties::String p,
- number_t arg1=NoValue, number_t arg2=NoValue,
+ number_t arg1=NoValue, number_t arg2=NoValue,
number_t arg3=NoValue, number_t arg4=NoValue,
number_t arg5=NoValue, number_t arg6=NoValue,
number_t arg7=NoValue, number_t arg8=NoValue,
/**< Formats the string property \a p containing special
terminfo codes. Terminfo supports up to 9 parameters. */
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
void dump(std::ostream & os) const; ///< Dump a description of the terminfo entry
All keys are returned as keyboard code's. Values 0 to 255 represent ordinary ASCII
characters, larger values are special keys taken from the KeyCode \c enum
-
- \ingroup terminfo_group
+
+ \ingroup terminfo_group
*/
class KeyParser
{
public:
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
// Types
/** \brief Special keyboard key codes */
/** \brief Helper to convert uppercase char to Control key code */
static keycode_t Ctrl(char ch) { return ch-'@'; }
- ///////////////////////////////////////////////////////////////////////////
+ //-////////////////////////////////////////////////////////////////////////
KeyParser();
explicit KeyParser(Terminfo const & ti); ///< Load keymap information from \a ti
Keytable table_;
};
-
+
}}
-///////////////////////////////hh.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
//#include "Terminfo.cci"
//#include "Terminfo.ct"
//#include "Terminfo.cti"