DSLib Data

DSLib Data — Base di origine per le strutture derivate della DSLib

Stability Level

Unstable, unless otherwise indicated

Synopsis

#include <dslib.h>

struct              dsData;
#define             ds_DATA                             (data)
#define             ds_DATA_public_data                 (data)
#define             ds_DATA_private_data                (data)
#define             ds_DATA_user                        (data)
#define             ds_DATA_old_child                   (data)
dsData *            ds_data_new                         (void);
dsStatus            ds_data_free                        (dsData *data);

Description

DSLib offre un metodo di derivazione dei dati simile alla libreria GTK che però non utilizza un sistema di apparente OOP, ma si limita a consentire una facile ereditarietà delle informazioni tra tipi di dati differenti.

Details

struct dsData

struct dsData {
        dsPublic                public_data;

        dsPrivate               private_data;

        const dsDataOldChild    old_child;

        const dsDataUser        user;
};

stability: Unstable

Questa è la base di partenza per tutti i tipi di dati complessi derivati della libreria DSLib.

dsPublic public_data;

un puntatore generico per dati pubblici - Read / Write

dsPrivate private_data;

un puntatore generico per dati privati - Read / Write

const dsDataOldChild old_child;

tipo di struttura derivata di più alto livello - only Read

const dsDataUser user;

tipo di struttura derivata autorizzata ad accedere ed ad utilizzare questa struttura - only Read

ds_DATA()

    #define ds_DATA(data)     ds_CAST (dsData*,data)

stability: Unstable

Provvede al casting di una struttura data ritornando una struttura di tipo dsData

data :

struttura derivata

ds_DATA_public_data()

    #define ds_DATA_public_data(data)     ds_GET_PROPERTY(ds_DATA(data),public_data)

stability: Unstable

Provvede al casting di un dato data ritornando la proprietà "public_data"

data :

una struttura derivata

ds_DATA_private_data()

    #define ds_DATA_private_data(data)     ds_GET_PROPERTY(ds_DATA(data),private_data)

stability: Unstable

Provvede al casting di un dato data ritornando la proprietà "private_data"

data :

una struttura derivata

ds_DATA_user()

    #define ds_DATA_user(data)     ds_GET_PROPERTY(ds_DATA(data),user)

stability: Unstable

Provvede al casting di un dato data ritornando la proprietà "user"

data :

una struttura derivata

ds_DATA_old_child()

    #define ds_DATA_old_child(data)     ds_GET_PROPERTY(ds_DATA(data),old_child)

stability: Unstable

Provvede al casting di un dato data ritornando la proprietà "old_child"

data :

una struttura derivata

ds_data_new ()

dsData *            ds_data_new                         (void);

stability: Unstable

Crea una nuova dsData.

Returns :

una nuova dsData o NULL in caso di errore.

Since 0.0.1


ds_data_free ()

dsStatus            ds_data_free                        (dsData *data);

stability: Unstable

Libera la memoria allocata per una dsData.

data :

indirizzo ad una struttura derivata allocata di tipo dsData

Returns :

dsCORRECT o dsERROR in caso di errore.

Since 0.0.1