tty

FBB::Tty(3bobcat)       Controls echoing of characters       FBB::Tty(3bobcat)



NAME
       FBB::Tty - Controls echoing of characters entered at the terminal

SYNOPSIS
       #include <bobcat/tty>
       Linking option: -lbobcat

DESCRIPTION
       Tty(3bobcat) objects can be used to control the echoing of characters
       entered at the terminal (usually at /dev/tty). Directly reading from
       /dev/tty allows programs to read information (e.g., passwords or pass
       phrases) even if the standard input stream is redirected to a file.
       Unless redirected, std::cin is connected to /dev/tty.

       Tty(3bobcat) objects may be used as stand-alone objects or (usually
       anonymous) Tty(3bobcat) objects may be inserted into or extracted from
       streams. When inserting or extracting objects the involved streams are
       not affected; only the echoing of characters entered at /dev/tty is
       manipulated.

       Tty(3bobcat)’s destructor does not reset the echo-state of /dev/tty to
       its original value. If that is required a Tty(3bobcat) object must be
       created first, calling its echo(Tty::RESET) member at the appropriate
       time.

NAMESPACE
       FBB
       All constructors, members, operators and manipulators, mentioned in
       this man-page, are defined in the namespace FBB.

INHERITS FROM
       -

ENUM
       The enum EchoType requests the type of echo-handling:

       o      RESET is used to reset /dev/tty’s state to the actual state when
              a Tty(3bobcat) object was constructed

       o      ON is used to activate echoing of characters entered at
              /dev/tty.

       o      OFF is used to suppress echoing of characters entered at
              /dev/tty.


CONSTRUCTORS
       o      Tty():
              The current state of /dev/tty is saved.

       o      Tty(EchoType type):
              The current state of /dev/tty is saved, and the object’s member
              echo(type) is called.


       Copy and move constructors (and assignment operators) are available.

OVERLOADED OPERATORS
       o      std::istream &operator>>(std::istream &in, Tty const &tty):
              The extraction operator does not affect in, but /dev/tty’s state
              is set according to the way the tty object was constructed.

       o      std::ostream &operator<<(std::ostream &out, Tty const &tty):
              The insertion operator does not affect out, but /dev/tty’s state
              is set according to the way the tty object was constructed.


MEMBER FUNCTION
       o      echo(EchoType type):
              /Dev/tty’s state is set according to the EchoType value that is
              passed to this member.


EXAMPLE
       #include <iostream>
       #include <string>

       #include <bobcat/tty>

       using namespace std;
       using namespace FBB;

       int main()
       {
           cout << "Enter some text (not echoed): " << Tty(Tty::OFF);
           string line;
           getline(cin, line);
           cout << "\n"
                   "You entered: `" << line << "’\n";

           cout << "Enter some text (echoed): ";
           getline(cin >> Tty(Tty::ON), line);
           cout << "You entered: `" << line << "’\n";
       }






FILES
       bobcat/tty - defines the class interface

SEE ALSO
       bobcat(7), onekey(3bobcat)

BUGS
       None Reported.

DISTRIBUTION FILES
       o      bobcat_5.00.02-x.dsc: detached signature;

       o      bobcat_5.00.02-x.tar.gz: source archive;

       o      bobcat_5.00.02-x_i386.changes: change log;

       o      libbobcat1_5.00.02-x_*.deb: debian package holding the
              libraries;

       o      libbobcat1-dev_5.00.02-x_*.deb: debian package holding the
              libraries, headers and manual pages;

       o      http://sourceforge.net/projects/bobcat: public archive location;


BOBCAT
       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

COPYRIGHT
       This is free software, distributed under the terms of the GNU General
       Public License (GPL).

AUTHOR
       Frank B. Brokken (f.b.brokken@rug.nl).

libbobcat-dev_5.00.02-x.tar.gz     2005-2019                 FBB::Tty(3bobcat)