home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: SysTools / SysTools.zip / taman002.zip / TASKMANA.ZIP / src / kModuleRecord.cpp < prev    next >
C/C++ Source or Header  |  2000-04-29  |  4KB  |  161 lines

  1. /* $Id: kModuleRecord.cpp,v 1.1 2000/04/29 19:06:35 stknut Exp $
  2.  *
  3.  * kModuleRecord - Container record.
  4.  *
  5.  * Copyright (c) 2000 knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
  6.  *
  7.  */
  8.  
  9.  
  10.  
  11. /*******************************************************************************
  12. *   Defined Constants And Macros                                               *
  13. *******************************************************************************/
  14. #define INCL_DOSERRORS
  15. #define INCL_WIN
  16.  
  17. /*******************************************************************************
  18. *   Header Files                                                               *
  19. *******************************************************************************/
  20. #include <os2.h>
  21. #ifdef USE_KLIB
  22.     #include <kAssert.h>
  23.     #include <kLog.h>
  24.     #include <kHeap.h>
  25. #endif
  26. #include <stddef.h>
  27. #include <stdio.h>
  28. #include <string.h>
  29.  
  30. #include "kBase.h"
  31. #include "kError.h"
  32. #include "kContainer.h"
  33. #include "kQuerySysState.h"
  34. #include "kModuleRecord.h"
  35.  
  36.  
  37. /*******************************************************************************
  38. *   Global Variables                                                           *
  39. *******************************************************************************/
  40. const FIELDINFO kModuleRecord::aFieldInfo[] =
  41. {
  42.    {
  43.       sizeof(FIELDINFO),
  44.       CFA_STRING | CFA_HORZSEPARATOR | CFA_SEPARATOR | CFA_RIGHT,
  45.       CFA_STRING,
  46.       (PVOID)"hMte",
  47.       offsetof(kModuleRecord, pszhMte),
  48.       NULL,
  49.       NULL,
  50.       0L
  51.    }
  52.    ,
  53.    {
  54.       sizeof(FIELDINFO),
  55.       CFA_STRING | CFA_HORZSEPARATOR | CFA_SEPARATOR,
  56.       CFA_STRING,
  57.       (PVOID)"Type",
  58.       offsetof(kModuleRecord, pszType),
  59.       NULL,
  60.       NULL,
  61.       0L
  62.    }
  63.    ,
  64.    {
  65.       sizeof(FIELDINFO),
  66.       CFA_STRING | CFA_HORZSEPARATOR | CFA_SEPARATOR | CFA_RIGHT,
  67.       CFA_STRING,
  68.       (PVOID)"#ImpMods",
  69.       offsetof(kModuleRecord, pszcImpMods),
  70.       NULL,
  71.       NULL,
  72.       0L
  73.    }
  74.    ,
  75.    {
  76.       sizeof(FIELDINFO),
  77.       CFA_STRING | CFA_HORZSEPARATOR | CFA_SEPARATOR | CFA_RIGHT,
  78.       CFA_STRING,
  79.       (PVOID)"#Objects",
  80.       offsetof(kModuleRecord, pszcObjects),
  81.       NULL,
  82.       NULL,
  83.       0L
  84.    }
  85.    ,
  86.    {
  87.       sizeof(FIELDINFO),
  88.       CFA_STRING | CFA_HORZSEPARATOR,
  89.       CFA_STRING,
  90.       (PVOID)"Name",
  91.       offsetof(kModuleRecord, pszName),
  92.       NULL,
  93.       NULL,
  94.       0L
  95.    }
  96. };
  97.  
  98. const unsigned  kModuleRecord::cFieldInfo = 5;
  99.  
  100.  
  101. /**
  102.  * Init function.
  103.  */
  104. VOID    kModuleRecord::init()
  105. {
  106.     pszhMte = &szhMte[0];
  107.     pszType = &szType[0];
  108.     pszcImpMods = &szcImpMods[0];
  109.     pszcObjects = &szcObjects[0];
  110.     pszName = &szName[0];
  111. }
  112.  
  113.  
  114. /**
  115.  * Set record information according to the passed in pProcData struct.
  116.  * @param     pMteRec  MTE info from QS.
  117.  * @author    knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
  118.  */
  119. VOID  kModuleRecord::set(qsLrec_s *pMteRec)
  120. {
  121.     /* Save hMte */
  122.     hMte = pMteRec->hmte;
  123.  
  124.     /*
  125.      * Set and format
  126.      */
  127.     sprintf(szhMte,     "%04x", pMteRec->hmte);
  128.     if (pMteRec->fFlat)
  129.         strcpy(szType, "32-bit (LX)");
  130.     else
  131.         strcpy(szType, "16-bit (NE)");
  132.     sprintf(szcImpMods,  "%04x", pMteRec->ctImpMod);
  133.     sprintf(szcObjects, "%04x", pMteRec->ctObj);
  134.     if (pMteRec->pName != NULL)
  135.         strcpy(szName, (char*)pMteRec->pName);
  136.     else
  137.         strcpy(szName, "<unknown>");
  138. }
  139.  
  140.  
  141. /**
  142.  * Set the data of the record.
  143.  * @param     hMte      Module handle.
  144.  * @param     pszName   Module name.
  145.  */
  146. VOID    kModuleRecord::set(USHORT hMte)
  147. {
  148.     this->hMte = hMte;
  149.     sprintf(szhMte,     "0x%04x", hMte);
  150.     if (pszName != NULL)
  151.         strcpy(szName, pszName);
  152.     else
  153.         strcpy(szName, "<unknown>");
  154.     strcpy(szType    , "-");
  155.     strcpy(szcImpMods, "-");
  156.     strcpy(szcObjects, "-");
  157.     strcpy(szName    , "-");
  158. }
  159.  
  160.  
  161.