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

demon.cc

Go to the documentation of this file.
00001 /*
00002    demon.cc
00003 
00004    NML interface to ISAM demo simulator
00005 
00006    Modifiction history:
00007 
00008    111596-hui, status derived from RCS_STAT_MSG
00009    14-Nov-1996  FMP added NML vocab instead of using EMC; it now includes
00010    derivation from RCS_CMD_MSG
00011    13-Nov-1996  FMP created
00012    */
00013 
00014 #include "rcs.hh"
00015 #include "demon.h"
00016 
00017 // NML format function
00018 
00019 int
00020 demoFormat (NMLTYPE type, void *buffer, CMS * cms)
00021 {
00022   switch (type)
00023     {
00024     case CH1_INIT_TYPE:
00025       ((CH1_INIT *) buffer)->update (cms);
00026       break;
00027 
00028     case CH1_HALT_TYPE:
00029       ((CH1_HALT *) buffer)->update (cms);
00030       break;
00031 
00032     case CH2_INIT_TYPE:
00033       ((CH2_INIT *) buffer)->update (cms);
00034       break;
00035 
00036     case CH2_HALT_TYPE:
00037       ((CH2_HALT *) buffer)->update (cms);
00038       break;
00039 
00040     case CH3_INIT_TYPE:
00041       ((CH3_INIT *) buffer)->update (cms);
00042       break;
00043 
00044     case CH3_HALT_TYPE:
00045       ((CH3_HALT *) buffer)->update (cms);
00046       break;
00047 
00048     case CH1_STATUS_TYPE:
00049       ((CH1_STATUS *) buffer)->update (cms);
00050       break;
00051 
00052     case CH2_STATUS_TYPE:
00053       ((CH2_STATUS *) buffer)->update (cms);
00054       break;
00055 
00056     case CH3_STATUS_TYPE:
00057       ((CH3_STATUS *) buffer)->update (cms);
00058       break;
00059 
00060       // unknown type
00061     default:
00062       return 0;                 // 0 signifies didn't find
00063     }
00064 
00065   return 1;                     // 1 signifies found it
00066 }
00067 
00068 // Message classes
00069 
00070 // CH1
00071 
00072 CH1_INIT::CH1_INIT ():RCS_CMD_MSG (CH1_INIT_TYPE, sizeof (CH1_INIT))
00073 {
00074 
00075 }
00076 
00077 void
00078 CH1_INIT::update (CMS * cms)
00079 {
00080   cms->update (buf, DEMO_MSG_BUF_SIZE);
00081 }
00082 
00083 CH1_HALT::CH1_HALT ():RCS_CMD_MSG (CH1_HALT_TYPE, sizeof (CH1_HALT))
00084 {
00085 
00086 }
00087 
00088 void
00089 CH1_HALT::update (CMS * cms)
00090 {
00091 
00092 }
00093 
00094 // CH2
00095 
00096 CH2_INIT::CH2_INIT ():RCS_CMD_MSG (CH2_INIT_TYPE, sizeof (CH2_INIT))
00097 {
00098 
00099 }
00100 
00101 void
00102 CH2_INIT::update (CMS * cms)
00103 {
00104   cms->update (buf, DEMO_MSG_BUF_SIZE);
00105 }
00106 
00107 CH2_HALT::CH2_HALT ():RCS_CMD_MSG (CH2_HALT_TYPE, sizeof (CH2_HALT))
00108 {
00109 
00110 }
00111 
00112 void
00113 CH2_HALT::update (CMS * cms)
00114 {
00115 
00116 }
00117 
00118 
00119 // CH3
00120 
00121 CH3_INIT::CH3_INIT ():RCS_CMD_MSG (CH3_INIT_TYPE, sizeof (CH3_INIT))
00122 {
00123 
00124 }
00125 
00126 void
00127 CH3_INIT::update (CMS * cms)
00128 {
00129   cms->update (buf, DEMO_MSG_BUF_SIZE);
00130 }
00131 
00132 CH3_HALT::CH3_HALT ():RCS_CMD_MSG (CH3_HALT_TYPE, sizeof (CH3_HALT))
00133 {
00134 
00135 }
00136 
00137 void
00138 CH3_HALT::update (CMS * cms)
00139 {
00140 
00141 }
00142 
00143 // Status classes
00144 
00145 CH1_STATUS::CH1_STATUS ():
00146 RCS_STAT_MSG (CH1_STATUS_TYPE, sizeof (CH1_STATUS))
00147 {
00148 
00149 }
00150 
00151 void
00152 CH1_STATUS::update (CMS * cms)
00153 {
00154   cms->update (buf, DEMO_MSG_BUF_SIZE);
00155 }
00156 
00157 CH2_STATUS::CH2_STATUS ():
00158 RCS_STAT_MSG (CH2_STATUS_TYPE, sizeof (CH2_STATUS))
00159 {
00160 
00161 }
00162 
00163 void
00164 CH2_STATUS::update (CMS * cms)
00165 {
00166   cms->update (buf, DEMO_MSG_BUF_SIZE);
00167 }
00168 
00169 CH3_STATUS::CH3_STATUS ():
00170 RCS_STAT_MSG (CH3_STATUS_TYPE, sizeof (CH3_STATUS))
00171 {
00172 
00173 }
00174 
00175 void
00176 CH3_STATUS::update (CMS * cms)
00177 {
00178   cms->update (buf, DEMO_MSG_BUF_SIZE);
00179 }

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