home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / VSCPPv8.zip / VACPP / IBMCPP / samples / VISBUILD / RAPSHEET / CPPOV23 / ISUSPECT.HPP < prev    next >
Text File  |  1995-05-15  |  8KB  |  187 lines

  1. #ifndef _ISUSPECT_
  2. #define _ISUSPECT_
  3. //****************************************************************************
  4. // ISuspect - C++ Header File (isuspect.hpp)                                 *
  5. //                                                                           *
  6. // COPYRIGHT: Copyright (C) International Business Machines Corp., 1994,1995 *
  7. //                                                                           *
  8. // DISCLAIMER OF WARRANTIES:                                                 *
  9. //   The following [enclosed] code is sample code created by IBM             *
  10. //   Corporation.  This sample code is not part of any standard IBM product  *
  11. //   and is provided to you solely for the purpose of assisting you in the   *
  12. //   development of your applications.  The code is provided "AS IS",        *
  13. //   without warranty of any kind.  IBM shall not be liable for any damages  *
  14. //   arising out of your use of the sample code, even if they have been      *
  15. //   advised of the possibility of such damages.                             *
  16. //****************************************************************************
  17. //NOTE: WE RECOMMEND USING A FIXED-SPACE FONT TO LOOK AT THE SOURCE.
  18. //
  19.  
  20. #ifndef _IPERSON_
  21.  #include <iperson.hpp>
  22. #endif
  23. #ifndef _ISTRING_
  24.  #include <istring.hpp>
  25. #endif
  26. #ifndef _IVSEQ_
  27.  #include <ivseq.h>
  28. #endif
  29. #ifndef _IRESLIB_
  30. #include <ireslib.hpp>
  31. #endif
  32. #ifndef _IARREST_
  33.  #include <iarrest.hpp>
  34. #endif
  35. #ifndef _ILSTSEEN_
  36. #include <ilstseen.hpp>
  37. #endif
  38.  
  39. /*----------------------------------------------------------------------------*/
  40. /* Align classes on four byte boundary.                                       */
  41. /*----------------------------------------------------------------------------*/
  42. #pragma pack(4)
  43.  
  44. class _Export ISuspect : public IPerson {
  45.  
  46. /*--------------------------- PUBLIC -----------------------------------------*/
  47. public:
  48.  
  49. /*------------------------- Constructors/Destructor ----------------------------
  50.  -----------------------------------------------------------------------------*/
  51.   ISuspect ();
  52.   ISuspect (const ISuspect & partCopy);
  53. virtual
  54.   ~ISuspect ();
  55.  
  56. /*---------------------  ENUMERATED TYPES  ------------------------
  57.  *-----------------------------------------------------------------*/
  58. enum IMugAngle   {left,                     //0
  59.                   front,                    //1
  60.                   right};                   //2
  61.  
  62. /*-------------------------------- Operators -----------------------------------
  63. ------------------------------------------------------------------------------*/
  64.   ISuspect & operator= (const ISuspect & aSuspect);
  65.  
  66.   Boolean
  67.     operator == (const ISuspect & value) const,
  68.     operator != (const ISuspect & value) const,
  69.     operator == (const ISuspect * value) const,
  70.     operator != (const ISuspect * value) const;
  71.  
  72.   virtual IString asString () const;
  73.   virtual IString asDebugInfo () const;
  74.  
  75.  
  76.  
  77. /*-------------------------------- Attributes ----------------------------------
  78.  | The following are attributes for this class:
  79.  |    arrestList                 - list of arrests associated with a suspect
  80.  |    bookNumber                 - number assigned to a suspect when first booked
  81.  |    bookNumberAsString         - number assigned to a suspect when first booked
  82.  |                                 (as an IString)
  83.  |    hasMole                    - indicates if suspect has one or more moles
  84.  |    hasScar                    - indicates if suspect has one or more scars
  85.  |    hasTattoo                  - indicates if suspect has one or more tattoos
  86.  |    lastSeenList               - list of places the suspect has been seen
  87.  |    MO                         - modis operandi
  88.  |    moleDesc                   - description and location of suspect's moles
  89.  |    mugFront                   - Id of bitmap for suspect's front portrait
  90.  |    mugLeft                    - Id of bitmap for suspect's left portrait
  91.  |    mugRight                   - Id of bitmap for suspect's right portrait
  92.  |    mugFrontAsHandle           - Resource handle for Id of Bitmap for suspect's front portrait
  93.  |    mugLeftAsHandle            - Resource handle for Id of bitmap for suspect's left portrait
  94.  |    mugRightAsHandle           - Resource handle for Id of bitmap for suspect's right portrait
  95.  |    scarDesc                   - description and location of suspect's scars
  96.  |    tattooDesc                 - description and location of suspect's tattoos
  97.  -----------------------------------------------------------------------------*/
  98.   virtual IVSequence<IArrest *> * arrestList() const;
  99.   virtual ISuspect & setArrestList(IVSequence<IArrest *> * aArrestList);
  100.  
  101.   virtual IString bookNumberAsString() const;
  102.   virtual ISuspect & setBookNumberAsString(const IString & aBookNumber);
  103.  
  104.   virtual unsigned long bookNumber() const;
  105.   virtual ISuspect & setBookNumber(const unsigned long aBookNumber);
  106.  
  107.   virtual Boolean hasMole() const;
  108.   virtual ISuspect & enableHasMole(Boolean enable = true);
  109.  
  110.   virtual Boolean hasScar() const;
  111.   virtual ISuspect & enableHasScar(Boolean enable = true);
  112.  
  113.   virtual Boolean hasTattoo() const;
  114.   virtual ISuspect & enableHasTattoo(Boolean enable = true);
  115.  
  116.   virtual IVSequence<ILastSeen *> * lastSeenList() const;
  117.   virtual ISuspect & setLastSeenList(IVSequence<ILastSeen *> * aLastSeenList);
  118.  
  119.   virtual IString MO() const;
  120.   virtual ISuspect & setMO(const IString & aMO);
  121.  
  122.   virtual IString moleDesc() const;
  123.   virtual ISuspect & setMoleDesc(const IString & aMoleDesc);
  124.  
  125.   virtual unsigned short mugFront() const;
  126.   virtual ISuspect & setMugFront(const unsigned short aMugFront);
  127.  
  128.   virtual unsigned short mugLeft() const;
  129.   virtual ISuspect & setMugLeft(const unsigned short aMugLeft);
  130.  
  131.   virtual unsigned short mugRight() const;
  132.   virtual ISuspect & setMugRight(const unsigned short aMugRight);
  133.  
  134.   virtual IBitmapHandle mugFrontAsHandle() const;
  135.   virtual IBitmapHandle mugLeftAsHandle() const;
  136.   virtual IBitmapHandle mugRightAsHandle() const;
  137.  
  138.   virtual IString scarDesc() const;
  139.   virtual ISuspect & setScarDesc(const IString & aScarDesc);
  140.  
  141.   virtual IString tattooDesc() const;
  142.   virtual ISuspect & setTattooDesc(const IString & aTattooDesc);
  143.  
  144.  
  145. /*----------------------- Notification Event Ids -------------------------------
  146.  -----------------------------------------------------------------------------*/
  147.   static INotificationId arrestListId;
  148.   static INotificationId bookNumberId;
  149.   static INotificationId hasMoleId;
  150.   static INotificationId hasScarId;
  151.   static INotificationId hasTattooId;
  152.   static INotificationId lastSeenListId;
  153.   static INotificationId MOId;
  154.   static INotificationId moleDescId;
  155.   static INotificationId mugFrontId;
  156.   static INotificationId mugLeftId;
  157.   static INotificationId mugRightId;
  158.   static INotificationId scarDescId;
  159.   static INotificationId tattooDescId;
  160.  
  161. /*--------------------------- PRIVATE ----------------------------------------*/
  162. private:
  163.   static const unsigned short defaultMugId;
  164.   static const IDynamicLinkLibrary mugLib; 
  165.   unsigned long  iBookNumber;
  166.   unsigned short iMugFront;
  167.   unsigned short iMugLeft;
  168.   unsigned short iMugRight;
  169.   Boolean iHasMole;
  170.   Boolean iHasScar;
  171.   Boolean iHasTattoo;
  172.   IString iMO;
  173.   IString iMoleDesc;
  174.   IString iScarDesc;
  175.   IString iTattooDesc;
  176.   IVSequence<IArrest *> *iArrestList;
  177.   IVSequence<ILastSeen *> *iLastSeenList;
  178.  
  179. };   //ISuspect
  180.  
  181. /*----------------------------------------------------------------------------*/
  182. /* Resume compiler default packing.                                           */
  183. /*----------------------------------------------------------------------------*/
  184. #pragma pack()
  185.  
  186. #endif
  187.