NVIDIA DeepStream SDK API Reference

8.0 Release
signal_handler.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
24 #ifndef NVIDIA_DEEPSTREAM_SIGNAL_HANDLER
25 #define NVIDIA_DEEPSTREAM_SIGNAL_HANDLER
26 
27 #include "custom_object.hpp"
28 
29 namespace deepstream {
30 
40 class SignalHandler : public CustomObject {
41 public:
42 
44  typedef struct {
46  std::string name;
48  void* fn;
49  } Callback;
50 
53  public:
54  virtual ~IActionProvider() {}
55 
57  virtual const Callback* getCallbacks() = 0;
58  };
59 
68  SignalHandler(const std::string& name, IActionProvider* provider);
69 
79  SignalHandler(const std::string& name, const char* factory, IActionProvider* provider);
80 
82  virtual ~SignalHandler();
83 
85  static unsigned long type();
86 
88  void* getCallbackFn(const std::string& name) const;
89 
90 protected:
91  std::unique_ptr<IActionProvider> provider_;
92 };
93 
94 }
95 
96 
97 #endif
deepstream::SignalHandler::type
static unsigned long type()
Return the type id assigned to signal handler.
deepstream::SignalHandler::IActionProvider
required interface for a signal handler
Definition: signal_handler.hpp:52
deepstream::CustomObject
Base class for all the custom objects.
Definition: custom_object.hpp:34
deepstream::SignalHandler::IActionProvider::getCallbacks
virtual const Callback * getCallbacks()=0
return the callback
deepstream::SignalHandler::Callback::fn
void * fn
callback function pointer
Definition: signal_handler.hpp:48
deepstream::SignalHandler::Callback
generic callback on the signal
Definition: signal_handler.hpp:44
deepstream
Definition: buffer.hpp:33
deepstream::SignalHandler::getCallbackFn
void * getCallbackFn(const std::string &name) const
Return the callback for a specific signal.
deepstream::SignalHandler::SignalHandler
SignalHandler(const std::string &name, IActionProvider *provider)
Constructor.
deepstream::SignalHandler::Callback::name
std::string name
name of the signal
Definition: signal_handler.hpp:46
custom_object.hpp
deepstream::SignalHandler::~SignalHandler
virtual ~SignalHandler()
Destructor.
deepstream::SignalHandler::provider_
std::unique_ptr< IActionProvider > provider_
Definition: signal_handler.hpp:91
deepstream::SignalHandler::IActionProvider::~IActionProvider
virtual ~IActionProvider()
Definition: signal_handler.hpp:54
deepstream::SignalHandler
SignalHandler class.
Definition: signal_handler.hpp:40