NAP
udpservice.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 // External Includes
8 #include <nap/service.h>
9 
10 namespace nap
11 {
13  // forward declares
14  class UDPThread;
15 
20  class NAPAPI UDPService : public Service
21  {
22  friend class UDPThread;
23 
24  RTTI_ENABLE(Service)
25  public:
29  UDPService(ServiceConfiguration* configuration);
30 
31  protected:
36  virtual void registerObjectCreators(rtti::Factory& factory) override;
37 
43  virtual bool init(utility::ErrorState& error) override;
44 
48  virtual void shutdown() override;
49 
54  virtual void update(double deltaTime) override;
55 
56  private:
61  void registerUdpThread(UDPThread* thread);
62 
67  void removeUdpThread(UDPThread* thread);
68  private:
69  // registered udp threads
70  std::vector<UDPThread*> mThreads;
71  };
72 }
nap::UDPThread
Definition: udpthread.h:51
nap::utility::ErrorState
Definition: errorstate.h:19
nap::ServiceConfiguration
Definition: service.h:28
nap::Service
Definition: templateservice.h:8
nap::rtti::Factory
Definition: factory.h:78
nap
Definition: templateapp.h:17
nap::UDPService
Definition: udpservice.h:20