#include "SAObject.hpp"
#include <stdlib.h>
DataStore *create()
{
DataStore *ds = (DataStore *)
malloc
(
sizeof
(DataStore));
ds->header.next = NULL;
return
ds;
}
void
add(DataStore *ds,
const
SAObject *obj)
{
SAObject *copy = (SAObject *)
malloc
(
sizeof
(SAObject));
*copy = *obj;
SAObject *c = &ds->header;
while
(c->next) {
c = c->next;
}
c->next = copy;
copy->next = NULL;
}
void
destroy(DataStore *ds)
{
SAObject *obj = ds->header.next;
while
(obj) {
SAObject *next = obj->next;
free
(obj);
obj->next = NULL;
obj = next;
}
free
(ds);
ds->header.next = NULL;
}