forked from Research/WhisperCom
60 lines
1.9 KiB
C++
60 lines
1.9 KiB
C++
#pragma once
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
*/
|
|
/** @file */
|
|
/** @copyright 2021 MPLv2 */
|
|
#include <cstdint>
|
|
#include <vector>
|
|
|
|
/**
|
|
* @brief This is the main namespace for all whisper-com related datatypes and classed.
|
|
*/
|
|
namespace Whisper
|
|
{
|
|
|
|
/**
|
|
* @brief namespace for all data related DataTypes, classes, etc.
|
|
*/
|
|
namespace Data
|
|
{
|
|
|
|
/**
|
|
* \defgroup data_classifications Classification of Data within Messages
|
|
* Data in Message can be classified occording to the non-disclosure of its information.
|
|
* In whisper-com certain rules are enforced occording to data classification
|
|
* e.g. messages may be dropped or not routed through gateways.
|
|
* Furthermore, encryption of data may or may not be enforced.
|
|
*/
|
|
|
|
|
|
/**
|
|
* @brief Enumeration of different data classifications.
|
|
* \ingroup data_classifications
|
|
* Data classifications classify the data within the payload of a message
|
|
* according to six levels. We think six levels should be enough and
|
|
* fewer limits the flexibility of the user and more adds to the overall
|
|
* complexity.
|
|
*/
|
|
enum class classification : std::uint8_t
|
|
{
|
|
/// The data is public and may even be transmitted public to the Internet.
|
|
PUBLIC,
|
|
/// The data is classified open. Everyone with access to the network may read it
|
|
/// but the data is not allowed to be published to the internet or other non local networks.
|
|
OPEN,
|
|
/// The data is classified RESTRICTED
|
|
RESTRICTED,
|
|
/// the data is classified CONFIDENTIAL
|
|
CONFIDENTIAL,
|
|
/// The data is classified as SECRET
|
|
SECRET,
|
|
/// The data is classified as TOP SECRET.
|
|
TOP_SECRET
|
|
}; // enum class classification
|
|
|
|
}; // namespace Data
|
|
|
|
}; // namespace Whisper
|