YARP
Yet Another Robot Platform
Terminator.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * Copyright (C) 2006-2010 RobotCub Consortium
4  * All rights reserved.
5  *
6  * This software may be modified and distributed under the terms of the
7  * BSD-3-Clause license. See the accompanying LICENSE file for details.
8  */
9 
10 #ifndef YARP_OS_TERMINATOR_H
11 #define YARP_OS_TERMINATOR_H
12 
13 
14 #include <yarp/os/Thread.h>
15 
16 namespace yarp {
17 namespace os {
18 
35 {
36 public:
43  static bool terminateByName(const char* name);
44 };
45 
51 {
52 protected:
54  volatile bool quit;
55  volatile bool ok;
56 
57 public:
62  Terminee(const char* name);
63 
67  virtual ~Terminee();
68 
69 
70  void run() override;
71 
76  bool waitQuit() const;
77 
83  bool mustQuit() const;
84 
89  bool isOk() const;
90 
91  void onStop() override;
92 };
93 
94 } // namespace os
95 } // namespace yarp
96 
97 #endif // YARP_OS_TERMINATOR_H
yarp::os::Terminator
Send a message to a process that has a corresponding socket port created using the Terminee class to ...
Definition: Terminator.h:35
YARP_os_API
#define YARP_os_API
Definition: api.h:19
yarp::os::Thread
An abstraction for a thread of execution.
Definition: Thread.h:25
yarp::os::Terminee::implementation
void * implementation
Definition: Terminator.h:53
yarp::os::Terminee
A class that can be polled to see whether the process has been asked to quit gracefully.
Definition: Terminator.h:51
yarp::os::Terminee::ok
volatile bool ok
Definition: Terminator.h:55
Thread.h
yarp::os::Terminee::quit
volatile bool quit
Definition: Terminator.h:54
yarp
The main, catch-all namespace for YARP.
Definition: environment.h:18