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 >
Wrap
Text File
|
1995-05-15
|
8KB
|
187 lines
#ifndef _ISUSPECT_
#define _ISUSPECT_
//****************************************************************************
// ISuspect - C++ Header File (isuspect.hpp) *
// *
// COPYRIGHT: Copyright (C) International Business Machines Corp., 1994,1995 *
// *
// DISCLAIMER OF WARRANTIES: *
// The following [enclosed] code is sample code created by IBM *
// Corporation. This sample code is not part of any standard IBM product *
// and is provided to you solely for the purpose of assisting you in the *
// development of your applications. The code is provided "AS IS", *
// without warranty of any kind. IBM shall not be liable for any damages *
// arising out of your use of the sample code, even if they have been *
// advised of the possibility of such damages. *
//****************************************************************************
//NOTE: WE RECOMMEND USING A FIXED-SPACE FONT TO LOOK AT THE SOURCE.
//
#ifndef _IPERSON_
#include <iperson.hpp>
#endif
#ifndef _ISTRING_
#include <istring.hpp>
#endif
#ifndef _IVSEQ_
#include <ivseq.h>
#endif
#ifndef _IRESLIB_
#include <ireslib.hpp>
#endif
#ifndef _IARREST_
#include <iarrest.hpp>
#endif
#ifndef _ILSTSEEN_
#include <ilstseen.hpp>
#endif
/*----------------------------------------------------------------------------*/
/* Align classes on four byte boundary. */
/*----------------------------------------------------------------------------*/
#pragma pack(4)
class _Export ISuspect : public IPerson {
/*--------------------------- PUBLIC -----------------------------------------*/
public:
/*------------------------- Constructors/Destructor ----------------------------
-----------------------------------------------------------------------------*/
ISuspect ();
ISuspect (const ISuspect & partCopy);
virtual
~ISuspect ();
/*--------------------- ENUMERATED TYPES ------------------------
*-----------------------------------------------------------------*/
enum IMugAngle {left, //0
front, //1
right}; //2
/*-------------------------------- Operators -----------------------------------
------------------------------------------------------------------------------*/
ISuspect & operator= (const ISuspect & aSuspect);
Boolean
operator == (const ISuspect & value) const,
operator != (const ISuspect & value) const,
operator == (const ISuspect * value) const,
operator != (const ISuspect * value) const;
virtual IString asString () const;
virtual IString asDebugInfo () const;
/*-------------------------------- Attributes ----------------------------------
| The following are attributes for this class:
| arrestList - list of arrests associated with a suspect
| bookNumber - number assigned to a suspect when first booked
| bookNumberAsString - number assigned to a suspect when first booked
| (as an IString)
| hasMole - indicates if suspect has one or more moles
| hasScar - indicates if suspect has one or more scars
| hasTattoo - indicates if suspect has one or more tattoos
| lastSeenList - list of places the suspect has been seen
| MO - modis operandi
| moleDesc - description and location of suspect's moles
| mugFront - Id of bitmap for suspect's front portrait
| mugLeft - Id of bitmap for suspect's left portrait
| mugRight - Id of bitmap for suspect's right portrait
| mugFrontAsHandle - Resource handle for Id of Bitmap for suspect's front portrait
| mugLeftAsHandle - Resource handle for Id of bitmap for suspect's left portrait
| mugRightAsHandle - Resource handle for Id of bitmap for suspect's right portrait
| scarDesc - description and location of suspect's scars
| tattooDesc - description and location of suspect's tattoos
-----------------------------------------------------------------------------*/
virtual IVSequence<IArrest *> * arrestList() const;
virtual ISuspect & setArrestList(IVSequence<IArrest *> * aArrestList);
virtual IString bookNumberAsString() const;
virtual ISuspect & setBookNumberAsString(const IString & aBookNumber);
virtual unsigned long bookNumber() const;
virtual ISuspect & setBookNumber(const unsigned long aBookNumber);
virtual Boolean hasMole() const;
virtual ISuspect & enableHasMole(Boolean enable = true);
virtual Boolean hasScar() const;
virtual ISuspect & enableHasScar(Boolean enable = true);
virtual Boolean hasTattoo() const;
virtual ISuspect & enableHasTattoo(Boolean enable = true);
virtual IVSequence<ILastSeen *> * lastSeenList() const;
virtual ISuspect & setLastSeenList(IVSequence<ILastSeen *> * aLastSeenList);
virtual IString MO() const;
virtual ISuspect & setMO(const IString & aMO);
virtual IString moleDesc() const;
virtual ISuspect & setMoleDesc(const IString & aMoleDesc);
virtual unsigned short mugFront() const;
virtual ISuspect & setMugFront(const unsigned short aMugFront);
virtual unsigned short mugLeft() const;
virtual ISuspect & setMugLeft(const unsigned short aMugLeft);
virtual unsigned short mugRight() const;
virtual ISuspect & setMugRight(const unsigned short aMugRight);
virtual IBitmapHandle mugFrontAsHandle() const;
virtual IBitmapHandle mugLeftAsHandle() const;
virtual IBitmapHandle mugRightAsHandle() const;
virtual IString scarDesc() const;
virtual ISuspect & setScarDesc(const IString & aScarDesc);
virtual IString tattooDesc() const;
virtual ISuspect & setTattooDesc(const IString & aTattooDesc);
/*----------------------- Notification Event Ids -------------------------------
-----------------------------------------------------------------------------*/
static INotificationId arrestListId;
static INotificationId bookNumberId;
static INotificationId hasMoleId;
static INotificationId hasScarId;
static INotificationId hasTattooId;
static INotificationId lastSeenListId;
static INotificationId MOId;
static INotificationId moleDescId;
static INotificationId mugFrontId;
static INotificationId mugLeftId;
static INotificationId mugRightId;
static INotificationId scarDescId;
static INotificationId tattooDescId;
/*--------------------------- PRIVATE ----------------------------------------*/
private:
static const unsigned short defaultMugId;
static const IDynamicLinkLibrary mugLib;
unsigned long iBookNumber;
unsigned short iMugFront;
unsigned short iMugLeft;
unsigned short iMugRight;
Boolean iHasMole;
Boolean iHasScar;
Boolean iHasTattoo;
IString iMO;
IString iMoleDesc;
IString iScarDesc;
IString iTattooDesc;
IVSequence<IArrest *> *iArrestList;
IVSequence<ILastSeen *> *iLastSeenList;
}; //ISuspect
/*----------------------------------------------------------------------------*/
/* Resume compiler default packing. */
/*----------------------------------------------------------------------------*/
#pragma pack()
#endif