#ifndef _atm_AMolecularSQLManager_h_ #define _atm_AMolecularSQLManager_h_ #include #include #ifdef AUGER_SQLITE_ENABLED # include #else # include #endif namespace atm { /** \class AMolecularSQLManager \brief Manager for molecular portion of atmospheric monitoring database \author Luis Prado Jr \author Tom Paul \author Darko Veberic \version $Id$ \date 22 Mar 2004 \date 12 Jan 2007 DV update \ingroup managers */ class AMolecularSQLManager : public det::VSQLManager { public: VSQLMANAGER_GETDATA_GETDBDATA(double) VSQLMANAGER_GETDATA_GETDBDATA(int) VSQLMANAGER_GETDATA_GETDBDATA(std::string) VMANAGER_GETDATA_CALL(GetDBDataCheckTranspose, std::vector) VSQLMANAGER_GETDATA_GETDBDATA(std::vector) VSQLMANAGER_GETDATA_GETDBDATA(std::vector) //VMANAGER_GETDATA_DENIED(unsigned long long int) VMANAGER_GETDATA_DENIED(std::vector) VMANAGER_GETDATA_DENIED(utl::TabulatedFunction) VMANAGER_GETDATA_DENIED(utl::TabulatedFunctionComplexLgAmpPhase) VMANAGER_GETDATA_DENIED(std::list) VMANAGER_GETDATA_DENIED(std::list) VMANAGER_GETDATA_DENIED(std::list) VMANAGER_GETDATA_DENIED(std::list >) VMANAGER_GETDATA_DENIED(std::map) VMANAGER_GETDATA_DENIED(std::map) private: // Helper methods that sends the DB query and retrieves a MYSQL_RES*. // This method is present mainly to separate the comparitively verbose // query code from the shorter bit of code which uses the templated type. // for fundamental types virtual Status GetDBResFundamental(const std::string& tableName, const std::string& columnName, const IndexMap& componentIndex) const; // for vector of fundamental types virtual Status GetDBResVector(const std::string& tableName, const std::string& columnName, const IndexMap& componentIndex) const; virtual Status GetDBDataCheckTranspose(std::vector& returnData, const std::string& tableName, const std::string& columnName, const IndexMap& componentIndex) const; VMANAGER_GETDATA_HANDLE_DENIED }; } #endif // Configure (x)emacs for this file ... // Local Variables: // mode: c++ // End: