fixes for Ubuntu Oneiric (g++ 4.6.1, boost 1.46.1)
[senf.git] / senf / Utils / Termlib / Terminfo.hh
index 2413e66..52137fa 100644 (file)
@@ -1,24 +1,29 @@
 // $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>
 //
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; either version 2 of the License, or
-// (at your option) any later version.
+// The contents of this file are subject to the Fraunhofer FOKUS Public License
+// Version 1.0 (the "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at 
+// http://senf.berlios.de/license.html
 //
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
+// The Fraunhofer FOKUS Public License Version 1.0 is based on, 
+// but modifies the Mozilla Public License Version 1.1.
+// See the full license text for the amendments.
 //
-// You should have received a copy of the GNU General Public License
-// along with this program; if not, write to the
-// Free Software Foundation, Inc.,
-// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+// Software distributed under the License is distributed on an "AS IS" basis, 
+// WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 
+// for the specific language governing rights and limitations under the License.
+//
+// The Original Code is Fraunhofer FOKUS code.
+//
+// The Initial Developer of the Original Code is Fraunhofer-Gesellschaft e.V. 
+// (registered association), Hansastraße 27 c, 80686 Munich, Germany.
+// All Rights Reserved.
+//
+// Contributor(s):
+//   Stefan Bund <g0dil@berlios.de>
 
 /** \file
     \brief Terminfo public header */
@@ -36,7 +41,7 @@
 #include <senf/Utils/Exception.hh>
 
 //#include "Terminfo.mpp"
-///////////////////////////////hh.p////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 
 namespace senf {
 namespace term {
@@ -56,16 +61,16 @@ 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
@@ -90,11 +95,11 @@ namespace term {
                 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,
@@ -184,12 +189,12 @@ namespace term {
         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
@@ -199,7 +204,7 @@ namespace term {
         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,
@@ -208,7 +213,7 @@ namespace term {
                                         /**< 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
 
@@ -239,13 +244,13 @@ namespace term {
 
         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 */
@@ -275,7 +280,7 @@ namespace term {
         /** \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
@@ -311,10 +316,10 @@ namespace term {
 
         Keytable table_;
     };
-        
+
 }}
 
-///////////////////////////////hh.e////////////////////////////////////////
+//-/////////////////////////////////////////////////////////////////////////////////////////////////
 //#include "Terminfo.cci"
 //#include "Terminfo.ct"
 //#include "Terminfo.cti"