home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / vgserv45.zip / BASE / HPTWGS2 / include / fcwmsg.h < prev    next >
C/C++ Source or Header  |  2001-03-21  |  4KB  |  100 lines

  1. /*****************************************************************************/
  2. /*                                                                           */
  3. /*                           OCO SOURCE MATERIALS                            */
  4. /*                             IBM CONFIDENTIAL                              */
  5. /*                                    OR                                     */
  6. /*                        IBM CONFIDENTIAL RESTRICTED                        */
  7. /*            WHEN COMBINED WITH THE AGGREGATED OCO SOURCE MODULES           */
  8. /*                           FOR THIS PROGRAM PRODUCT                        */
  9. /*                                                                           */
  10. /*      VisualAge Generator Server for OS/2, AIX, HP-UX, and Windows NT      */
  11. /*                          Version 3.0  5697-C28                            */
  12. /*                    (C) COPYRIGHT IBM CORP. 1994,1997                      */
  13. /*                                                                           */
  14. /*****************************************************************************/
  15. #ifndef FCWMSG_H
  16. #  define FCWMSG_H
  17.  
  18. /*-------------------------------------------------------------------------*/
  19. /*  Define the maximum message text length and number of inserts.          */
  20. /*  Win32 does not seem to have any limits, so we will use OS/2's values.  */
  21. /*-------------------------------------------------------------------------*/
  22. const MSG_MAX_LENGTH = 256;
  23. const MSG_MAX_INSERTS = 9;
  24.  
  25. /*-------------------------------------------------------------------------*/
  26. /*  Refer to OS/2 CICS applicatin ELAERRA for operation requirement.       */
  27. /*  The following structure maps directly to working storage, EZE7.        */
  28. /*-------------------------------------------------------------------------*/
  29. struct SCREENDATA {
  30.      short      buffer_size;
  31.      char       trans_id[8];
  32.      short      err_count;
  33.      char       nls_code[3];
  34.      char       screen_size;
  35.      char       last_err_pgm[8];
  36.      char       last_err_date[13];
  37.      char       last_err_time[11];
  38.      char       cont_msg[78];
  39.      char       exit_msg[78];
  40.      struct
  41.      {
  42.        char     err_msg_prefix[9];
  43.        char     err_msg_text[69];
  44.      } err_msg [100];
  45. } ;
  46.  
  47.  
  48.  
  49. /*-------------------------------------------------------------------------*/
  50. /*  MsgBlock class...                                                      */
  51. /*-------------------------------------------------------------------------*/
  52. class MsgBlock {
  53.   private:
  54.     char                  msgBuf[MSG_MAX_LENGTH+2];
  55.     unsigned long         msgLength;
  56.  
  57.     static SCREENDATA*    pScreenData;
  58.     static short          Msg_count;
  59.  
  60.     int                   diagnosticFlag;
  61.     char*                 errorFile;
  62.     char*                 errorFunction;
  63.     long                  errorLine;
  64.  
  65.     long                  msgNum;
  66.     long                  numInserts;
  67.     char*                 inserts[MSG_MAX_INSERTS];
  68.  
  69.     char*                 GetSpecialMessage();
  70.     void                  AddMsgToErrScreen( char* pMsg );
  71.     char*                 GetMessage();
  72.  
  73.     void*                 pImpData;
  74.  
  75.   public:
  76.                           MsgBlock();
  77.                           MsgBlock(MsgBlock const &);
  78.                           ~MsgBlock();
  79.  
  80.     MsgBlock&             DisplayMessage();
  81.     MsgBlock&             DisplayMessage( const long, Bool, ... );
  82.     MsgBlock&             DisplayMessageToScreen();
  83.     MsgBlock&             DisplayCSOMessage( CMCOMP* );
  84.     MsgBlock&             SetDisplayMessage( const long, ... );
  85.  
  86.     void                  SetErrorFile( char* );
  87.     void                  SetErrorLine( const long );
  88.     void                  SetErrorFunction( char* );
  89.     void                  SetDiagnostic();
  90.     int                   DiagnosticOn();
  91.     char*                 GetMsgText();
  92.     char*                 GetScreenData() const;
  93.     long                  GetMsgNum() const;
  94.     void                  SetMsgNum( const long );
  95.     void                  SetNumInserts( const long );
  96.     void                  SetInserts( const int, char* );
  97. };
  98.  
  99. #endif
  100.