#ifndef __DataFromSpryWare_h_ #define __DataFromSpryWare_h_ #include #include #include #include #include #include "DataFormats.h" class DataFromSpryWare { private: MisDirectory *pDirectory; Database::ITable *pTableHistory;; Database::Key *keyHistory; Database::Record *recordHistory; Database::ITable *pTable1Min; Database::Key *key1Min; Database::Record *record1Min; Database::ITable *pTableCorporateActions; Database::Key *keyCorporateActions; Database::Record *recordCorporateActions; Database::ITable *pTablePrice; Database::Key *keyPrice; Database::Record *recordPrice; Database::ITable *pTableEquityPrice; Database::Key *keyEquityPrice; Database::Record *recordEquityPrice; Database::ITable *pTableIndexPrice; Database::Key *keyIndexPrice; Database::Record *recordIndexPrice; Database::ITable *pTableFundamental; Database::Key *keyFundamental; Database::Record *recordFundamental; Database::ITable *pTableEquityFundamental; Database::Key *keyEquityFundamental; Database::Record *recordEquityFundamental; Database::ITable *pTableIndexFundamental; Database::Key *keyIndexFundamental; Database::Record *recordIndexFundamental; void connectTable(Database::ITable * &, Database::Key * &,Database::Record * &, const std::string &, const int & = 0); public: void connect(); void disconnect(); void getFundamentalData(const std::string &symbol, FundamentalData &fundamentalData); // getDailyBars optionally retreives the latest dividend and dumps it into a fundamentalData pointer void getDailyBars(const std::string &symbol, BarList &data1Day, FundamentalData *fundamentalData = NULL); void get1MinBars(const std::string &symbol, BarList &data1Min); void getCorporateActions(const std::string &symbol, CorporateActions &corporateActions); }; void adjustForSplits(BarList &bars, const CorporateActions &corporateActions); #endif