1 #ifndef MHO_FileKey_HH__
2 #define MHO_FileKey_HH__
19 static constexpr uint32_t MHO_FileKeySyncWord = 0xEFBEADDE;
20 static constexpr uint32_t MHO_FileKeyNameLength = 16;
23 static constexpr uint16_t MHO_FileKeyVersion_v0 = 0;
24 static constexpr uint16_t MHO_FileKeySize_v0 = 64;
27 static constexpr uint16_t MHO_FileKeyVersion = MHO_FileKeyVersion_v0;
28 static constexpr uint16_t MHO_FileKeySize = MHO_FileKeySize_v0;
31 static constexpr uint32_t MHO_FileKeyVersionReserved = 0xFFFFFFFF;
62 fSync = MHO_FileKeySyncWord;
69 for(uint32_t i = 0; i < MHO_FileKeyNameLength; i++)
82 for(uint32_t i = 0; i < MHO_FileKeyNameLength; i++)
110 for(uint32_t i = 0; i < MHO_FileKeyNameLength; i++)
135 for(uint32_t i = 0; i < MHO_FileKeyNameLength; i++)
154 static uint64_t
ByteSize() {
return MHO_FileKeySize_v0; };
179 if(aData.
fLabel == MHO_FileKeyVersionReserved)
195 aData.StreamInData_V0(s);
198 aData.StreamInData_V0(s);
206 for(
int i = 0; i < n; i++)
211 msg_error(
"utility",
"encountered a MHO_FileKey with unknown version: "
212 <<
version <<
" attempting to continue. " << eom);
230 aData.StreamOutData_V0(s);
233 aData.StreamOutData_V0(s);
238 "error, cannot stream out MHO_FileKey object with unknown version: " <<
version << eom);
250 template<
typename XStream >
void StreamOutData_V0(XStream& s)
const
256 for(uint32_t i = 0; i < MHO_FileKeyNameLength; i++)
269 template<
typename XStream >
void StreamInData_V0(XStream& s)
275 for(uint32_t i = 0; i < MHO_FileKeyNameLength; i++)
#define msg_error(xKEY, xCONTENT)
Definition: MHO_Message.hh:244
Class MHO_FileKey the version-0 size of the file key is (512 bits / 64 bytes), and all of the version...
Definition: MHO_FileKey.hh:57
MHO_FileKey & operator=(const MHO_FileKey &rhs)
Definition: MHO_FileKey.hh:127
char fName[MHO_FileKeyNameLength]
Definition: MHO_FileKey.hh:162
friend XStream & operator>>(XStream &s, MHO_FileKey &aData)
Definition: MHO_FileKey.hh:172
MHO_FileKey()
Definition: MHO_FileKey.hh:59
MHO_UUID fTypeId
Definition: MHO_FileKey.hh:161
bool operator==(const MHO_FileKey &rhs)
Definition: MHO_FileKey.hh:91
virtual ~MHO_FileKey()
Definition: MHO_FileKey.hh:89
friend XStream & operator<<(XStream &s, const MHO_FileKey &aData)
Definition: MHO_FileKey.hh:217
uint32_t fSync
Definition: MHO_FileKey.hh:154
bool operator!=(const MHO_FileKey &rhs)
Definition: MHO_FileKey.hh:125
uint64_t fSize
Definition: MHO_FileKey.hh:163
MHO_UUID fObjectId
Definition: MHO_FileKey.hh:160
uint32_t fLabel
Definition: MHO_FileKey.hh:159
static uint64_t ByteSize()
Returns the size of MHO_FileKey in bytes. this is the size of a MHO_FileKey on disk DO NOT USE sizeof...
Definition: MHO_FileKey.hh:154
MHO_FileKey(const MHO_FileKey ©)
Definition: MHO_FileKey.hh:76
Class MHO_UUID - a class for a 16 byte UUID (for object and type identification)
Definition: MHO_UUID.hh:27
const char version[]
Definition: difx2mark4.c:37
Definition: MHO_ChannelLabeler.hh:17
uint32_t fLabel
Definition: MHO_FileKey.hh:38
uint16_t fVersionSize[2]
Definition: MHO_FileKey.hh:39
union MHO_FileKeyVersionInfo - this union allows us to store the file key version and size info into ...
Definition: MHO_FileKey.hh:37