UTILLib 2.0
Common C++ library with utilities.
Loading...
Searching...
No Matches
structureddata.h
Go to the documentation of this file.
1/*
2 * Copyright 2022 Ingemar Hedvall
3 * SPDX-License-Identifier: MIT
4 */
12#pragma once
13#include <string>
14#include <vector>
15
16namespace util::syslog {
17
26 public:
30 using ParameterList = std::vector<std::pair<std::string, std::string>>;
31
37 void Identity(const std::string& identity);
38
43 [[nodiscard]] const std::string& Identity() const { return identity_; }
44
51 [[nodiscard]] const std::string& IdentityStem() const { return stem_; }
52
59 [[nodiscard]] const std::string& EnterpriseId() const {
60 return enterprise_id_;
61 }
62
69 [[nodiscard]] const ParameterList& Parameters() const {
70 return parameter_list_;
71 }
72
79 void AddParameter(const std::string& name, const std::string& value);
80
81 private:
82 std::string identity_;
83 std::string stem_;
84 std::string enterprise_id_;
85 ParameterList parameter_list_;
86};
87
88} // namespace util::syslog
Defines a simple interface against structured data item.
Definition structureddata.h:25
void Identity(const std::string &identity)
Sets the identifier for the data item;.
const std::string & IdentityStem() const
Return the main (stem) part of the identifier.
Definition structureddata.h:51
const ParameterList & Parameters() const
Returns a list of name value pairs.
Definition structureddata.h:69
const std::string & Identity() const
Returns the data raw identifier.
Definition structureddata.h:43
const std::string & EnterpriseId() const
Returns the enterprise ID.
Definition structureddata.h:59
std::vector< std::pair< std::string, std::string > > ParameterList
Definition structureddata.h:30
void AddParameter(const std::string &name, const std::string &value)
Adds a name value pair.
The syslog namespace is used for the syslog interface.
Definition isyslogserver.h:23