eRPC API Reference  Rev. 1.11.0
NXP Semiconductors
erpc_message_loggers.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2017 NXP
3  * All rights reserved.
4  *
5  *
6  * SPDX-License-Identifier: BSD-3-Clause
7  */
8 
9 #ifndef _EMBEDDED_RPC__LOGEVENTLISTENERS_H_
10 #define _EMBEDDED_RPC__LOGEVENTLISTENERS_H_
11 
12 #include "erpc_transport.hpp"
13 
20 // Classes
23 
24 namespace erpc {
25 
32 {
33 public:
37  explicit MessageLogger(Transport *transport)
38  : m_next(NULL)
39  , m_transport(transport){};
40 
44  ~MessageLogger(void){};
45 
51  MessageLogger *getNext(void) { return m_next; }
52 
58  void setNext(MessageLogger *next) { m_next = next; }
59 
65  Transport *getLogger(void) { return m_transport; }
66 
67 protected:
70 };
71 
78 {
79 public:
84  : m_logger(NULL){};
85 
89  virtual ~MessageLoggers(void);
90 
99  bool addMessageLogger(Transport *transport);
100 
101 protected:
111  erpc_status_t logMessage(MessageBuffer *msg);
112 
113 private:
121  MessageLogger *create(Transport *transport);
122 };
123 
124 } // namespace erpc
125 
128 #endif // _EMBEDDED_RPC__LOGEVENTLISTENERS_H_
Abstract interface for transport layer.
Definition: erpc_transport.hpp:36
enum _erpc_status erpc_status_t
Type used for all status and error return values.
Definition: erpc_common.h:85
MessageLogger * m_logger
Definition: erpc_message_loggers.hpp:102
Transport * m_transport
Definition: erpc_message_loggers.hpp:69
MessageLogger * m_next
Definition: erpc_message_loggers.hpp:68
MessageLogger(Transport *transport)
MessageLogger constructor.
Definition: erpc_message_loggers.hpp:37
Logging messages objects used for logging sent/received messages.
Definition: erpc_message_loggers.hpp:31
MessageLogger * getNext(void)
Return next logger.
Definition: erpc_message_loggers.hpp:51
Represents a memory buffer containing a message.
Definition: erpc_message_buffer.hpp:37
Definition: erpc_arbitrated_client_manager.hpp:25
void setNext(MessageLogger *next)
Set next logger.
Definition: erpc_message_loggers.hpp:58
MessageLoggers(void)
Constructor.
Definition: erpc_message_loggers.hpp:83
Transport * getLogger(void)
Returns next transport object used for logging messages.
Definition: erpc_message_loggers.hpp:65
~MessageLogger(void)
MessageLogger destructor.
Definition: erpc_message_loggers.hpp:44
Logging messages functionality.
Definition: erpc_message_loggers.hpp:77