Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef ACE_FOXREACTOR_H
00019 #define ACE_FOXREACTOR_H
00020 #include "ace/pre.h"
00021
00022 #include "ace/config-all.h"
00023
00024 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 # pragma once
00026 #endif
00027
00028 #include "ace/Select_Reactor.h"
00029 #include "ace/FoxReactor/ACE_FoxReactor_export.h"
00030
00031 #include <fx.h>
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041 class ACE_FoxReactor_Export ACE_FoxReactor : public FXObject , public ACE_Select_Reactor
00042 {
00043 FXDECLARE(ACE_FoxReactor)
00044 public:
00045
00046 ACE_FoxReactor (FXApp* a=0,
00047 size_t size = DEFAULT_SIZE,
00048 bool restart = false,
00049 ACE_Sig_Handler * = 0);
00050 virtual ~ACE_FoxReactor (void);
00051
00052 void fxapplication(FXApp* a);
00053
00054
00055 virtual long schedule_timer (ACE_Event_Handler *event_handler,
00056 const void *arg,
00057 const ACE_Time_Value &delay,
00058 const ACE_Time_Value &interval);
00059 virtual int reset_timer_interval (long timer_id,
00060 const ACE_Time_Value &interval);
00061 virtual int cancel_timer (ACE_Event_Handler *handler,
00062 int dont_call_handle_close = 1);
00063 virtual int cancel_timer (long timer_id,
00064 const void **arg = 0,
00065 int dont_call_handle_close = 1);
00066
00067
00068 long onFileEvents (FXObject*, FXSelector, void*);
00069 long onTimerEvents (FXObject*, FXSelector, void*);
00070
00071
00072 protected:
00073
00074
00075 virtual int register_handler_i (ACE_HANDLE handle,
00076 ACE_Event_Handler *handler,
00077 ACE_Reactor_Mask mask);
00078
00079
00080 virtual int register_handler_i (const ACE_Handle_Set &handles,
00081 ACE_Event_Handler *handler,
00082 ACE_Reactor_Mask mask);
00083
00084
00085 virtual int remove_handler_i (ACE_HANDLE handle,
00086 ACE_Reactor_Mask mask);
00087
00088
00089 virtual int remove_handler_i (const ACE_Handle_Set &handles,
00090 ACE_Reactor_Mask);
00091
00092
00093 virtual int wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &,
00094 ACE_Time_Value *);
00095
00096 int FoxWaitForMultipleEvents (int,ACE_Select_Reactor_Handle_Set &,ACE_Time_Value *);
00097
00098 private:
00099
00100
00101 void reset_timeout (void);
00102
00103 FXApp *fxapp;
00104
00105
00106 ACE_FoxReactor (const ACE_FoxReactor &);
00107 ACE_FoxReactor &operator = (const ACE_FoxReactor &);
00108 };
00109
00110 #include "ace/post.h"
00111 #endif
00112