Entropy Piano Tuner
1.1.3 (documentation not yet complete)
An open-source experimental software for piano tuning by entropy minimization
|
Class for handling and sending messages. More...
#include <messagehandler.h>
Public Member Functions | |
~MessageHandler () | |
Empty desctructor. More... | |
void | process () |
Main task, processing the events in the queue. More... | |
void | addListener (MessageListener *listener) |
Connect a new message listener. More... | |
void | removeListener (MessageListener *listener) |
Disconnect a message listener. More... | |
void | addMessage (MessagePtr message, bool dropOlder=false) |
Submit a message. More... | |
Static Public Member Functions | |
template<class msgclass , class... Args> | |
static void | send (Args &&...args) |
short function for creating and sending a message More... | |
static void | send (Message::MessageTypes type) |
short function for creating and sending a simple message More... | |
template<class msgclass , class... Args> | |
static void | sendUnique (Args &&...args) |
short function for creating and sending a message and drop older messages of the same type so that this message is unique More... | |
static void | sendUnique (Message::MessageTypes type) |
short function for creating and sending a simple message More... | |
static MessageHandler & | getSingleton () |
get a reference to the singleton class More... | |
static MessageHandler * | getSingletonPtr () |
get a pointer to the singleton class More... | |
Private Member Functions | |
MessageHandler () | |
private constructor since this class is a singleton More... | |
Private Attributes | |
std::list< MessageListener * > | mListeners |
List of all listeners. More... | |
std::list< MessageListener * > | mListenersToAdd |
List of listeners to add in the next frame. More... | |
std::list< MessageListener * > | mListenersToRemove |
List of listeners to remove in the next frame. More... | |
std::mutex | mListenersChangesMutex |
Mutex for accessing the listeners list. More... | |
std::list< MessagePtr > | mMessages |
Queue of messages to be submitted. More... | |
std::mutex | mMessageMutex |
Mutex for accessing the queue. More... | |
Static Private Attributes | |
static MessageHandler | mSingleton |
Singleton instance. More... | |
Class for handling and sending messages.
This class adds messages of the different threads, places them in a queue and sends them to the connected listeners.
This class is a singleton. Note that "process" has to be called in the same thread as the used gui.
Definition at line 43 of file messagehandler.h.
|
private |
private constructor since this class is a singleton
Definition at line 33 of file messagehandler.cpp.
MessageHandler::~MessageHandler | ( | ) |
Empty desctructor.
Definition at line 39 of file messagehandler.cpp.
void MessageHandler::addListener | ( | MessageListener * | listener | ) |
Connect a new message listener.
Definition at line 101 of file messagehandler.cpp.
void MessageHandler::addMessage | ( | MessagePtr | message, |
bool | dropOlder = false |
||
) |
Submit a message.
message | the message to add |
dropOlder | if true it will remove all older messages of the same type |
Definition at line 123 of file messagehandler.cpp.
|
static |
get a reference to the singleton class
Definition at line 45 of file messagehandler.cpp.
|
static |
get a pointer to the singleton class
Definition at line 51 of file messagehandler.cpp.
void MessageHandler::process | ( | ) |
Main task, processing the events in the queue.
Definition at line 57 of file messagehandler.cpp.
void MessageHandler::removeListener | ( | MessageListener * | listener | ) |
Disconnect a message listener.
Definition at line 111 of file messagehandler.cpp.
|
inlinestatic |
short function for creating and sending a message
Definition at line 48 of file messagehandler.h.
|
inlinestatic |
short function for creating and sending a simple message
Definition at line 53 of file messagehandler.h.
|
inlinestatic |
short function for creating and sending a message and drop older messages of the same type so that this message is unique
Definition at line 57 of file messagehandler.h.
|
inlinestatic |
short function for creating and sending a simple message
Definition at line 62 of file messagehandler.h.
|
private |
List of all listeners.
Definition at line 82 of file messagehandler.h.
|
mutableprivate |
Mutex for accessing the listeners list.
Definition at line 85 of file messagehandler.h.
|
private |
List of listeners to add in the next frame.
Definition at line 83 of file messagehandler.h.
|
private |
List of listeners to remove in the next frame.
Definition at line 84 of file messagehandler.h.
|
mutableprivate |
Mutex for accessing the queue.
Definition at line 87 of file messagehandler.h.
|
private |
Queue of messages to be submitted.
Definition at line 86 of file messagehandler.h.
|
staticprivate |
Singleton instance.
Definition at line 81 of file messagehandler.h.