home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1998 September / dppcpro0998.iso / Rwc / Sybase / Install.exe / hpp.z / MMDEF.HPP < prev    next >
Encoding:
C/C++ Source or Header  |  1997-11-25  |  4.9 KB  |  169 lines

  1. #ifndef _MMDEF_HPP
  2. #define _MMDEF_HPP
  3.  
  4. #include "mtdef.hpp"
  5.  
  6. class  DTObject;
  7. class  DTType;
  8. class  MetaObject;
  9. class  MMBaseProperty;
  10. class  MMCommon;
  11. class  MMComponent;
  12. class  MMComponentLib;
  13. class  MMEnumerator;
  14. class  MMEvent;
  15. class  MMEventOverride;
  16. class  MMMethod;
  17. class  MMParameter;
  18. class  MMParameterSet;
  19. class  MMProperty;
  20. class  MMPropertyGroup;
  21. class  MMPropertyControl;
  22. class  MMPropertySheet;
  23. class  MMReferenceNode;
  24. class  MMStyle;
  25. class  MMType;
  26. class  MTPropertyControl;
  27. class  MTPropertySheetBase;
  28. class  SaveItem;
  29. class  SaveSource;
  30. class  PropertyInspectObject;
  31. class  PropertyInspector;
  32.  
  33. struct MMBasePropertyData;
  34. struct MMHelpID;
  35.  
  36. class DTType;
  37.  
  38. enum MMString { MMSTRING_NULL = 0 };
  39. enum MMIndex { MMINDEX_NULL = -1 };
  40. enum MMOffset { MMOFFSET_NULL = -1 };
  41. enum MMSetFnIndex { MMSETFNINDEX_NULL = -1 };
  42. enum MMGetFnIndex { MMGETFNINDEX_NULL = -1 };
  43. enum MMPropCtrlFnIndex { MMPROPCTRLINDEX_NULL = -1 };
  44. enum MMPropSheetFnIndex { MMPROPSHTINDEX_NULL = -1 };
  45. enum MMDTInstFnIndex { MMINSTFNINDEX_NULL = -1 };
  46. enum MMDTTypeFnIndex { MMTYPEFNINDEX_NULL = -1 };
  47. enum MMPropDefFnIndex { MMPROPDEFFNINDEX_NULL = -1 };
  48. enum MMPropMakeEditorFnIndex { MMPROPEDITORFNINDEX_NULL = -1 };
  49.  
  50. typedef unsigned MMVerification;
  51. #define MMVERIFY_GOOD   0xda7aba5e
  52.  
  53.  
  54. typedef WBool                 METADEF (*MMSetPropFn)(
  55.                                         DTObject * obj,
  56.                                         const DTType * val,
  57.                                         const MMBaseProperty * data );
  58.  
  59. typedef DTType *              METADEF (*MMGetPropFn)(
  60.                                         const DTObject * obj,
  61.                                         const MMBaseProperty * data );
  62.  
  63. typedef MTPropertySheetBase * METADEF (*MMMakePropSheet)(
  64.                                         const MMPropertySheet * );
  65.  
  66. typedef MTPropertyControl *   METADEF (*MMMakePropControl)(
  67.                                         const MMPropertyControl * );
  68.  
  69. typedef DTObject *            METADEF (*MMMakeDTObject)(
  70.                                         const MetaObject * );
  71.  
  72. typedef DTType *              METADEF (*MMMakeDTType)(
  73.                                         const MMType * );
  74.  
  75. typedef WBool                 METADEF (*MMPropDefault)(
  76.                                         const DTObject * obj,
  77.                                         const MMBaseProperty * prop );
  78.  
  79. typedef PropertyInspectObject *  METADEF (*MMPropMakeEditor)(
  80.                                         const MMProperty * prop,
  81.                                         PropertyInspector * prt,
  82.                                         WUInt numObjects,
  83.                                         DTObject ** objects );
  84. enum MMFunctionType {
  85.     MMFT_SetPropFn,
  86.     MMFT_GetPropFn,
  87.     MMFT_MakePropSheetFn,
  88.     MMFT_MakePropControl,
  89.     MMFT_MakeDTObject,
  90.     MMFT_MakeDTType,
  91.     MMFT_PropDefault,
  92.     MMFT_PropMakeEditor,
  93.     MMFT_NumFunctionTypes
  94. };
  95.  
  96. struct MMCommonData;
  97. struct MMEventData;
  98. struct MMBaseTypeData;
  99. struct MMTypeData;
  100. struct MMStructTypeData;
  101. struct MMParameterData;
  102. struct MMParameterSetData;
  103. struct MMBasePropertyData;
  104. struct MMStyleData;
  105. struct MMPropertyData;
  106. struct MMMethodData;
  107. struct MMPropertyControlData;
  108. struct MMPropertySheetData;
  109. struct MMReferenceNodeData;
  110. struct MMComponentData;
  111. struct MMLibraryData;
  112.  
  113. /**********************
  114.  *** MMFunctionData ***
  115.  **********************/
  116.  
  117. typedef void (*MMFnPtr)();
  118. struct MMFunctionData {
  119.     MMFnPtr                 function;
  120.     MMString                name;       // NULL is invalid
  121.     WULong                  flags;      // bit-field of flags
  122.     MMString                libraryName;// may not be valid if already snapped
  123. };
  124.  
  125. struct MMStyleList {
  126.     unsigned            entries;
  127.     const MMStyle **    vector;
  128. };
  129.  
  130. struct MMEventList {
  131.     unsigned            entries;
  132.     const MMEvent **    vector;
  133. };
  134.  
  135. struct MMMethodList {
  136.     unsigned            entries;
  137.     const MMMethod **   vector;
  138. };
  139.  
  140. struct MMPropertyList {
  141.     unsigned            entries;
  142.     const MMProperty ** vector;
  143. };
  144.  
  145. struct MMPropertySheetList {
  146.     unsigned                    entries;
  147.     const MMPropertySheet **    vector;
  148. };
  149.  
  150. /***************************
  151.  *** Function Prototypes ***
  152.  ***************************/
  153.  
  154. extern DTType *  METAEXPORTDEF MMStyleGet( const DTObject *, const MMBaseProperty * );
  155. extern WBool     METAEXPORTDEF MMStyleSet( DTObject *, const DTType *,
  156.                                    const MMBaseProperty * );
  157. extern MTPropertySheetBase * METAEXPORTDEF MakePropertySheet( const MMPropertySheet * );
  158. extern MTPropertyControl *   METAEXPORTDEF MakePropertyControl( const MMPropertyControl * );
  159.  
  160.  
  161. #ifndef DLL_PROCESS_ATTACH
  162. #  define DLL_PROCESS_ATTACH 1
  163. #  define DLL_THREAD_ATTACH  2
  164. #  define DLL_THREAD_DETACH  3
  165. #  define DLL_PROCESS_DETACH 0
  166. #endif
  167.  
  168. #endif // _MMDEF_HPP
  169.