#ifndef FILELOADERVOTABLE_H #define FILELOADERVOTABLE_H #include "FileLoaderAbstract.h" #include "../XMLManager/XMLManager.h" using namespace TREPS::XMLManager; namespace TREPS { namespace File { class FileLoaderVOTableClass : public FileLoaderAbstractClass { public : FileLoaderVOTableClass(void); ~FileLoaderVOTableClass(void); //open a VOTable file bool open(const char *file_path); //close a VOTable file bool close(void); //test if a file is opened bool isOpened(void); //get file format t_FileFormat getFormat(void); //detect frames t_StringList getFrames(const t_FieldList *fields); //detect fields t_FieldList getFields(long int nbRecords); //get number of records in VOTable file long int getNbRecords(void); //add VOTable specific vectors void addSpecificFormatVectors(const t_FieldList *fields, t_VectorList &vectors); //get global attributes map getAttributes(void); //get data bool getData(int start, int limit, DataRecordListClass *data, int &total); private : //xml loader XMLManagerClass *loader; //get field type void getFieldType(const char *value, const char *dataType, const char *xType, t_FieldType &fieldType, t_TimeFormat &timeformat, string &timepattern); //get VOTable resource node Node *getResourceNode(void); //get VOTable table node Node *getTableNode(void); //get VOTable field nodes list NodeList getFieldNodes(void); //get VOTable group nodes list NodeList getGroupNodes(void); //get VOTable data node Node *getDataNode(void); //get VOTable table data node Node *getTableDataNode(void); //get VOTable records NodeList getTRNodes(void); //get VOTable values for a record NodeList getTDNodesFromTRNode(Node *trNode); }; } } #endif