Main Page Namespace List Class Hierarchy Compound List File List Namespace Members Compound Members File Members Related Pages

# cgicc::CgiInput Class Reference

Class that abstracts a data source. More...

`#include <cgicc/CgiInput.h>`

List of all members.

## Public Methods
Constructor and Destructor
| CgiInput ()
| Constructor. More...
| CgiInput (const CgiInput &input)
| Copy constructor. More...
virtual | ~CgiInput ()
| Destructor. More...
Overloaded Operators
bool | operator== (const CgiInput &) const
| Compare two CgiInput objects for equality. More...
bool | operator!= (const CgiInput &input) const
| Compare two CgiInput objects for inequality. More...
CgiInput & | operator= (const CgiInput &)
| Assign one CgiInput to another. More...
Data Sources
virtual size_t | read (char *data, size_t length)
| Read data from a data source. More...
virtual std::string | getenv (const char *varName)
| Query the value of an environment variable. More...

## Detailed Description

Class that abstracts a data source.

The `CgiInput` class is an abstraction for all input data to the CGI application. This allows input data to come from something other than standard input (cin). This is useful, in fact necessary, when using cgicc with FastCgi. Library users wishing to exploit this functionality should create a subclass and override the `read` and `getenv` methods.

Definition at line 56 of file CgiInput.h.

## Constructor & Destructor Documentation

cgicc::CgiInput::CgiInput | ( |  | ) | `[inline]`

| Constructor. Create a new CgiInput object Definition at line 71 of file CgiInput.h.

cgicc::CgiInput::CgiInput | ( | const CgiInput & | input | ) | `[inline]`

  | Copy constructor. If you subclass CgiInput, you must overload operator= Parameters:
  input | The CgiInput object to copy
Definition at line 82 of file CgiInput.h.

virtual cgicc::CgiInput::~CgiInput | ( |  | ) | `[virtual]`

| Destructor. Delete this CgiInput object

## Member Function Documentation

virtual std:: string cgicc::CgiInput::getenv | ( | const char * | varName | ) | `[virtual]`

  | Query the value of an environment variable. In the default implementation, this is a wrapper for std::getenv() Parameters:
  varName | The name of an environment variable
Returns: The value of the requested environment variable, or an empty string if not found.

bool cgicc::CgiInput::operator!= | ( | const CgiInput & | input | ) | const`[inline]`

  | Compare two CgiInput objects for inequality. In the default implementation all CgiInput objects are equal Parameters:
  input | The CgiInput object to compare to this one
Returns: `false` Definition at line 118 of file CgiInput.h.

CgiInput& cgicc::CgiInput::operator= | ( | const CgiInput & |  | ) | `[inline]`

  | Assign one CgiInput to another. Does nothing in the default implementation Parameters:
  input | The CgiInput object to copy
Returns: A reference to this. Definition at line 129 of file CgiInput.h.

bool cgicc::CgiInput::operator== | ( | const CgiInput & |  | ) | const`[inline]`

  | Compare two CgiInput objects for equality. In the default implementation all CgiInput objects are equal Parameters:
  input | The CgiInput object to compare to this one
Returns: `true` Definition at line 107 of file CgiInput.h.

virtual size_t cgicc::CgiInput::read | ( | char * | data,
|  | size_t | length
| ) | `[virtual]`

  | Read data from a data source. In the default implementation, this is a wrapper for `cin.read()` Parameters:
  data | The target buffer
  length | The number of characters to read
Returns: The number of characters read

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

- CgiInput.h