F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
HashBuffer.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title Hash.hpp
3 // \author dinkel
4 // \brief hpp file for Hash class
5 //
6 // \copyright
7 // Copyright 2009-2015, by the California Institute of Technology.
8 // ALL RIGHTS RESERVED. United States Government Sponsorship
9 // acknowledged.
10 //
11 // ======================================================================
12 
13 #ifndef UTILS_HASH_BUFFER_HPP
14 #define UTILS_HASH_BUFFER_HPP
15 
16 #include <FpConfig.hpp>
18 #include <Fw/Types/Assert.hpp>
20 
21 namespace Utils {
22 
27  public:
28  // ----------------------------------------------------------------------
29  // Construction and destruction
30  // ----------------------------------------------------------------------
31 
34  HashBuffer(const U8 *args, NATIVE_UINT_TYPE size);
35  HashBuffer(const HashBuffer& other);
36  HashBuffer();
37 
40  virtual ~HashBuffer();
41 
42  // ----------------------------------------------------------------------
43  // Public instance methods
44  // ----------------------------------------------------------------------
45 
48  HashBuffer& operator=(const HashBuffer& other);
49 
52  bool operator==(const HashBuffer& other) const;
53 
56  bool operator!=(const HashBuffer& other) const;
57 
60  NATIVE_UINT_TYPE getBuffCapacity() const; // !< returns capacity, not current size, of buffer
61 
64  U8* getBuffAddr();
65  const U8* getBuffAddr() const;
66 
67  private:
68  // ----------------------------------------------------------------------
69  // Private member variables
70  // ----------------------------------------------------------------------
71 
74  U8 m_bufferData[HASH_DIGEST_LENGTH]; // packet data buffer
75  };
76 }
77 
78 #endif
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:26
PlatformUIntType NATIVE_UINT_TYPE
Definition: BasicTypes.h:52
#define HASH_DIGEST_LENGTH
Definition: CRC32.hpp:18
C++-compatible configuration header for fprime configuration.
A container class for holding a hash buffer.
Definition: HashBuffer.hpp:26
HashBuffer & operator=(const HashBuffer &other)
NATIVE_UINT_TYPE getBuffCapacity() const
bool operator==(const HashBuffer &other) const
bool operator!=(const HashBuffer &other) const