Eclipse SUMO - Simulation of Urban MObility
MFXSingleEventThread.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2004-2024 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
20 //
21 /****************************************************************************/
22 
23 #pragma once
24 #include <config.h>
25 
26 #include "fxheader.h"
27 #include <FXThread.h>
28 #include "fxexdefs.h"
29 
31 
32 class MFXSingleEventThread : public FXObject, public FXThread {
34  FXDECLARE(MFXSingleEventThread)
35 
36 public:
37  enum {
39  };
40 
43 
44  virtual ~MFXSingleEventThread();
45 
46  void signal();
47 
48  void signal(FXuint seltype);
49 
50  virtual FXint run() {
51  return 0;
52  }
53 
54  static void sleep(long ms);
55 
56  long onThreadSignal(FXObject*, FXSelector, void*);
57 
58  long onThreadEvent(FXObject*, FXSelector, void*);
59 
60 protected:
63 
65  FXApp* myApp = nullptr;
66 
69 
70 private:
73 
76 
79 };
long onThreadEvent(FXObject *, FXSelector, void *)
long onThreadSignal(FXObject *, FXSelector, void *)
MFXSingleEventThread & operator=(const MFXSingleEventThread &)=delete
invalidate assignment constructor
FXEX::MFXThreadEventHandle event
event
MFXSingleEventThread(const MFXSingleEventThread &)=delete
invalidate copy constructor
MFXInterThreadEventClient * myClient
thread client
static void sleep(long ms)
MFXSingleEventThread()
FOX need this.
FXApp * myApp
pointer to APP
FXInputHandle * MFXThreadEventHandle
Definition: fxexdefs.h:284