rasdaman complete source
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Attributes | List of all members
rnp::Rnp Class Referenceabstract

#include <rnprotocol.hh>

Inheritance diagram for rnp::Rnp:
RnpRasserver

Public Types

enum  Endianness { bigEndian = 0, littleEndian = 1 }
 
enum  FragmentType {
  fgt_None = 0, fgt_Command, fgt_OkAnswer, fgt_Error,
  fgt_DiscardedRequest, fgt_HowMany
}
 
enum  DataType {
  dtt_None = 0, dtt_Asciiz = 1, dtt_Int32 = 2, dtt_Float32 = 3,
  dtt_Double64 = 4, dtt_Opaque = 5, dtt_NullPtr = 6, dtt_HowMany
}
 
enum  ErrorType {
  ert_Unknown = 0, ert_StlException, ert_AkgSerializable, ert_Other,
  ert_HowMany
}
 
enum  ErrorParam {
  erp_None = 0, erp_whatValue = 1, erp_Key = 2, erp_Value = 3,
  erp_HowMany
}
 

Public Member Functions

virtual const char * getParameterTypeName (RnpQuark) const =0 throw ()
 
virtual const char * getCommandName (RnpQuark) const =0 throw ()
 

Static Public Member Functions

static const char * getFragmentTypeName (RnpQuark) throw ()
 Functions to get the names of the various elements. More...
 
static const char * getDataTypeName (RnpQuark) throw ()
 
static const char * getEndiannessName (Endianness) throw ()
 
static const char * getErrorTypeName (RnpQuark) throw ()
 
static const char * getErrorParamName (RnpQuark) throw ()
 
static RnpQuark swapBytes (RnpQuark) throw ()
 Helper functions for endianness. More...
 
static Endianness detectHostEndianness () throw ()
 

Static Public Attributes

static const RnpQuark rnpProtocolId
 

Static Protected Attributes

static const char * undefValue
 Arrays containing the names of the various elements. More...
 
static const char * endiannessNames [2]
 
static const char * fragmentTypeNames [fgt_HowMany]
 
static const char * dataTypeNames [dtt_HowMany]
 
static const char * errorTypeNames [ert_HowMany]
 
static const char * errorParamNames [erp_HowMany]
 

Detailed Description

Class Rnp contains definitions and general helper functions for RNP

Member Function Documentation

static Endianness rnp::Rnp::detectHostEndianness ( )
throw (
)
static
virtual const char* rnp::Rnp::getCommandName ( RnpQuark  ) const
throw (
)
pure virtual

Implemented in RnpRasserver.

static const char* rnp::Rnp::getDataTypeName ( RnpQuark  )
throw (
)
static
static const char* rnp::Rnp::getEndiannessName ( Endianness  )
throw (
)
static
static const char* rnp::Rnp::getErrorParamName ( RnpQuark  )
throw (
)
static
static const char* rnp::Rnp::getErrorTypeName ( RnpQuark  )
throw (
)
static
static const char* rnp::Rnp::getFragmentTypeName ( RnpQuark  )
throw (
)
static

Functions to get the names of the various elements.

virtual const char* rnp::Rnp::getParameterTypeName ( RnpQuark  ) const
throw (
)
pure virtual

Every server has his own command set, each with parameters Define your own functions to get names for this elements

Implemented in RnpRasserver.

static RnpQuark rnp::Rnp::swapBytes ( RnpQuark  )
throw (
)
static

Helper functions for endianness.

Member Data Documentation

const char* rnp::Rnp::dataTypeNames[dtt_HowMany]
staticprotected
const char* rnp::Rnp::endiannessNames[2]
staticprotected
const char* rnp::Rnp::errorParamNames[erp_HowMany]
staticprotected
const char* rnp::Rnp::errorTypeNames[ert_HowMany]
staticprotected
const char* rnp::Rnp::fragmentTypeNames[fgt_HowMany]
staticprotected
const RnpQuark rnp::Rnp::rnpProtocolId
static

The 32-bit protocol ID. value 25112001, stored always little endian. In big endian this is 0xc12d7f01.

const char* rnp::Rnp::undefValue
staticprotected

Arrays containing the names of the various elements.


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