tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tsp-devel] core/common SSI and SSEI API


From: Erk
Subject: [Tsp-devel] core/common SSI and SSEI API
Date: Tue, 18 Apr 2006 00:45:46 +0200

Salut à tous,

Un petit mail pour vous dire
que la gestion des differents types et des tableaux
est dans le CVS.

A priori ça marche pour:

provider:
   tsp_stub_server
   le bb_provider est un peu cassé mais
   je vais corriger ça rapidement.
consumer:
   tsp_ascii_writer
   tsp_request_generic (generic consumer)

Au passage ont été rajouté dans
src/core/common
des fonctions d'aide à la manipulation des structures TSP
(et également des listes de celles-ci) , merci d'utiliser ces
fonctions plutôt que des malloc/free et autre calloc et
initialisations manuelles.

Ces fonctions permettent de manipuler plus simplement
les structures, et surtout plus tard elles seront GENEREES
pour chaque structure déclarée dans l'IDL.

Le modèle des fonctions est pseudo-objet et simple:

Constructeur/Destructeur:
<type>*   TSP_<type>_new(...init_params...)
int32_t     TSP_<type>_delete(<type>** t)
le constructeur alloue (en surface) de la mémoire,
appelle iTSP_<type>_initialize et
renvoie un pointeur non NULL en cas de succès.
le destructeur désalloue (en profondeur) et
NULLify la valeur pointée par le pointeur de pointeur


Initialiseur/Finaliseur (pour les structures déjà allouées):
int32_t TSP_<type>_initialize(<type>* t, ...init_params...)
int32_t TSP_<type>_finalize(.<type>* t)
l'initialiseur alloue si nécessaire les membres
(en surface = uniquement les membres pas les membres des membres)
et positionne champs aux valeurs passées dans ...init_params....
le finaliseur désalloue si nécessaire les membres et
positionne à des valeurs par defaut.

Copy:
int32_t TSP_<type>_copy(<type>* dst, const <type> src)

finalize(dst)
initalize(dst,src->...init_params...)

Ces fonctions existent pour type

SSI    = TSP_sample_symbol_info_t
EI       = TSP_extended_info_t
SSEI = TSP_sample_symbol_extended_info_t

et également
SSIList
EIList
SSEIList

regarder dans src/core/common/tsp_common_<xxxx>.[hc]

Bonne utilisation.
--
Erk




reply via email to

[Prev in Thread] Current Thread [Next in Thread]