28 #ifndef __SCRIPTINFO__ 29 #define __SCRIPTINFO__ 31 #include "ScriptInfoDefs.h" 33 #include "ScriptData.h" 34 #include "ScriptingDefs.h" 35 #include "IDThreading.h" 41 const int32 kVariableLength = 0x0 ;
59 fType( siid ), fLength( length ), fMin(), fMax(), fDefault(),
60 fSubtypes(), fStructFieldName(), fFormatted( kFalse ) {}
64 fType( kScriptInfoVariableType ), fLength( length ), fMin(), fMax(), fDefault(),
65 fSubtypes( variableTypes ), fStructFieldName(), fFormatted( kFalse ) {}
70 void SetLength( int32 length ) { fLength = length ; }
101 bool16
HasRangeData()
const {
return ( !fMin.IsEmpty() || !fMax.IsEmpty() ) ; }
106 bool16
IsBaseType()
const {
return ( kScriptInfoFirstBaseType <= fType && fType <= kScriptInfoLastBaseType ) ; }
112 bool16
IsStructType()
const {
return ( fType == kScriptInfoStructType ) ; }
114 bool16
IsRecordType()
const {
return ( fType == kScriptInfoRecordType ) ; }
170 bool16 operator==(
const TypeInfo& )
const ;
197 BaseScriptInfo() : fScriptID(), fName(
new PMString() ), fDescription(
new PMString() )
199 #ifdef ID_ENABLE_DEBUGGING 205 fScriptID(
id ), fName(
new PMString( name ) ), fDescription(
new PMString( desc ) )
207 #ifdef ID_ENABLE_DEBUGGING 212 BaseScriptInfo(
const BaseScriptInfo& other ) { *
this = other ; }
214 virtual ~BaseScriptInfo();
222 void SetName(
const PMString& name ) ;
239 BaseScriptInfo& operator=(
const BaseScriptInfo& ) ;
241 bool16 operator==(
const BaseScriptInfo& )
const ;
256 boost::shared_ptr<PMString> fName;
257 boost::shared_ptr<PMString> fDescription ;
260 mutable PMString fLastFormattedName ;
262 #ifdef ID_ENABLE_DEBUGGING 265 virtual ConstCString WhoAmI()
const ;
266 mutable std::atomic<char *> fWhoAmI ;
292 const ScriptRecordData&
GetMetadata()
const {
return fMetadata ; }
321 ScriptRecordData fMetadata ;
323 #ifdef ID_ENABLE_DEBUGGING 326 virtual ConstCString WhoAmI()
const ;
394 const GUID&
GetGUID()
const {
return fGUID ; }
580 GUID fCollectionGUID ;
614 BaseScriptInfo(
id, name, desc ), fType( type ), fOptional( optional ) {}
657 ScriptElement( siid,
id, name, desc ), fReturnType( type ), fReturnDescription( returnDesc ), fParameters() {}
747 ClassID GetEventClassID()
const {
return fEventClassID ; }
749 ScriptID GetEventScriptID()
const {
return fEventScriptID ; }
932 #endif //__SCRIPTINFO__