F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <Fw/Types/BasicTypes.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  const 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(void) const; // !< returns capacity, not current size, of buffer
61 
64  U8* getBuffAddr(void);
65  const U8* getBuffAddr(void) const;
66 
67  private:
68  // ----------------------------------------------------------------------
69  // Private member variables
70  // ----------------------------------------------------------------------
71 
74  U8 m_data[HASH_DIGEST_LENGTH]; // packet data buffer
75  };
76 }
77 
78 #endif
Utils::HashBuffer::~HashBuffer
virtual ~HashBuffer()
Definition: HashBufferCommon.cpp:14
Fw::SerializeBufferBase
Definition: Serializable.hpp:43
Serializable.hpp
Utils::HashBuffer::getBuffCapacity
NATIVE_UINT_TYPE getBuffCapacity(void) const
Definition: HashBufferCommon.cpp:48
U8
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.hpp:76
Utils::HashBuffer::operator=
const HashBuffer & operator=(const HashBuffer &other)
Definition: HashBufferCommon.cpp:22
Utils
Definition: CRCChecker.cpp:20
HashConfig.hpp
Utils::HashBuffer
An container class for holding a hash buffer.
Definition: HashBuffer.hpp:26
Assert.hpp
Utils::HashBuffer::getBuffAddr
U8 * getBuffAddr(void)
Definition: HashBufferCommon.cpp:44
HASH_DIGEST_LENGTH
#define HASH_DIGEST_LENGTH
Definition: CRC32.hpp:18
NATIVE_UINT_TYPE
unsigned int NATIVE_UINT_TYPE
native unsigned integer type declaration
Definition: BasicTypes.hpp:30
Utils::HashBuffer::operator!=
bool operator!=(const HashBuffer &other) const
Definition: HashBufferCommon.cpp:36
Utils::HashBuffer::operator==
bool operator==(const HashBuffer &other) const
Definition: HashBufferCommon.cpp:28
Utils::HashBuffer::HashBuffer
HashBuffer()
Definition: HashBufferCommon.cpp:6
BasicTypes.hpp
Declares ISF basic types.