14 #include <boost/serialization/access.hpp>
15 #include <boost/serialization/nvp.hpp>
16 #include <boost/serialization/list.hpp>
17 #include <boost/serialization/map.hpp>
18 #include <boost/serialization/vector.hpp>
19 #include <boost/serialization/string.hpp>
20 #include <boost/serialization/set.hpp>
22 #include <vlutil/vlFilename.h>
23 #include <vlpi/entityType.h>
28 #include <tbb/spin_rw_mutex.h>
36 typedef bool (*
DtEncryptDecryptFcn)(
const std::string& scriptId,
char* input,
int inputLen,
char** output,
int& outputLen,
bool encrypt,
73 virtual bool load(
const DtFilename&);
76 virtual bool load(
const std::string&);
79 virtual bool load(std::istream&);
82 virtual bool hasUserEntryVariables()
const;
86 virtual bool save(
const DtFilename&)
const;
89 virtual bool save(std::string&)
const;
92 virtual bool save(std::ostream&)
const;
95 virtual bool save()
const;
98 virtual void setFilename(
const DtFilename&);
102 virtual const DtFilename&
filename()
const;
106 virtual const std::string& scriptId()
const;
110 virtual void setScriptId(
const std::string&,
bool makeAliasIfSystemScript =
true);
113 virtual void setScriptType(
int);
116 virtual int scriptType()
const;
120 virtual bool usesBehaviorEngine()
const;
121 virtual void setUsesBehaviorEngine(
const bool uses);
124 virtual int commandLevel()
const;
125 virtual void setCommandLevel(
int);
129 virtual void setMenuText(
const std::string&);
130 virtual const std::string& menuText()
const;
135 virtual void setExtendedMenuText(
const std::string&);
136 virtual const std::string& extendedMenuText()
const;
141 virtual void setToolTip(
const std::string&);
142 virtual const std::string& toolTip()
const;
147 virtual void setMenuIcon(
const std::string&);
148 virtual const std::string& menuIcon()
const;
153 virtual void setUseUiFile(
bool);
154 virtual bool useUiFile()
const;
156 virtual void setUiLayout(
const std::string&);
157 virtual const std::string& uiLayout()
const;
162 virtual void setMagicCommand(
bool);
163 virtual bool magicCommand()
const;
170 virtual void setVersion(
double);
171 virtual double version()
const;
177 virtual void setPriority(
int);
178 virtual int priority()
const;
184 virtual void setEnabled(
bool);
185 virtual bool enabled()
const;
192 virtual void setShortDescription(
const std::string&);
193 virtual const std::string& shortDescription()
const;
202 virtual void setScriptEngine(
const std::string&);
203 virtual const std::string& scriptEngine()
const;
208 virtual bool isInterpretedScript()
const;
213 static void addInterpretedScriptEngine(
const std::string&);
214 static bool isInterpretedScriptEngine(
const std::string&);
219 virtual void setComments(
const std::string&);
220 virtual const std::string& comments()
const;
226 virtual void setDescription(
const std::string&);
227 virtual const std::string& description()
const;
232 virtual void setShowDescriptionInDialog(
bool);
233 virtual bool showDescriptionInDialog()
const;
239 virtual void setRespectScriptLocation(
bool);
240 virtual bool respectScriptLocation()
const;
246 virtual void setScriptLocation(
const std::string&);
247 virtual const std::string& scriptLocation()
const;
251 virtual std::string uiLayoutLocation()
const;
256 virtual void setMenuLocations(
const std::vector<std::string>&);
257 virtual void addMenuLocation(
const std::string&);
258 virtual void removeMenuLocation(
const std::string&);
259 virtual void removeMenuLocation(
int);
260 virtual const std::vector<std::string>& menuLocations()
const;
261 virtual void setShowInMenu(
bool);
262 virtual bool showInMenu()
const;
267 virtual void setToolbarLocation(
const std::string&);
268 virtual const std::string& toolbarLocation()
const;
269 virtual void setShowInToolbar(
bool);
270 virtual bool showInToolbar()
const;
276 virtual void setEntityTypes(
const std::vector<DtEntityType>&);
277 virtual void addEntityType(
const DtEntityType&);
278 virtual void removeEntityType(
const DtEntityType&);
279 virtual void removeEntityType(
int);
280 virtual std::vector<DtEntityType> entityTypes()
const;
281 virtual bool supportsEntityType(
const DtEntityType&)
const;
284 virtual bool hasEntityType(
const DtEntityType&)
const;
291 virtual void setVariables(
const std::vector<DtScriptedTaskVariable>&);
295 virtual void removeVariable(
const std::string&);
296 virtual void removeVariable(
int);
300 virtual std::vector<DtScriptedTaskVariable> variables()
const;
303 virtual std::vector<DtScriptedTaskVariable> scriptedTaskVariables()
const;
317 virtual void setScript(
const std::string&);
318 virtual const std::string& script()
const;
322 virtual bool loadScript();
325 virtual bool loadScript(
const std::string&);
329 virtual bool loadUiLayout();
332 virtual bool loadUiLayout(
const std::string&);
336 virtual void setIsSystemScript(
bool);
337 virtual bool isSystemScript()
const;
342 virtual void setActionCategories(
const std::set<std::string>&);
343 virtual void addActionCategory(
const std::string&);
344 virtual void removeActionCategory(
const std::string&);
345 virtual bool hasActionCategory(
const std::string&)
const;
346 virtual const std::set<std::string>& actionCategories()
const;
351 virtual void setCanBeExecutedConcurrently(
bool);
352 virtual bool canBeExecutedConcurrently()
const;
357 virtual void setDoctrines(
const std::set<std::string>&);
358 virtual bool addDoctrine(
const std::string&);
359 virtual bool removeDoctrine(
const std::string&);
360 virtual bool supportsDoctrine(
const std::string&)
const;
361 virtual const std::set<std::string>& doctrines()
const;
362 virtual bool renameDoctrine(
const std::string& from,
const std::string& to);
363 virtual void setAvailableToAllDoctrines(
bool);
364 virtual bool availableToAllDoctrines()
const;
369 virtual void setShowOnTopLevelRightClickMenu(
bool);
370 virtual bool showOnTopLevelRightClickMenu()
const;
376 virtual void setDirectoryPath(
const std::string&);
377 virtual const std::string& directoryPath()
const;
383 virtual const std::set<std::string>& aliases()
const;
384 virtual void addAlias(
const std::string&);
385 virtual void removeAlias(
const std::string&);
386 virtual void clearAliases();
387 virtual void setAliases(
const std::set<std::string>&);
388 virtual bool isAliased(
const std::string&)
const;
392 virtual void assignNewScriptId();
395 virtual bool supports(
const DtEntityType&)
const;
406 virtual bool encrypt(
const std::string&
source, std::string&
dest)
const;
409 virtual bool encryptScript();
412 virtual bool encryptSize(
const std::string&
source,
int&
size)
const;
415 virtual bool decrypt(
const std::string&
source, std::string&
dest)
const;
419 virtual bool decryptScript();
423 virtual std::auto_ptr<DtRwVariableBindings> upgradeVariables(
const DtRwVariableBindings&)
const;
429 virtual void setEncrypted(
bool);
430 virtual bool encrypted()
const;
435 virtual void setFlag(
int,
bool);
436 virtual bool flagSet(
int)
const;
444 virtual void loadTranslationFile(
const std::string& lang);
445 virtual void translationData(
char*& data,
unsigned int& len)
const;
446 virtual std::string translationLanguage()
const;
447 virtual void clearTranslationData();
451 virtual std::string removeTrailingLinefeeds(
const std::string&);
454 virtual void makeAllIdsLowercase();
457 virtual std::string readFile(
const std::string&)
const;
462 friend class boost::serialization::access;
467 template<
class Archive>
468 void serialize(Archive & ar,
const unsigned int version)
470 ar & BOOST_SERIALIZATION_NVP(myScriptId);
471 ar & BOOST_SERIALIZATION_NVP(myMenuText);
472 ar & BOOST_SERIALIZATION_NVP(myToolTip);
473 ar & BOOST_SERIALIZATION_NVP(myMenuIcon);
474 ar & BOOST_SERIALIZATION_NVP(myVersion);
475 ar & BOOST_SERIALIZATION_NVP(myScriptEngine);
476 ar & BOOST_SERIALIZATION_NVP(myComments);
477 ar & BOOST_SERIALIZATION_NVP(myMenuLocations);
478 ar & BOOST_SERIALIZATION_NVP(myIsSystemScript);
479 ar & BOOST_SERIALIZATION_NVP(myDescription);
480 ar & BOOST_SERIALIZATION_NVP(myScriptLocation);
481 ar & BOOST_SERIALIZATION_NVP(myDirectoryPath);
482 ar & BOOST_SERIALIZATION_NVP(myEntityTypes);
483 ar & BOOST_SERIALIZATION_NVP(myVariables);
484 ar & BOOST_SERIALIZATION_NVP(myScript);
488 ar & BOOST_SERIALIZATION_NVP(myActionCategories);
492 ar & BOOST_SERIALIZATION_NVP(myShowInMenu);
497 ar & BOOST_SERIALIZATION_NVP(myEncrypted);
502 ar & BOOST_SERIALIZATION_NVP(myScriptType);
511 ar & BOOST_SERIALIZATION_NVP(myDoctrines);
512 ar & BOOST_SERIALIZATION_NVP(myFlags);
521 ar & BOOST_SERIALIZATION_NVP(myShowInToolbar);
522 ar & BOOST_SERIALIZATION_NVP(myToolbarLocation);
527 ar & BOOST_SERIALIZATION_NVP(myExtendedMenuText);
532 ar & BOOST_SERIALIZATION_NVP(myShortDescription);
537 ar & BOOST_SERIALIZATION_NVP(myUiLayout);
542 ar & BOOST_SERIALIZATION_NVP(myAliases);
547 ar & BOOST_SERIALIZATION_NVP(myCanBeExecutedConcurrently);
552 ar & BOOST_SERIALIZATION_NVP(myRespectScriptLocation);
557 ar & BOOST_SERIALIZATION_NVP(myShowDescriptionInDialog);
562 ar & BOOST_SERIALIZATION_NVP(myUsesBehaviorEngine);
567 ar & BOOST_SERIALIZATION_NVP(myCommandLevel);
570 if (Archive::is_loading::value && (version <= 11))
572 makeAllIdsLowercase();
635 namespace DtBufferSerialize
DT_DLL_readerWriter int getSize(const DtString &val)
The number of bytes required to encode the value.
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
const char * filename
Definition: ioapi.h:38
voidpf void uLong size
Definition: ioapi.h:39
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
ReaderWriter object that maintains a list of reader-writer variable bindings. It keeps a list of name...
Definition: rwVariableBindings.h:27
A class for keeping track of meta data for variables of scripted tasks. The information is currently ...
Definition: scriptedTaskVariable.h:34
DT_DLL_readerWriter char * encode(const DtFilename &val, char *buffer)
Serializes the provided value val into buffer. buffer must have at least the number of bytes returned...
const char * source
Definition: lz4.h:442
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
DT_DLL_readerWriter const char * decode(DtString &val, const char *buffer)
Decodes a value from buffer and places the result in val of the type specified by val...
char * dest
Definition: lz4.h:440