home *** CD-ROM | disk | FTP | other *** search
- /***
- * GOSAID.h
- *
- * An id that needs to be kept around.
- *
- * Gordon Watts (gwatts@fnal.fnal.gov) © 1995 As Is!
- ***/
-
- #pragma once
-
- class GOSAScriptComponent;
-
- class GOSAID {
- public:
- GOSAID (const GOSAScriptComponent *theComponent);
- GOSAID (const GOSAScriptComponent *theComponent, const OSAID theID);
- GOSAID (void);
- GOSAID (const OSAID theID);
-
- ~GOSAID (void);
-
- void SetID (OSAID id); // Will delete old one!
-
- void GetAEDesc (AEDesc &theDesc);
-
- operator const OSAID() const;
- inline OSAID id (void) {if (mIDValid) {return mID;} else return kOSANullScript;};
- private:
- void DeleteID (void);
-
-
- Boolean mDeleteWhenWeGo;
- protected:
- OSAID mID;
- const GOSAScriptComponent *mScriptingComponent;
- Boolean mIDValid;
- };
-
- inline GOSAID::operator const OSAID() const
- {
- if (mIDValid) {
- return mID;
- } else {
- return kOSANullScript;
- }
- }