fileman.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef FILEMAN_H
  2. #define FILEMAN_H
  3. #include <fstream>
  4. #include <string>
  5. #include <vector>
  6. #define BLOCKSIZE 8
  7. class FileMan {
  8. private:
  9. std::ifstream putfile;
  10. std::ofstream getfile;
  11. std::vector<std::string> listdata;
  12. std::string getname, putname;
  13. const unsigned int max_read_len = 8;
  14. int putsize;
  15. int putchunks;
  16. int putchunksRemaining;
  17. int getchunks;
  18. int getchunksRemaining;
  19. int listchunks;
  20. int listchunksRemaining;
  21. bool islisting;
  22. public:
  23. FileMan();
  24. ~FileMan();
  25. bool isGetting();
  26. bool isPutting();
  27. bool isListing();
  28. bool openPut(const std::string &name);
  29. bool openGet(const std::string &name);
  30. bool openList();
  31. void closePut();
  32. void closeGet();
  33. void closeList();
  34. std::string getPutName();
  35. std::string getGetName();
  36. void cancelPut();
  37. void cancelGet();
  38. void cancelList();
  39. std::vector<char> readPut();
  40. void writeGet(std::vector<char> data);
  41. std::string readBase64();
  42. void writeBase64(std::string data);
  43. void putListData(std::vector<std::string> names);
  44. std::vector<std::string> getListData();
  45. int getPutChunks();
  46. int getGetChunks();
  47. int getListChunks();
  48. int getPutRemainingChunks();
  49. int getGetRemainingChunks();
  50. int getListRemainingChunks();
  51. int getPutSize();
  52. void setGetChunks(int chunks);
  53. void setListChunks(int chunks);
  54. };
  55. #endif