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>
21 #include <vlutil/vlFilename.h>
22 #include <vlpi/entityType.h>
33 typedef bool (*
DtEncryptDecryptFcn)(
const std::string& scriptId,
char* input,
int inputLen,
char** output,
int& outputLen,
bool encrypt,
61 virtual bool load(
const DtFilename&);
64 virtual bool load(
const std::string&);
67 virtual bool load(std::istream&);
70 virtual bool hasUserEntryVariables()
const;
74 virtual bool save(
const DtFilename&)
const;
77 virtual bool save(std::string&)
const;
80 virtual bool save(std::ostream&)
const;
83 virtual bool save()
const;
87 virtual const DtFilename& filename()
const;
91 virtual const std::string& scriptId()
const;
94 virtual void setScriptId(
const std::string&);
97 virtual void setScriptType(
int);
100 virtual int scriptType()
const;
104 virtual void setMenuText(
const std::string&);
105 virtual const std::string& menuText()
const;
110 virtual void setExtendedMenuText(
const std::string&);
111 virtual const std::string& extendedMenuText()
const;
116 virtual void setToolTip(
const std::string&);
117 virtual const std::string& toolTip()
const;
122 virtual void setMenuIcon(
const std::string&);
123 virtual const std::string& menuIcon()
const;
130 virtual void setVersion(
double);
131 virtual double version()
const;
137 virtual void setPriority(
int);
138 virtual int priority()
const;
144 virtual void setEnabled(
bool);
145 virtual bool enabled()
const;
154 virtual void setScriptEngine(
const std::string&);
155 virtual const std::string& scriptEngine()
const;
160 virtual bool isInterpretedScript()
const;
165 static void addInterpretedScriptEngine(
const std::string&);
166 static bool isInterpretedScriptEngine(
const std::string&);
171 virtual void setComments(
const std::string&);
172 virtual const std::string& comments()
const;
178 virtual void setDescription(
const std::string&);
179 virtual const std::string& description()
const;
185 virtual void setScriptLocation(
const std::string&);
186 virtual const std::string& scriptLocation()
const;
192 virtual void setMenuLocations(
const std::vector<std::string>&);
193 virtual void addMenuLocation(
const std::string&);
194 virtual void removeMenuLocation(
const std::string&);
195 virtual void removeMenuLocation(
int);
196 virtual const std::vector<std::string>& menuLocations()
const;
197 virtual void setShowInMenu(
bool);
198 virtual bool showInMenu()
const;
203 virtual void setToolbarLocation(
const std::string&);
204 virtual const std::string& toolbarLocation()
const;
205 virtual void setShowInToolbar(
bool);
206 virtual bool showInToolbar()
const;
212 virtual void setEntityTypes(
const std::vector<DtEntityType>&);
213 virtual void addEntityType(
const DtEntityType&);
214 virtual void removeEntityType(
const DtEntityType&);
215 virtual void removeEntityType(
int);
216 virtual std::vector<DtEntityType> entityTypes()
const;
217 virtual bool supportsEntityType(
const DtEntityType&)
const;
220 virtual bool hasEntityType(
const DtEntityType&)
const;
227 virtual void setVariables(
const std::vector<DtScriptedTaskVariable>&);
231 virtual void removeVariable(
const std::string&);
232 virtual void removeVariable(
int);
233 virtual std::vector<DtScriptedTaskVariable> variables()
const;
247 virtual void setScript(
const std::string&);
248 virtual const std::string& script()
const;
252 virtual bool loadScript();
255 virtual bool loadScript(
const std::string&);
259 virtual void setIsSystemScript(
bool);
260 virtual bool isSystemScript()
const;
265 virtual void setActionCategories(
const std::set<std::string>&);
266 virtual void addActionCategory(
const std::string&);
267 virtual void removeActionCategory(
const std::string&);
268 virtual bool hasActionCategory(
const std::string&)
const;
269 virtual const std::set<std::string>& actionCategories()
const;
274 virtual void setDoctrines(
const std::set<std::string>&);
275 virtual bool addDoctrine(
const std::string&);
276 virtual bool removeDoctrine(
const std::string&);
277 virtual bool supportsDoctrine(
const std::string&)
const;
278 virtual const std::set<std::string>& doctrines()
const;
279 virtual bool renameDoctrine(
const std::string& from,
const std::string& to);
280 virtual void setAvailableToAllDoctrines(
bool);
281 virtual bool availableToAllDoctrines()
const;
287 virtual void setDirectoryPath(
const std::string&);
288 virtual const std::string& directoryPath()
const;
292 virtual void assignNewScriptId();
295 virtual bool supports(
const DtEntityType&)
const;
306 virtual bool encrypt(
const std::string& source, std::string& dest)
const;
309 virtual bool encryptScript();
312 virtual bool encryptSize(
const std::string& source,
int& size)
const;
315 virtual bool decrypt(
const std::string& source, std::string& dest)
const;
319 virtual bool decryptScript();
325 virtual void setEncrypted(
bool);
326 virtual bool encrypted()
const;
331 virtual void setFlag(
int,
bool);
332 virtual bool flagSet(
int)
const;
340 virtual void loadTranslationFile(
const std::string& lang);
341 virtual void translationData(
char*& data,
unsigned int& len)
const;
342 virtual std::string translationLanguage()
const;
343 virtual void clearTranslationData();
349 friend class boost::serialization::access;
354 template<
class Archive>
355 void serialize(Archive & ar,
const unsigned int version)
357 ar & BOOST_SERIALIZATION_NVP(myScriptId);
358 ar & BOOST_SERIALIZATION_NVP(myMenuText);
359 ar & BOOST_SERIALIZATION_NVP(myToolTip);
360 ar & BOOST_SERIALIZATION_NVP(myMenuIcon);
361 ar & BOOST_SERIALIZATION_NVP(myVersion);
362 ar & BOOST_SERIALIZATION_NVP(myScriptEngine);
363 ar & BOOST_SERIALIZATION_NVP(myComments);
364 ar & BOOST_SERIALIZATION_NVP(myMenuLocations);
365 ar & BOOST_SERIALIZATION_NVP(myIsSystemScript);
366 ar & BOOST_SERIALIZATION_NVP(myDescription);
367 ar & BOOST_SERIALIZATION_NVP(myScriptLocation);
368 ar & BOOST_SERIALIZATION_NVP(myDirectoryPath);
369 ar & BOOST_SERIALIZATION_NVP(myEntityTypes);
370 ar & BOOST_SERIALIZATION_NVP(myVariables);
371 ar & BOOST_SERIALIZATION_NVP(myScript);
375 ar & BOOST_SERIALIZATION_NVP(myActionCategories);
379 ar & BOOST_SERIALIZATION_NVP(myShowInMenu);
384 ar & BOOST_SERIALIZATION_NVP(myEncrypted);
389 ar & BOOST_SERIALIZATION_NVP(myScriptType);
398 ar & BOOST_SERIALIZATION_NVP(myDoctrines);
399 ar & BOOST_SERIALIZATION_NVP(myFlags);
408 ar & BOOST_SERIALIZATION_NVP(myShowInToolbar);
409 ar & BOOST_SERIALIZATION_NVP(myToolbarLocation);
414 ar & BOOST_SERIALIZATION_NVP(myExtendedMenuText);
463 namespace DtBufferSerialize