24 #ifndef __ScriptData__ 25 #define __ScriptData__ 27 #include "KeyValuePair.h" 28 #include "K2TypeTraits.h" 29 #include "RequestContext.h" 30 #include <adobe/any_regular.hpp> 31 #include <adobe/vector.hpp> 39 typedef adobe::vector< InterfacePtr<IScript> > ScriptList ;
40 typedef adobe::vector<ScriptData> ScriptListData ;
42 typedef adobe::vector<ScriptIDValuePair> ScriptRecordData ;
45 DECLARE_OBJECT_TYPE(ScriptList);
46 DECLARE_OBJECT_TYPE(ScriptListData);
47 DECLARE_OBJECT_TYPE(ScriptRecordData);
49 using namespace ScriptInfo ;
65 explicit ScriptData(int16 integer, bool16 isBoolean = kFalse);
74 explicit ScriptData(
const ScriptList& objectList);
75 explicit ScriptData(
const ScriptListData& list);
76 explicit ScriptData(
const ScriptRecordData& record);
100 virtual ScriptData::ScriptDataType GetType()
const {
return fDataType; }
101 virtual bool16 IsEmpty()
const {
return fDataType == s_empty ; }
103 void SetBoolean(bool16
boolean);
104 ErrorCode GetBoolean(bool16*
const boolean)
const;
106 void SetInt16(int16 integer);
107 ErrorCode GetInt16(int16*
const integer)
const;
109 void SetInt32(int32 integer);
110 ErrorCode GetInt32(int32*
const integer)
const;
112 void SetInt64(int64 integer);
113 ErrorCode GetInt64(int64*
const integer)
const;
115 void SetEnumeration(
ScriptID enumeration ) ;
116 ErrorCode GetEnumeration(
ScriptID*
const enumeration)
const;
118 void SetPMReal(
PMReal real);
119 ErrorCode GetPMReal(
PMReal*
const real)
const;
121 void SetPMString(
const PMString&
string);
122 ErrorCode GetPMString(
PMString&
string)
const;
127 virtual void SetWideString(
const WideString&
string);
134 virtual ErrorCode GetWideString(
WideString&
string)
const;
136 void SetObject(
IScript*
object ) ;
139 void SetObjectList(
const ScriptList& objectList ) ;
140 ErrorCode GetObjectList( ScriptList& objectList )
const ;
149 void SetList(
const ScriptListData& list );
150 ErrorCode GetList( ScriptListData& list )
const ;
152 void SetRecord(
const ScriptRecordData& record );
153 ErrorCode GetRecord( ScriptRecordData& record )
const ;
155 void SetDate(uint64 date);
156 ErrorCode GetDate(uint64*
const date)
const;
158 void SetFile(
const IDFile& file ) ;
168 ErrorCode GetFile(
IDFile*
const file,
const RequestContext& context, bool16 validateFolder = kTrue )
const ;
175 ErrorCode GetFileIfFile(
IDFile& file, bool16 validateFolder = kTrue )
const ;
230 ErrorCode GetUnit (
PMReal*
const unit, UnitType unitType,
const IScript* script,
const EngineContext& context, bool16 allowNaN = kFalse )
const ;
232 ErrorCode RetrieveUnit (
PMReal*
const unit )
const ;
238 ErrorCode ConvertUnit (
PMString&
string )
const ;
243 bool16 operator==(
const ScriptData& scriptData )
const ;
247 {
return !(left == right); }
254 swap(left.fValue, right.fValue);
255 swap(left.fDataType, right.fDataType);
260 ScriptData(adobe::move_from<ScriptData> other) : fValue(adobe::move(other.source.fValue)), fDataType(adobe::move(other.source.fDataType))
266 { swap(*
this, other);
return *
this; }
269 virtual void Reset();
272 virtual void ReadWrite(
IPMStream* s, bool16 doPlatformReadWrite = kTrue ) ;
293 adobe::vector<PMString> GetValueAsVectorOfString(
const RequestContext& context )
const;
298 bool16 IsNaN(
const PMReal* real)
const;
300 ScriptDataType fDataType;
302 adobe::any_regular_t fValue;
306 ADOBE_NAME_TYPE_0(
"scriptid:indesign:adobe",
ScriptID)
307 ADOBE_NAME_TYPE_0("scriptdata:indesign:adobe",
ScriptData)