Introduction

Getting Started

Programming Guides

API Reference

Additional Resources

HImManager.h
Go to the documentation of this file.
1 // Copyright (c) Tech Soft 3D, Inc.
2 //
3 // The information contained herein is confidential and proprietary to Tech Soft 3D, Inc.,
4 // and considered a trade secret as defined under civil and criminal statutes.
5 // Tech Soft 3D, Inc. shall pursue its civil and criminal remedies in the event of
6 // unauthorized use or misappropriation of its trade secrets. Use of this information
7 // by anyone other than authorized employees of Tech Soft 3D, Inc. is granted only under
8 // a written non-disclosure agreement, expressly prescribing the scope and manner of such use.
9 
11 
15 #ifndef _HIM_MANAGER_H
16 #define _HIM_MANAGER_H
17 
18 #ifdef H_PACK_8
19 #pragma pack(push)
20 #pragma pack(8)
21 #endif
22 
23 #include "HTools.h"
24 
25 
26 
27 
32 #define HImRegisterCallback(callback_name, callback_function) \
33  do{ (HImManager::GetCurrentHImManager())->RegisterOneCallback( \
34  (const char *)callback_name, (void*)callback_function); }while(0);
35 
39 #define HImSetCallback(callback_type, callback_name) \
40  do{ (HImManager::GetCurrentHImManager())->SetCallback( \
41  (const char *)callback_type, (const char *)callback_name); }while(0);
42 
46 #define HImSetCallbackByKey(segment_key, callback_type, callback_name) \
47  do{ (HImManager::GetCurrentHImManager())->SetCallback( \
48  segment_key, (const char *)callback_type, (const char *)callback_name); }while(0);
49 
53 #define HImUnSetOneCallback(callback_type) \
54  do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
55  callback_type); }while(0);
56 
61 #define HImUnSetOneCallbackByKey(segment_key, callback_type) \
62  do{ (HImManager::GetCurrentHImManager())->UnSetOneCallback( \
63  segment_key, (const char *)callback_type); }while(0);
64 
70 #define HImShowCallback(callback_name, callback_type) \
71  do{ (HImManager::GetCurrentHImManager())->ShowCallback( \
72  (const char *)callback_name, (char *)callback_type); }while(0);
73 
74 
75 
76 
77 
79 
90 class MVO_API HImManager
91 {
92 
93  public:
94 
95  HImManager();
96  virtual ~HImManager();
97 
99  virtual void RegisterCallbacks();
100 
108  virtual void RegisterOneCallback(const char * callback_name, void * callback);
109 
118  virtual void SetCallback(HC_KEY segment_key, const char * callback_type, const char * callback_name);
119 
128  virtual void SetCallback(const char * callback_type, const char * callback_name);
129 
137  virtual void UnSetOneCallback(HC_KEY segment_key, const char * callback_type);
138 
145  virtual void UnSetOneCallback(const char * callback_type);
146 
154  virtual void ShowCallback(const char *callback_type, char * callback);
155 
161  static HImManager *GetCurrentHImManager();
162 
163 };
164 
165 
166 #ifdef H_PACK_8
167 #pragma pack(pop)
168 #endif
169 
170 #endif
171 
172 
173 
174 
175 
176 
177 
#define HC_KEY
The HImManager class serves as a manager for IM callbacks.
Definition: HImManager.h:90