File: MetadataValue.h

package info (click to toggle)
sleuthkit 4.14.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,268 kB
  • sloc: ansic: 143,839; cpp: 54,644; java: 39,009; xml: 2,417; python: 1,085; perl: 874; makefile: 451; sh: 196
file content (61 lines) | stat: -rw-r--r-- 1,584 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
 ** The Sleuth Kit
 **
 ** Brian Carrier [carrier <at> sleuthkit [dot] org]
 ** Copyright (c) 2024 Sleuth Kit Labs, LLC. All Rights reserved
 ** Copyright (c) 2010-2021 Brian Carrier.  All Rights reserved
 **
 ** This software is distributed under the Common Public License 1.0
 */

// Be careful about including this file in other headers that include MetadataEntry.h - use a forward declaration and include it in the .cpp
#pragma once

#ifdef HAVE_LIBMBEDTLS

#include <list>

#include "MetadataEntry.h"
#include "BitlockerUtils.h"

class MetadataValue {
public:
	MetadataValue(BITLOCKER_METADATA_VALUE_TYPE valueType) { m_valueType = valueType; };

	BITLOCKER_METADATA_VALUE_TYPE getValueType() { return m_valueType; }
	bool wasLoadedSuccessfully() {
		return m_loadSuccessful;
	}

	void registerError(string errMsg) {
		m_loadSuccessful = false;
		writeError(errMsg);
	}
	virtual ~MetadataValue() {};

private:
	BITLOCKER_METADATA_VALUE_TYPE m_valueType;
	bool m_loadSuccessful = true;
};

/**
* Class used to hold valid but currently unprocessed metadata values
*/
class MetadataValueGeneric : public MetadataValue {
public:
	MetadataValueGeneric(BITLOCKER_METADATA_VALUE_TYPE a_valueType, uint8_t* buf, size_t bufLen) : MetadataValue(a_valueType) {};

	~MetadataValueGeneric() {};
};

/**
* Class used to hold unknown or invalid metadata values
*/
class MetadataValueUnknown : public MetadataValue {
public:
	MetadataValueUnknown(BITLOCKER_METADATA_VALUE_TYPE a_valueType, uint8_t* buf, size_t bufLen) : MetadataValue(a_valueType) {};

	~MetadataValueUnknown() {};
};

#endif