00001 /********************************************************************* 00002 * File: nml_oi.hh 00003 * 00004 * Defines Generic NML Message structures used to log errors and interact 00005 * with an Operator Interface from within an NML_MODULE. 00006 * 00007 **********************************************************************/ 00008 00009 /* 00010 MODIFICATIONS: 00011 00012 29-May-1997 WPS took definitions from nml_emc.hh 00013 */ 00014 00015 #ifndef NML_OI_HH 00016 #define NML_OI_HH 00017 00018 #include "rcs_defs.hh" // RCS_EXPORT 00019 #include "cms.hh" // class CMS 00020 #include "nml.hh" // class NML 00021 #include "nmlmsg.hh" // class NMLmsg 00022 00023 // NML operator interface stuff for errors, text, and graphics display 00024 00025 #define NML_ERROR_TYPE ((NMLTYPE) 1) 00026 #define NML_TEXT_TYPE ((NMLTYPE) 2) 00027 #define NML_DISPLAY_TYPE ((NMLTYPE) 3) 00028 #define NML_OPERATOR_REQUEST_TYPE ((NMLTYPE) 4) 00029 #define NML_OPERATOR_REPLY_TYPE ((NMLTYPE) 5) 00030 00031 // Sizes for strings for the above messages 00032 00033 #define NML_ERROR_LEN 256 00034 #define NML_TEXT_LEN 256 00035 #define NML_DISPLAY_LEN 256 00036 #define NML_OPERATOR_REQUEST_LEN 256 00037 #define NML_OPERATOR_REPLY_LEN 256 00038 00039 class RCS_EXPORT NML_ERROR:public NMLmsg 00040 { 00041 public: 00042 NML_ERROR ():NMLmsg (NML_ERROR_TYPE, sizeof (NML_ERROR)) 00043 { 00044 }; 00045 ~NML_ERROR () 00046 { 00047 }; 00048 00049 void update (CMS * cms); 00050 char error[NML_ERROR_LEN]; 00051 }; 00052 00053 class RCS_EXPORT NML_TEXT:public NMLmsg 00054 { 00055 public: 00056 NML_TEXT ():NMLmsg (NML_TEXT_TYPE, sizeof (NML_TEXT)) 00057 { 00058 }; 00059 ~NML_TEXT () 00060 { 00061 }; 00062 00063 void update (CMS * cms); 00064 char text[NML_TEXT_LEN]; 00065 }; 00066 00067 class RCS_EXPORT NML_DISPLAY:public NMLmsg 00068 { 00069 public: 00070 NML_DISPLAY ():NMLmsg (NML_DISPLAY_TYPE, sizeof (NML_DISPLAY)) 00071 { 00072 }; 00073 ~NML_DISPLAY () 00074 { 00075 }; 00076 00077 void update (CMS * cms); 00078 char display[NML_DISPLAY_LEN]; 00079 }; 00080 00081 class RCS_EXPORT NML_OPERATOR_REQUEST:public NMLmsg 00082 { 00083 public: 00084 NML_OPERATOR_REQUEST ():NMLmsg (NML_OPERATOR_REQUEST_TYPE, 00085 sizeof (NML_OPERATOR_REQUEST)) 00086 { 00087 }; 00088 ~NML_OPERATOR_REQUEST () 00089 { 00090 }; 00091 00092 void update (CMS * cms); 00093 int key; 00094 char request[NML_OPERATOR_REQUEST_LEN]; 00095 }; 00096 00097 class RCS_EXPORT NML_OPERATOR_REPLY:public NMLmsg 00098 { 00099 public: 00100 NML_OPERATOR_REPLY ():NMLmsg (NML_OPERATOR_REPLY_TYPE, 00101 sizeof (NML_OPERATOR_REPLY)) 00102 { 00103 }; 00104 ~NML_OPERATOR_REPLY () 00105 { 00106 }; 00107 00108 void update (CMS * cms); 00109 int key; 00110 char reply[NML_OPERATOR_REPLY_LEN]; 00111 }; 00112 00113 // NML format function 00114 extern int RCS_EXPORT nmlErrorFormat (NMLTYPE type, void *buffer, CMS * cms); 00115 00116 00117 #endif