24 #ifndef __IScriptRequestData__ 25 #define __IScriptRequestData__ 27 #include "IPMUnknown.h" 29 #include "ScriptInfo.h" 30 #include "ScriptingID.h" 31 #include "ScriptReturnData.h" 33 using namespace ScriptInfo ;
41 enum { kDefaultIID = IID_ISCRIPTREQUESTDATA };
46 virtual ErrorCode InsertRequestData(
const ScriptID dataLocation,
const ScriptData& data ) = 0 ;
52 virtual ErrorCode InsertRequestData(
const ScriptRecordData& record ) = 0;
59 virtual ErrorCode ExtractRequestData(
const ScriptID dataLocation,
ScriptData& data )
const = 0 ;
65 virtual bool16 HasRequestData(
const ScriptID dataLocation )
const = 0 ;
70 virtual ScriptRecordData GetRequestData()
const = 0 ;
76 virtual void ClearReturnData(
const IScript* target ) = 0 ;
81 virtual void ClearReturnData(
const ScriptList& targets ) = 0 ;
89 virtual void AppendReturnData(
const IScript* target,
const ScriptID requestID,
const ErrorCode errorCode ) = 0 ;
90 virtual void AppendReturnData(
const ScriptList& targets,
const ScriptID requestID,
const ErrorCode errorCode ) = 0 ;
93 virtual void AppendReturnData(
const ScriptList& targets,
const ScriptID requestID,
const ScriptData& returnValue ) = 0 ;
99 virtual void AppendReturnData(
const IScript* target,
const ScriptReturnDataList& data ) = 0 ;
104 virtual void AppendReturnData(
const ScriptList& targets,
const ScriptReturnDataList& data ) = 0 ;
110 virtual void ReplaceReturnData(
const IScript* target,
const ScriptReturnDataList& data ) = 0 ;
115 virtual void ReplaceReturnData(
const ScriptList& targets,
const ScriptReturnDataList& data ) = 0 ;
121 virtual uint32 GetNumReturnData(
const IScript* target )
const = 0 ;
122 virtual uint32 GetNumReturnData(
const ScriptList& targets )
const = 0 ;
124 virtual ScriptReturnData GetNthReturnData(
const ScriptList& targets, uint32 n )
const = 0 ;
125 virtual ScriptReturnDataList GetAllReturnData(
const IScript* target )
const = 0 ;
126 virtual ScriptReturnDataList GetAllReturnData(
const ScriptList& targets )
const = 0 ;
129 static ScriptListData ConvertToScriptListData(
const ScriptReturnDataList& srdl )
132 for ( ScriptReturnDataList::const_iterator iter = srdl.begin() ; iter != srdl.end() ; ++iter )
134 if ( iter->GetErrorCode() == kSuccess && !iter->GetReturnValue().IsEmpty() )
135 sld.push_back( iter->GetReturnValue() ) ;
141 static ScriptRecordData ConvertToScriptRecordData(
const ScriptReturnDataList& srdl )
143 ScriptRecordData srd ;
144 for ( ScriptReturnDataList::const_iterator iter = srdl.begin() ; iter != srdl.end() ; ++iter )
146 if ( iter->GetErrorCode() == kSuccess && !iter->GetReturnValue().IsEmpty() )
147 srd.push_back(
ScriptIDValuePair( iter->GetRequestID(), iter->GetReturnValue() ) ) ;
155 virtual void SetErrorPolicy( ErrorPolicy policy ) = 0 ;
156 virtual ErrorPolicy GetErrorPolicy()
const = 0 ;
161 virtual void SetSetPropertiesOrderPolicy( SetPropertiesOrderPolicy policy ) = 0 ;
162 virtual SetPropertiesOrderPolicy GetSetPropertiesOrderPolicy()
const = 0 ;
181 virtual const ScriptID GetDesiredType()
const = 0 ;
199 kFindCollectionRequest
205 virtual RequestType GetRequestType()
const = 0 ;
220 virtual bool16 IsMethod()
const = 0 ;
225 virtual void SetMethodWithProperties( bool16 withProperties ) = 0 ;
226 virtual bool16 IsMethodWithProperties()
const = 0 ;
237 virtual bool16 IsPropertyGet()
const = 0 ;
248 virtual bool16 IsPropertyPut()
const = 0 ;
259 virtual bool16 IsFindCollection()
const = 0 ;
267 virtual void SetGetObject(
const ScriptElementID objID, SpecifierForm accessorForm,
const ScriptData& accessorData ) = 0 ;
272 virtual bool16 IsGetObject()
const = 0 ;
277 virtual SpecifierForm GetAccessorForm()
const = 0 ;
281 virtual ScriptData GetAccessorData()
const = 0 ;
293 virtual void SetTargetHandlingPolicy( TargetHandlingPolicy policy ) = 0 ;
294 virtual TargetHandlingPolicy GetTargetHandlingPolicy()
const = 0 ;
299 virtual void SetRequestedDataType(
const ScriptID requestedType ) = 0 ;
300 virtual const ScriptID GetRequestedDataType()
const = 0 ;
306 virtual void SetFormTestCaseSensitive( bool16 caseSensitive ) = 0 ;
307 virtual bool16 GetFormTestCaseSensitive()
const = 0 ;
317 virtual void SetRequestContext(
const EngineContext& context ) = 0 ;