HCE project C++ developers source code library  1.1.1
HCE project developer library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DRCEFilesList.hpp
Go to the documentation of this file.
1 
14 #ifndef DRCE_FILES_LIST_HPP
15 #define DRCE_FILES_LIST_HPP
16 
17 #include <vector>
18 #include <iostream>
19 
20 namespace HCE
21 {
22 namespace drce
23 {
24 //-----------------------------------------------------------------------------
25 struct FileItem
26 {
30  enum
31  {
38  };
39 
40  FileItem(void);
41  FileItem(const std::string& name_, const std::string& data_, unsigned int actionType_);
42  FileItem(const FileItem& rhs);
43  FileItem(FileItem&& rhs);
44 
45  FileItem& operator=(const FileItem& rhs);
46  FileItem& operator=(FileItem&& rhs);
47 
48  std::string name;
49  std::string data;
50  unsigned int actionType;
51 };
52 //-----------------------------------------------------------------------------
54 {
55 public:
56  DRCEFilesList(void);
57  virtual ~DRCEFilesList(void) {}
58 
61 
62  void addFileItem(const FileItem& fileItem);
63  void addFileItem(FileItem&& fileItem);
64  void addFileItem(const std::string& name, const std::string& data, unsigned int actionType);
65 
66  const std::vector<FileItem>& getFiles(void) const {return files;}
67 
68  size_t getFilesCount(void) const;
69  const FileItem& getFileItem(size_t index) const;
70  void setFileItem(size_t index, const FileItem& fileItem);
71  void setFileItem(size_t index, FileItem&& fileItem);
72 
73  void clear(void);
74 protected:
75  std::vector<FileItem> files;
76 };
77 //-----------------------------------------------------------------------------
78 //-----------------------------------------------------------------------------
79 } // namespace drce
80 } // namespace HCE
81 
82 #endif // DRCE_FILES_LIST_HPP