Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HImManager.h
Go to the documentation of this file.
00001 //
00002 // Copyright (c) 2000 by Tech Soft 3D, LLC.
00003 // The information contained herein is confidential and proprietary to
00004 // Tech Soft 3D, LLC., and considered a trade secret as defined under
00005 // civil and criminal statutes.  Tech Soft 3D shall pursue its civil
00006 // and criminal remedies in the event of unauthorized use or misappropriation
00007 // of its trade secrets.  Use of this information by anyone other than
00008 // authorized employees of Tech Soft 3D, LLC. is granted only under a
00009 // written non-disclosure agreement, expressly prescribing the scope and
00010 // manner of such use.
00011 //
00012 // $Id: c8f74d2da8fcdb906b34bd3cc3f71dead4896d40 $
00013 //
00014 
00016 
00020 #ifndef _HIM_MANAGER_H
00021 #define _HIM_MANAGER_H
00022 
00023 #ifdef H_PACK_8
00024 #pragma pack(push)
00025 #pragma pack(8)
00026 #endif
00027 
00028 #include "HTools.h"
00029 
00030 
00031 
00032 
00037 #define HImRegisterCallback(callback_name, callback_function) \
00038     do{ (HImManager::GetCurrentHImManager())->RegisterOneCallback( \
00039             (const char *)callback_name, (void*)callback_function); }while(0);
00040 
00044 #define HImSetCallback(callback_type, callback_name) \
00045     do{ (HImManager::GetCurrentHImManager())->SetCallback( \
00046             (const char *)callback_type, (const char *)callback_name); }while(0);
00047 
00051 #define HImSetCallbackByKey(segment_key, callback_type, callback_name) \
00052     do{ (HImManager::GetCurrentHImManager())->SetCallback( \
00053             segment_key, (const char *)callback_type, (const char *)callback_name); }while(0);
00054 
00058 #define HImUnSetOneCallback(callback_type) \
00059     do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
00060             callback_type); }while(0);
00061 
00066 #define HImUnSetOneCallbackByKey(segment_key, callback_type) \
00067     do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
00068             segment_key, (const char *)callback_type); }while(0);
00069 
00075 #define HImShowCallback(callback_name, callback_type) \
00076     do{ (HImManager::GetCurrentHImManager())->ShowCallback( \
00077             (const char *)callback_name, (char *)callback_type); }while(0);
00078  
00079 
00080 
00081 
00082 
00084 
00095 class MVO_API HImManager
00096 {
00097 
00098     public:
00099 
00100         HImManager();
00101         virtual ~HImManager();
00102 
00104         virtual void RegisterCallbacks();
00105 
00113         virtual void RegisterOneCallback(const char * callback_name, void * callback);
00114 
00123         virtual void SetCallback(HC_KEY segment_key, const char * callback_type, const char * callback_name);
00124         
00133         virtual void SetCallback(const char * callback_type, const char * callback_name);
00134 
00142         virtual void UnSetOneCallback(HC_KEY segment_key, const char * callback_type);
00143 
00150         virtual void UnSetOneCallback(const char * callback_type);
00151 
00159         virtual void ShowCallback(const char *callback_type, char * callback);
00160 
00166         static HImManager *GetCurrentHImManager();
00167 
00168 };
00169 
00170 
00171 #ifdef H_PACK_8
00172 #pragma pack(pop)
00173 #endif
00174 
00175 #endif
00176 
00177 
00178 
00179 
00180 
00181 
00182