Simple Geolocalization and Course Transmission Protocol (SGCTP)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Pages
SGCTP::CTransmit_File Class Reference

Save/load SGCTP payload to/from a file. More...

#include <sgctp/transmit_file.hpp>

Inheritance diagram for SGCTP::CTransmit_File:
SGCTP::CTransmit SGCTP::CParameters

Public Member Functions

 CTransmit_File ()
 
virtual ~CTransmit_File ()
 
virtual ETransmitType getTransmitType ()
 Return the transmission type. More...
 
virtual int alloc ()
 Allocate resources required for data transmission (un-/serialization) More...
 
- Public Member Functions inherited from SGCTP::CTransmit
 CTransmit ()
 
virtual ~CTransmit ()
 
virtual void setTimeout (int _iDescriptor, double _fdTimeout)
 Set the transmission (send/receive) timeout, in seconds. More...
 
bool hasData ()
 Return whether data are available (in the transmission buffer) More...
 
virtual bool hasPayload ()
 Return whether a payload object has been successfully associated/initialized. More...
 
virtual void resetPayload ()
 Reset (clear) the associated payload object. More...
 
virtual int initPayload (uint8_t _ui8tPayloadType=PAYLOAD_RAW)
 Associate and initialize payload object. More...
 
virtual int allocPayload ()
 Allocate resources required for payload (un-)serialization. More...
 
virtual void freePayload ()
 Free resources required for payload (un-)serialization. More...
 
virtual EPayloadType getPayloadType ()
 Return the payload type. More...
 
virtual int serialize (int _iDescriptor, const CData &_roData)
 Serialize the given SGCTP data to the given descriptor. More...
 
virtual int unserialize (int _iDescriptor, CData *_poData, int _iMaxSize=0)
 Unserialize the SGCTP data from the given descriptor. More...
 
virtual void free ()
 Free resources required for data transmission (un-/serialization) More...
 
- Public Member Functions inherited from SGCTP::CParameters
 CParameters ()
 
 ~CParameters ()
 
CPrincipalusePrincipal ()
 Return the principal (pointer) More...
 
void reset ()
 Reset (undefines) all data. More...
 
void setSocketAddress (struct sockaddr *_ptSockaddr, socklen_t *_ptSocklenT)
 Set the network socket address (pointers to existing variables) More...
 
void setPrincipalsPath (const char *_pcPrincipalsPath)
 Set the principals (database) path (pointer to existing variable) More...
 
void setPasswordSalt (const unsigned char *_pucPasswordSalt)
 Set the cryptographic password salt/nonce (pointer to existing variable) More...
 

Protected Member Functions

virtual int send (int _iFileDescriptor, const void *_pBuffer, int _iSize, int _iFlags)
 Send data to the given descriptor. More...
 
virtual int recv (int _iFileDescriptor, void *_pBuffer, int _iSize, int _iFlags)
 Receive data from the given descriptor. More...
 
- Protected Member Functions inherited from SGCTP::CTransmit
int allocBuffer ()
 Allocate resources required for data transmission. More...
 
int recvBuffer (int _iDescriptor, int _iSize)
 Receive data from the given descriptor (and push them on the data buffer) More...
 
const unsigned char * pullBuffer (int _iSize)
 Pull data from the transmission buffer. More...
 
void flushBuffer ()
 Flush the data buffer (from pulled data) More...
 
void resetBuffer ()
 Reset the data buffer (clear all data) More...
 

Additional Inherited Members

- Public Types inherited from SGCTP::CTransmit
enum  ETransmitType { TRANSMIT_UDP = 0, TRANSMIT_TCP = 1, TRANSMIT_FILE = 128, TRANSMIT_UNDEFINED = 255 }
 Transmission types. More...
 
enum  EPayloadType { PAYLOAD_RAW = 0, PAYLOAD_AES128 = 1, PAYLOAD_UNDEFINED = 255 }
 Payload types. More...
 
- Static Public Attributes inherited from SGCTP::CTransmit
static const uint8_t PROTOCOL_VERSION = 1
 Protocol version. More...
 
- Protected Attributes inherited from SGCTP::CTransmit
unsigned char * pucBuffer
 Transmission buffer. More...
 
int iBufferSize
 Transmission buffer size. More...
 
int iBufferDataStart
 Transmission buffer actual data start offset. More...
 
int iBufferDataEnd
 Transmission buffer actual data end offset. More...
 
double fdTimeout
 Transmission timeout, in seconds. More...
 
CPayloadpoPayload
 Associated payload object. More...
 
EPayloadType ePayloadType
 Associated payload type. More...
 
- Protected Attributes inherited from SGCTP::CParameters
struct sockaddr * ptSockaddr
 Network socket address (pointer to existing variable) More...
 
socklen_t * ptSocklenT
 Network socket address length (pointer to existing variable) More...
 
const char * pcPrincipalsPath
 Principals (database) path (pointer to existing variable) More...
 
CPrincipal oPrincipal
 Principal. More...
 
const unsigned char * pucPasswordSalt
 Cryptographic password salt/nonce (pointer to existing variable) More...
 

Detailed Description

Save/load SGCTP payload to/from a file.

This class allows to save/load a SGCTP payload to/from a file.

Definition at line 35 of file transmit_file.hpp.

Constructor & Destructor Documentation

SGCTP::CTransmit_File::CTransmit_File ( )
inline

Definition at line 43 of file transmit_file.hpp.

virtual SGCTP::CTransmit_File::~CTransmit_File ( )
inlinevirtual

Definition at line 46 of file transmit_file.hpp.

Member Function Documentation

int CTransmit_File::send ( int  _iDescriptor,
const void *  _pBuffer,
int  _iSize,
int  _iFlags 
)
protectedvirtual

Send data to the given descriptor.

Parameters
[in]_iDescriptorFile/socket/... descriptor
[in]_pBufferPointer to buffer (containing data to be sent)
[in]_iSizeSize of data to send
[in]_iFlagsDescriptor-specific control flags
Returns
(Positive) Quantity of data actually sent; Negative error code in case of error

Implements SGCTP::CTransmit.

Definition at line 35 of file transmit_file.cpp.

int CTransmit_File::recv ( int  _iDescriptor,
void *  _pBuffer,
int  _iSize,
int  _iFlags 
)
protectedvirtual

Receive data from the given descriptor.

Parameters
[in]_iDescriptorFile/socket/... descriptor
[in]_pBufferPointer to buffer (to store received data)
[in]_iSizeSize of data to receive
[in]_iFlagsDescriptor-specific control flags
Returns
(Positive) Quantity of data actually received; Negative error code in case of error

Implements SGCTP::CTransmit.

Definition at line 47 of file transmit_file.cpp.

virtual ETransmitType SGCTP::CTransmit_File::getTransmitType ( )
inlinevirtual

Return the transmission type.

Implements SGCTP::CTransmit.

Definition at line 66 of file transmit_file.hpp.

int CTransmit_File::alloc ( )
virtual

Allocate resources required for data transmission (un-/serialization)

Returns
Negative error code in case of error, zero otherwise

Implements SGCTP::CTransmit.

Definition at line 59 of file transmit_file.cpp.


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