NAP
oscpacketlistener.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // Local Includes
8 #include "oscevent.h"
9 
10 // External Includes
11 #include <osc/OscPacketListener.h>
12 #include <queue>
13 #include <mutex>
14 
15 namespace nap
16 {
17  class OSCReceiver;
18 
22  class NAPAPI OSCPacketListener : public osc::OscPacketListener
23  {
24  friend class OSCReceiver;
25  public:
26  OSCPacketListener(OSCReceiver& receiver);
27 
31  void setDebugOutput(bool value) { mDebugOutput = value; }
32 
33  protected:
34  virtual void ProcessMessage(const osc::ReceivedMessage& message, const IpEndpointName& remoteEndpoint) override;
35 
36  private:
37  OSCReceiver& mReceiver; // Receiver that holds the message queue
38  bool mDebugOutput = false; // When set to true the listener will print all the received messages
39 
44  static void displayMessage(const OSCEvent& event);
45  };
46 }
nap::OSCEvent
Definition: oscevent.h:25
nap::OSCPacketListener
Definition: oscpacketlistener.h:22
nap::OSCPacketListener::setDebugOutput
void setDebugOutput(bool value)
Definition: oscpacketlistener.h:31
nap::OSCReceiver
Definition: oscreceiver.h:34
nap
Definition: templateapp.h:17