hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 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 //-----------------------------------------------------------------------------
53 //-----------------------------------------------------------------------------
55 {
56 public:
57  DRCEFilesList(void);
58  DRCEFilesList(const DRCEFilesList& rhs);
60  virtual ~DRCEFilesList(void) {}
61 
64 
65  void addFileItem(const FileItem& fileItem);
66  void addFileItem(FileItem&& fileItem);
67  void addFileItem(const std::string& name, const std::string& data, unsigned int actionType);
68 
69  const std::vector<FileItem>& getFiles(void) const {return files;}
70 
71  size_t getFilesCount(void) const;
72  const FileItem& getFileItem(size_t index) const;
73  void setFileItem(size_t index, const FileItem& fileItem);
74  void setFileItem(size_t index, FileItem&& fileItem);
75 
76  void clear(void);
77 protected:
78  std::vector<FileItem> files;
79 };
80 //-----------------------------------------------------------------------------
81 //-----------------------------------------------------------------------------
82 } // namespace drce
83 } // namespace HCE
84 
85 #endif // DRCE_FILES_LIST_HPP