File data_tagging_spi.hpp
File List > astutedds > security > data_tagging_spi.hpp
Go to the documentation of this file
//
// Copyright (c) 2026, Astute Systems PTY LTD
//
// This file is part of the Astute DDS developed by Astute Systems.
//
// See the commercial LICENSE file in the project root for full license details.
//
#pragma once
#include "security_types.hpp"
#include <memory>
#include <string>
#include <vector>
namespace astutedds::security
{
struct DataTag
{
std::string name;
std::string value;
};
using DataTagSeq = std::vector<DataTag>;
class DataTaggingPlugin
{
public:
virtual ~DataTaggingPlugin() = default;
virtual bool set_datawriter_tags(DatawriterCryptoHandle writer_crypto_handle, const DataTagSeq& tags,
SecurityException& ex) = 0;
virtual bool set_datareader_tags(DatareaderCryptoHandle reader_crypto_handle, const DataTagSeq& tags,
SecurityException& ex) = 0;
virtual DataTagSeq get_datawriter_tags(DatawriterCryptoHandle writer_crypto_handle, SecurityException& ex) = 0;
virtual DataTagSeq get_datareader_tags(DatareaderCryptoHandle reader_crypto_handle, SecurityException& ex) = 0;
virtual bool match_tags(const DataTagSeq& writer_tags, const DataTagSeq& reader_tags, SecurityException& ex) = 0;
};
using DataTaggingPluginPtr = std::shared_ptr<DataTaggingPlugin>;
} // namespace astutedds::security