#ifndef FILEMAN_H #define FILEMAN_H #include #include #include #define BLOCKSIZE 8 class FileMan { private: std::ifstream putfile; std::ofstream getfile; std::vector listdata; std::string getname, putname; const unsigned int max_read_len = 8; int putsize; int putchunks; int putchunksRemaining; int getchunks; int getchunksRemaining; int listchunks; int listchunksRemaining; bool islisting; public: FileMan(); ~FileMan(); bool isGetting(); bool isPutting(); bool isListing(); bool openPut(const std::string &name); bool openGet(const std::string &name); bool openList(); void closePut(); void closeGet(); void closeList(); std::string getPutName(); std::string getGetName(); void cancelPut(); void cancelGet(); void cancelList(); std::vector readPut(); void writeGet(std::vector data); std::string readBase64(); void writeBase64(std::string data); void putListData(std::string name); std::vector getListData(); int getPutChunks(); int getGetChunks(); int getListChunks(); int getPutRemainingChunks(); int getGetRemainingChunks(); int getListRemainingChunks(); int getPutSize(); void setGetChunks(int chunks); void setListChunks(int chunks); }; #endif