#include <iostream>
#define NUMDATASETS 10
#define NUMDATAS 10
static int create_example(const char* srcfile)
{
OdimFactory* factory = NULL;
OdimObject* object = NULL;
OdimObjectDumper* dumper = NULL;
try
{
factory = new OdimFactory();
object = factory->create(srcfile);
object->setObject("prova");
for (int i=0; i<NUMDATASETS; i++)
{
OdimDataset* dataset = object->createDataset();
dataset->getWhat()->set("indice", i+1);
for (int j=0; j<NUMDATAS; j++)
{
OdimData* data = dataset->createData();
data->getWhat()->set("indice", j+1);
delete data;
}
delete dataset;
}
dumper = factory->getDumper();
dumper->dump(object);
std::cout << "Esecuzione terminata" << std::endl;
}
catch (std::exception& stde)
{
std::cerr << "Errore di esecuzione: " << stde.what() << std::endl;
}
catch (...)
{
std::cerr << "Errore sconociuto" << std::endl;
}
delete dumper;
delete object;
delete factory;
return 0;
}
static int remove_example(const char* srcfile)
{
OdimFactory* factory = NULL;
OdimObject* object = NULL;
OdimObjectDumper* dumper = NULL;
try
{
factory = new OdimFactory();
object = factory->open(srcfile);
OdimDataset* dataset = object->getDataset(0);
dataset->removeData(5);
delete dataset;
object->removeDataset(5);
std::cout << "Esecuzione terminata" << std::endl;
}
catch (std::exception& stde)
{
std::cerr << "Errore di esecuzione: " << stde.what() << std::endl;
}
catch (...)
{
std::cerr << "Errore sconociuto" << std::endl;
}
delete dumper;
delete object;
delete factory;
return 0;
}
int main(int argc, char* argv[])
{
if (argc != 2)
{
std::cout << "Usage: " << argv[0] << " <odimh5file>" << std::endl;
return -1;
}
try
{
create_example(argv[1]);
remove_example(argv[1]);
}
catch (...)
{
}
getchar();
return 0;
}
Namespace related to ODIMH5 version 2.0.
Definition: odimh5v20.hpp:46
Main header file of the library.