Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HImManager.h
Go to the documentation of this file.
00001 // Copyright (c) 1998-2014 by Tech Soft 3D, Inc.
00002 //
00003 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
00004 // and considered a trade secret as defined under civil and criminal statutes.
00005 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
00006 // unauthorized use or misappropriation of its trade secrets.  Use of this information
00007 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
00008 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
00009 
00011 
00015 #ifndef _HIM_MANAGER_H
00016 #define _HIM_MANAGER_H
00017 
00018 #ifdef H_PACK_8
00019 #pragma pack(push)
00020 #pragma pack(8)
00021 #endif
00022 
00023 #include "HTools.h"
00024 
00025 
00026 
00027 
00032 #define HImRegisterCallback(callback_name, callback_function) \
00033     do{ (HImManager::GetCurrentHImManager())->RegisterOneCallback( \
00034             (const char *)callback_name, (void*)callback_function); }while(0);
00035 
00039 #define HImSetCallback(callback_type, callback_name) \
00040     do{ (HImManager::GetCurrentHImManager())->SetCallback( \
00041             (const char *)callback_type, (const char *)callback_name); }while(0);
00042 
00046 #define HImSetCallbackByKey(segment_key, callback_type, callback_name) \
00047     do{ (HImManager::GetCurrentHImManager())->SetCallback( \
00048             segment_key, (const char *)callback_type, (const char *)callback_name); }while(0);
00049 
00053 #define HImUnSetOneCallback(callback_type) \
00054     do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
00055             callback_type); }while(0);
00056 
00061 #define HImUnSetOneCallbackByKey(segment_key, callback_type) \
00062     do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
00063             segment_key, (const char *)callback_type); }while(0);
00064 
00070 #define HImShowCallback(callback_name, callback_type) \
00071     do{ (HImManager::GetCurrentHImManager())->ShowCallback( \
00072             (const char *)callback_name, (char *)callback_type); }while(0);
00073  
00074 
00075 
00076 
00077 
00079 
00090 class MVO_API HImManager
00091 {
00092 
00093     public:
00094 
00095         HImManager();
00096         virtual ~HImManager();
00097 
00099         virtual void RegisterCallbacks();
00100 
00108         virtual void RegisterOneCallback(const char * callback_name, void * callback);
00109 
00118         virtual void SetCallback(HC_KEY segment_key, const char * callback_type, const char * callback_name);
00119         
00128         virtual void SetCallback(const char * callback_type, const char * callback_name);
00129 
00137         virtual void UnSetOneCallback(HC_KEY segment_key, const char * callback_type);
00138 
00145         virtual void UnSetOneCallback(const char * callback_type);
00146 
00154         virtual void ShowCallback(const char *callback_type, char * callback);
00155 
00161         static HImManager *GetCurrentHImManager();
00162 
00163 };
00164 
00165 
00166 #ifdef H_PACK_8
00167 #pragma pack(pop)
00168 #endif
00169 
00170 #endif
00171 
00172 
00173 
00174 
00175 
00176 
00177