home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Utilities / Programming / Script Builder 1.0 / Helper Source / GOSAID.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-12-12  |  897 b   |  46 lines  |  [TEXT/CWIE]

  1. /***
  2.  * GOSAID.h
  3.  *
  4.  *  An id that needs to be kept around.
  5.  *
  6.  *  Gordon Watts (gwatts@fnal.fnal.gov) © 1995 As Is!
  7.  ***/
  8.  
  9. #pragma once
  10.  
  11. class GOSAScriptComponent;
  12.  
  13. class GOSAID {
  14. public:
  15.                         GOSAID (const GOSAScriptComponent *theComponent);
  16.                         GOSAID (const GOSAScriptComponent *theComponent, const OSAID theID);
  17.                         GOSAID (void);
  18.                         GOSAID (const OSAID theID);
  19.  
  20.                         ~GOSAID (void);
  21.  
  22.         void            SetID (OSAID id);        // Will delete old one!
  23.  
  24.         void            GetAEDesc (AEDesc &theDesc);
  25.  
  26.         operator const OSAID() const;
  27.         inline OSAID            id (void) {if (mIDValid) {return mID;} else return kOSANullScript;};
  28. private:
  29.         void                DeleteID (void);
  30.  
  31.  
  32.         Boolean                mDeleteWhenWeGo;
  33. protected:
  34.         OSAID                mID;
  35.         const GOSAScriptComponent    *mScriptingComponent;
  36.         Boolean                mIDValid;
  37. };
  38.  
  39. inline GOSAID::operator const OSAID() const
  40. {
  41.     if (mIDValid) {
  42.         return mID;
  43.     } else {
  44.         return kOSANullScript;
  45.     }
  46. }