openModeller  Version 1.4.0
CallbackWrapper.hh
Go to the documentation of this file.
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