Main Page   Class Hierarchy   Alphabetical List   Data Structures   File List   Data Fields   Globals  

nml_oi.hh

Go to the documentation of this file.
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

Generated on Sun Dec 2 15:56:50 2001 for rcslib by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001