00001 /****************************************************************************** 00002 * 00003 * \file sml/callbackstruct.h 00004 * \brief SML CALLBACKSTRUCT 00005 * 00006 * \if NODOC 00007 * $Log: callbackstruct.h_v $ 00008 * Revision 1.2 2007/05/08 15:45:22 dwilliss 00009 * SML namespace 00010 * 00011 * Revision 1.1 2007/05/04 22:03:13 dwilliss 00012 * Initial revision 00013 * 00014 * \endif 00015 */ 00016 /*****************************************************************************/ 00017 00018 #ifndef INC_SML_CALLBACKSTRUCT_H 00019 #define INC_SML_CALLBACKSTRUCT_H 00020 00021 #ifndef INC_MI32_MICALLBACKLIST_H 00022 #include <mi32/micallbacklist.h> 00023 #endif 00024 #ifndef INC_RVC_OBJITEM_H 00025 #include <rvc/objitem.h> 00026 #endif 00027 #ifndef INC_MI32_ELEMTYPE_H 00028 #include <mi32/elemtype.h> 00029 #endif 00030 00031 namespace SML { 00032 class CONTEXT; 00033 class SYMBOL; 00034 00035 /***************************************************************************/ 00036 00062 00063 struct CALLBACKSTRUCT : public MICALLBACKLIST::ANYCALLBACKSTRUCT { 00064 CALLBACKSTRUCT ( 00065 ) : 00066 ChangesMade(0), 00067 context(0), 00068 sym(0), 00069 err(0) 00070 { 00071 } 00072 00073 CALLBACKSTRUCT ( 00074 CONTEXT *pcontext, 00075 UINT32 preason 00076 ) : 00077 ANYCALLBACKSTRUCT(preason), 00078 ChangesMade(0), 00079 context(pcontext), 00080 sym(0), 00081 err(0) 00082 { 00083 } 00084 #ifndef GENERATING_DOXYGEN_OUTPUT 00085 // These used to be filename/inode which is now ObjItem at the bottom. 00086 // But because we construct these inside RVCSYS and pass them out, we 00087 // can't change the offset of the other members without recompiling 00088 // everything. So delete these late some friday afternoon just before 00089 // a weekend build. And while were're at it, change ChangedMade to a bool. 00090 // I'd do that now, but sizeof(bool) may not be == sizeof(int) on all 00091 // systems 00092 MIUNICODE* xxUnused1; 00093 INT32 xxUnsued2; 00094 #endif 00095 int ChangesMade; 00096 SML::CONTEXT *context; 00097 SML::SYMBOL *sym; 00098 ERRVALUE err; 00099 RVC::OBJITEM ObjItem; 00100 }; 00101 00102 PREVENT_MEMFUNC(SML::CALLBACKSTRUCT) 00103 00104 00105 } // end of SML namespace 00106 00107 typedef SML::CALLBACKSTRUCT SMLCALLBACKSTRUCT; 00108 00109 00110 #define MsmlCR_Modified 0x00000001 00111 #define MsmlCR_Filename 0x00000002 00112 #define MsmlCR_SymbolAdded 0x00000004 00113 #define MsmlCR_End 0x00000008 00114 #define MsmlCR_DestroyBegin 0x00000010 00115 #define MsmlCR_Create 0x00000020 00116 #define MsmlCR_Destroy 0x00000040 00117 #define MsmlCR_InstallFuncsSML 0x00000080 00118 #define MsmlCR_InstallFuncsGRE 0x00000100 00119 00120 #endif // INC_SML_CALLBACKSTRUCT_H 00121 00122
1.6.1