Bitstream Interpretation Library (BIL)  0.1
BitFileData.hpp
Go to the documentation of this file.
1 
6 #pragma once
7 #ifndef BIL_BITFILEDATA_HPP
8 #define BIL_BITFILEDATA_HPP
9 
10 #include <cstring>
11 #include <string>
12 #include <vector>
13 #include <boost/cstdint.hpp>
14 
15 
16 namespace bil {
17 
25  class BitFileData {
26  public:
27 
28  /**********************************************************************/
29  /* META DATA INTERFACE */
30  /**********************************************************************/
31 
36  std::string& sourceFileName();
37 
42  const std::string& sourceFileName() const;
43 
44 
49  std::string& targetDeviceName();
50 
55  const std::string& targetDeviceName() const;
56 
57 
62  std::string& creationDate();
63 
68  const std::string& creationDate() const;
69 
70 
75  std::string& creationTime();
76 
81  const std::string& creationTime() const;
82 
83 
84  /**********************************************************************/
85  /* RAW BITSTREAM INTERFACE */
86  /**********************************************************************/
87 
92  void bitstreamWordCount(size_t count);
93 
98  size_t bitstreamWordCount() const;
99 
105  boost::uint32_t* bitstreamWords();
106 
112  const boost::uint32_t* bitstreamWords() const;
113 
114 
115  /**********************************************************************/
116  /* MODIFIERS */
117  /**********************************************************************/
118 
122  void clear();
123 
124 
125  private:
126 
127  std::string m_sourceFileName;
128  std::string m_targetDeviceName;
129  std::string m_creationDate;
130  std::string m_creationTime;
131 
132  std::vector<boost::uint32_t> m_bitstream;
133 
134  };
135 
136 }
137 
138 #endif