Ignition Common

API Reference

3.14.0
SignalHandler.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef IGNITION_COMMON_SIGNALHANDLER_HH_
18 #define IGNITION_COMMON_SIGNALHANDLER_HH_
19 
20 #include <functional>
21 
22 #include <ignition/common/Export.hh>
23 
24 namespace ignition
25 {
26  namespace common
27  {
28  // Forward declarations.
29  class SignalHandlerPrivate;
30 
48  class IGNITION_COMMON_VISIBLE SignalHandler
49  {
51  public: SignalHandler();
52 
54  public: virtual ~SignalHandler();
55 
61  public: bool AddCallback(std::function<void(int)> _cb);
62 
66  public: bool Initialized() const;
67 
73  protected: virtual void SetInitialized(const bool _init);
74 
76  private: SignalHandlerPrivate *dataPtr;
77  };
78  }
79 }
80 #endif
Register callbacks that get triggered on SIGINT and SIGTERM.
Definition: SignalHandler.hh:49
bool AddCallback(std::function< void(int)> _cb)
Add a callback to execute when a signal is received.
virtual ~SignalHandler()
Destructor.
virtual void SetInitialized(const bool _init)
Set whether the signal handler was successfully initialized. This function is here for testing purpos...
bool Initialized() const
Get whether the signal handlers were successfully initialized.
Forward declarations for the common classes.