#pragma once #include #include #include namespace zyncarla { struct BankEntry { BankEntry(void); std::string file; std::string bank; std::string name; std::string comments; std::string author; std::string type; int id; bool add; bool pad; bool sub; int time;//last update typedef std::vector svec; svec tags(void) const; bool match(std::string) const; bool operator<(const BankEntry &b) const; }; class BankDb { public: typedef std::vector svec; typedef std::vector bvec; typedef std::map bmap; //search for banks //uses a space separated list of keywords and //finds something that matches ALL keywords bvec search(std::string) const; //fully qualified paths only void addBankDir(std::string); //clear all known entries and banks void clear(void); //List of all tags svec tags(void) const; //scan banks void scanBanks(void); private: BankEntry processXiz(std::string, std::string, bmap&) const; bvec fields; svec banks; }; }