openModeller
Version 1.4.0
|
00001 00027 #ifndef _OM_CALLBACK_WRAPPER_ 00028 #define _OM_CALLBACK_WRAPPER_ 00029 00030 #include <openmodeller/om_defs.hh> 00031 00036 class CallbackWrapper { 00037 00038 public: 00039 00041 CallbackWrapper(); 00042 00044 ~CallbackWrapper() {}; 00045 00050 void setModelCreationCallback( ModelCreationCallback func, void *param ); 00051 00056 void setModelProjectionCallback( ModelProjectionCallback func, void *param ); 00057 00062 void setAbortionCallback( AbortionCallback func, void *param ); 00063 00067 void notifyModelCreationProgress( float progress ); 00068 00072 void notifyModelProjectionProgress( float progress ); 00073 00078 bool abortionRequested(); 00079 00080 private: 00081 00082 // Model creation callback 00083 ModelCreationCallback _model_creation_callback; 00084 00085 // Pointer to extra parameter in model creation callbacks 00086 void * _model_creation_arg; 00087 00088 // Model projection callback 00089 ModelProjectionCallback _model_projection_callback; 00090 00091 // Pointer to extra parameter in model projection callbacks 00092 void * _model_projection_arg; 00093 00094 // Job abortion callback 00095 AbortionCallback _abortion_callback; 00096 00097 // Pointer to extra parameter in abortion callbacks 00098 void * _abortion_arg; 00099 }; 00100 00101 #endif