Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

TelepatiPkg Class Reference

Classe virtuale per l'implementazione dei vari tipi di messaggi scambiati. More...

#include <TelepatiPkg.h>

Inheritance diagram for TelepatiPkg:

AckPkg AiboInfoPkg BreakTheLinePkg ByePkg CommandPkg CounterPkg DummyLedPkg DummyPkg HiPkg HiReplyPkg LeaderPkg LeaderReplyPkg OthHeadReadyPkg OthLegsReadyPkg TimeInfoPkg List of all members.

Public Member Functions

 TelepatiPkg ()
 Costruttore di default.
 TelepatiPkg (byte *ptr)
 Construisce un oggetto a partire dall'array di byte (message) rappresentante un altro oggetto.
virtual ~TelepatiPkg ()
 Distruttore di default.
virtual void setAibo (int a)
 Imposta il valore dell'aibo di destinazione.
virtual int getAibo ()
 Ritorna l'indice dell'Aibo di destinazione.
virtual pkg_type getType ()
 Ritorna il tipo di pacchetto.
virtual size_t getSize ()
 Ritorna la dimensione dell'array di byte.
virtual bool needConfirm ()
 Richiesta di conferma del package.
virtual unsigned short getSerial ()
 Ritorna il numero seriale del package.
virtual byte * getMsg ()=0
 Restituisce un array rappresentante l'oggetto.
virtual TelepatiPkgclone ()=0
 Crea un clone dell'oggetto su cui viene chimato.
byte * createStdHeader (size_t pkgDataSize)
 crea l'header standard del pacchetto.

Static Public Member Functions

TelepatiPkgcreatePkg (byte *ptr)
 PATTERN Simple Factory: costruisce un TelepatiPkg.
size_t getSizeOfPkg (byte *ptr)
 Calcola la dimensione di un Package in base al suo header.

Static Public Attributes

const int ADDR_INVALID = 254
 Indirizzo invalido.
const int ADDR_BROADCAST = 255
 Indirizzo per il broadcast.
const size_t STD_HEADER_SIZE = 7
 Dimensione dell'Header Standard.

Protected Attributes

int aibo
 indice dell'aibo di destinazione
pkg_type type
 tipo di messaggio
unsigned short size
 dimensione dell'array rappresentante l'oggetto
bool needAck
 true: se ha bisogno di ricevere un Ack; false: altrimenti
unsigned short serialNum
 numero seriale del package
byte * message
 Array contenente i dati del message da spedire.

Detailed Description

Classe virtuale per l'implementazione dei vari tipi di messaggi scambiati.

Struttura del pacchetto:

      byte         byte        short          byte          short           byte...
   [pkg_type] [aibo_dest] [size_of_packet] [need_ack]  [serial_number]  [pkg_data... ]
Dimensione dell'HEADER standard: 6byte.


Constructor & Destructor Documentation

TelepatiPkg::TelepatiPkg byte *  ptr  ) 
 

Construisce un oggetto a partire dall'array di byte (message) rappresentante un altro oggetto.

Utilizzato per ricostruire la struttura del paccheto ricevuto dal Telepati.

Parameters:
ptr i dati
See also:
getMsg(), createPkg(const byte* ptr)


Member Function Documentation

virtual TelepatiPkg* TelepatiPkg::clone  )  [pure virtual]
 

Crea un clone dell'oggetto su cui viene chimato.

Utile per creare copie di un oggetto a partire da un oggetto, viene utilizzato per il broadcasting e per altre funzioni interne di Telepati.

Returns:
oggetto clonato

Implemented in AckPkg, AiboInfoPkg, BreakTheLinePkg, ByePkg, CommandPkg, CounterPkg, DummyLedPkg, DummyPkg, HiPkg, HiReplyPkg, LeaderPkg, LeaderReplyPkg, OthHeadReadyPkg, OthLegsReadyPkg, and TimeInfoPkg.

TelepatiPkg * TelepatiPkg::createPkg byte *  ptr  )  [static]
 

PATTERN Simple Factory: costruisce un TelepatiPkg.

A partire da un array di byte ricostrusce l'oggetto corretto richiamando il costruttore corretto e lo ritorna.

Parameters:
ptr array di byte rappresentanti l'oggetto
Returns:
oggetto di tipo TelepatiPkg* corretto, 0 nel caso non riconosca il tipo di package
See also:
TelepatiPkg(const byte* ptr), getMsg()

byte * TelepatiPkg::createStdHeader size_t  pkgDataSize  ) 
 

crea l'header standard del pacchetto.

Parameters:
pkgDataSize dimensione di pkg data
Returns:
byte[] array di byte, di dimensione pari a pkgDataSize piu' la dimensione dello standard header, con i valori dell'header impostati correttamente

virtual int TelepatiPkg::getAibo  )  [inline, virtual]
 

Ritorna l'indice dell'Aibo di destinazione.

Returns:
int aibo di destinazione

virtual byte* TelepatiPkg::getMsg  )  [pure virtual]
 

Restituisce un array rappresentante l'oggetto.

L'array restituito viene utilizzato per spedire l'oggetto sia via rete sia per lo scambio di messaggi tra oggetti OPENR. Da implementare.

Returns:
byte[] array di byte che rappresenta l'oggetto
See also:
TelepatiPkg(const byte* ptr), createPkg(const byte* ptr)

Implemented in AckPkg, AiboInfoPkg, BreakTheLinePkg, ByePkg, CommandPkg, CounterPkg, DummyLedPkg, DummyPkg, HiPkg, HiReplyPkg, LeaderPkg, LeaderReplyPkg, OthHeadReadyPkg, OthLegsReadyPkg, and TimeInfoPkg.

virtual unsigned short TelepatiPkg::getSerial  )  [inline, virtual]
 

Ritorna il numero seriale del package.

Returns:
short seriale del pacchetto

virtual size_t TelepatiPkg::getSize  )  [inline, virtual]
 

Ritorna la dimensione dell'array di byte.

ATTENZIONE: Il valore restituito dalla funzione e' significativo solo se chiamato dopo il cotruttore TelepatiPkg(byte* ptr) oppure dopo il metodo getMsg().

Returns:
size_t dimensione dell'array di byte

size_t TelepatiPkg::getSizeOfPkg byte *  ptr  )  [static]
 

Calcola la dimensione di un Package in base al suo header.

Dato il message del pacchetto calcola la dimesione del package.

Returns:
dimensione del package.

virtual pkg_type TelepatiPkg::getType  )  [inline, virtual]
 

Ritorna il tipo di pacchetto.

Returns:
pkg_type tipo di pacchetto

virtual bool TelepatiPkg::needConfirm  )  [inline, virtual]
 

Richiesta di conferma del package.

Returns:
true se il package ha bisogno di un ack di conferma; false altrimenti

virtual void TelepatiPkg::setAibo int  a  )  [inline, virtual]
 

Imposta il valore dell'aibo di destinazione.

Parameters:
a a aibo di destinazione del pacchetto


The documentation for this class was generated from the following files:
Generated on Thu Jun 23 16:51:17 2005 for Packages_Library by  doxygen 1.3.9.1