Main Page Class Hierarchy Compound List File List Compound 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:

List of all members.

## Public Methods
| TelepatiPkg ()
| Costruttore di default.
| TelepatiPkg (byte *ptr)
| Construisce un oggetto a partire dall'array di byte (message) rappresentante un altro oggetto. More...
virtual | ~TelepatiPkg ()
| Distruttore di default.
virtual void | setAibo (int a)
| Imposta il valore dell'aibo di destinazione. More...
virtual int | getAibo ()
| Ritorna l'indice dell'Aibo di destinazione. More...
virtual pkg_type | getType ()
| Ritorna il tipo di pacchetto. More...
virtual size_t | getSize ()
| Ritorna la dimensione dell'array di byte. More...
virtual bool | needConfirm ()
| Richiesta di conferma del package. More...
virtual unsigned short | getSerial ()
| Ritorna il numero seriale del package. More...
virtual byte * | getMsg ()=0
| Restituisce un array rappresentante l'oggetto. More...
virtual TelepatiPkg * | clone ()=0
| Crea un clone dell'oggetto su cui viene chimato. More...
byte * | createStdHeader (size_t pkgDataSize)
| crea l'header standard del pacchetto. More...
## Static Public Methods
TelepatiPkg * | createPkg (byte *ptr)
| PATTERN Simple Factory: costruisce un TelepatiPkg. More...
size_t | getSizeOfPkg (byte *ptr)
| Calcola la dimensione di un Package in base al suo header. More...
## 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... ]

- `pkg_type`= tipo di messaggio
- `aibo_dest`= l'indice dell'aibo di destinazione
- `size_of_packet`= dimensione del pacchetto compreso l'header
- `need_ack`= 0 se non ha bisogno di ack, >0 se ne ha bisogno
- `serial_number`= numero seriale del pachetto necessario all'Ack (16bit)
- `pkg_data`= dati da spedire

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.

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.

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:

- /home/gilberto/prog/tesi2.31/lib/Packages/TelepatiPkg.h
- /home/gilberto/prog/tesi2.31/lib/Packages/TelepatiPkg.cc