56 [[nodiscard]]
const std::string &
Name()
const {
return name_; }
63 void Name(
const std::string &name) {
name_ = name; }
143 [[nodiscard]]
const std::map<uint64_t, std::string> &
LogLevelList()
const;
173 const char *format_text, ...);
185 const std::vector<uint8_t> &buffer,
void *hint);
197 const std::vector<uint8_t> &buffer,
void *hint);
275 virtual void AddMessage(uint64_t nano_sec_1970,
const std::string &pre_text,
276 const std::string &text) = 0;
283 static std::string
ParseHex(
const std::vector<uint8_t> &buffer);
293 std::atomic<uint64_t> number_of_messages_ = 0;
300class ListenStream final :
public std::ostringstream {
302 ListenStream() =
delete;
307 if (listen_.IsActive()) {
308 listen_.ListenString(str());
An interface class that hides the actual implementation of the object.
Definition ilisten.h:46
virtual size_t LogLevel()=0
Returns the current log level.
void ListenTextEx(uint64_t ns1970, const std::string &pre_text, const char *format_text,...)
Generate a user defined text line.
virtual bool Start()
Starts the listen object.
virtual void SetLogLevel(size_t log_level)
Sets the log level.
virtual void ListenReceive(uint64_t ns1970, const std::string &pre_text, const std::vector< uint8_t > &buffer, void *hint)
Generates a hex string text from a byte buffer.
void PreText(const std::string &pre_text)
Sets the default pre-text that starts each line.
Definition ilisten.h:97
void ResetNumberOfMessages()
Definition ilisten.h:253
void Description(const std::string &description)
Sets the description for the listen object.
Definition ilisten.h:78
const std::map< uint64_t, std::string > & LogLevelList() const
Returns all log levels and their menu texts.
static std::string ParseHex(const std::vector< uint8_t > &buffer)
Parses a byte buffer into a hexadecimal string.
void Name(const std::string &name)
Sets the display name.
Definition ilisten.h:63
ListenStream ListenOut()
Internal debug function (unit tests)
virtual bool Stop()
Stops the listen object.
void IncrementNumberOfMessages()
Definition ilisten.h:290
void ListenString(const std::string &text)
Generates a listen text line.
virtual size_t NofConnections() const
Number of client connects.
std::string share_name_
Share memory name.
Definition ilisten.h:256
const std::string & HostName() const
Host name for the object.
Definition ilisten.h:103
const std::string & PreText() const
Text that always starts a text line.
Definition ilisten.h:88
uint16_t Port() const
TCP/IP port.
Definition ilisten.h:120
virtual ~IListen()=default
Default destructor.
const std::string & Name() const
Display name.
Definition ilisten.h:56
IListen()=default
Default constructor.
void SetLogLevelText(uint64_t level, const std::string &menu_text)
Sets the log level menu texts.
std::string host_name_
Host name.
Definition ilisten.h:260
std::map< uint64_t, std::string > log_level_list_
Log level index and.
Definition ilisten.h:262
void HostName(const std::string &host_name)
Sets the host name for the listen object.
Definition ilisten.h:113
std::string description_
Description of the functionality.
Definition ilisten.h:258
virtual void ListenTransmit(uint64_t ns1970, const std::string &pre_text, const std::vector< uint8_t > &buffer, void *hint)
Generates a hex string text from a byte buffer.
const std::string & Description() const
Description of the listen object.
Definition ilisten.h:71
std::string name_
Display name.
Definition ilisten.h:257
std::string pre_text_
Small text between time and text string.
Definition ilisten.h:259
virtual void SetActive(bool active)
Activate or deactivate the listen object.
void ListenText(const char *format_text,...)
Generates a listen text line.
uint16_t port_
IP-port to listen on.
Definition ilisten.h:261
virtual void AddMessage(uint64_t nano_sec_1970, const std::string &pre_text, const std::string &text)=0
Adds a listen message.
uint64_t GetNumberOfMessages() const
Returns number of generated messages.
Definition ilisten.h:246
void Port(uint16_t port)
Sets the TCP/IP port.
Definition ilisten.h:127
virtual bool IsActive() const =0
Indicate if any listen window is open.
Support stream class when log messages to the listen functionality.
Definition ilisten.h:300
~ListenStream() override
Definition ilisten.h:306
ListenStream(IListen &listen)
Constructor.
Definition ilisten.h:304
The log namespace is used for log related classes and functions.
Definition idirectory.h:18
TypeOfListen
Defines the type of listen objects.
Definition ilisten.h:34
@ ListenProxyType
Forward the listen messages in shared memory.
Definition ilisten.h:35
@ ListenServerType
TCP/IP server that forwards the listen messages.
Definition ilisten.h:36
@ ListenConsoleType
Forward the listen messages to a console window.
Definition ilisten.h:37