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>
32 typedef bool (*
DtEncryptDecryptFcn)(
const std::string& scriptId,
char* input,
int inputLen,
char** output,
int& outputLen,
bool encrypt,
60 virtual bool load(
const DtFilename&);
63 virtual bool load(
const std::string&);
66 virtual bool load(std::istream&);
69 virtual bool hasUserEntryVariables()
const;
73 virtual bool save(
const DtFilename&)
const;
76 virtual bool save(std::string&)
const;
79 virtual bool save(std::ostream&)
const;
82 virtual bool save()
const;
86 virtual const DtFilename& filename()
const;
90 virtual const std::string& scriptId()
const;
93 virtual void setScriptId(
const std::string&);
96 virtual void setScriptType(
int);
99 virtual int scriptType()
const;
103 virtual void setMenuText(
const std::string&);
104 virtual const std::string& menuText()
const;
109 virtual void setExtendedMenuText(
const std::string&);
110 virtual const std::string& extendedMenuText()
const;
115 virtual void setToolTip(
const std::string&);
116 virtual const std::string& toolTip()
const;
121 virtual void setMenuIcon(
const std::string&);
122 virtual const std::string& menuIcon()
const;
129 virtual void setVersion(
double);
130 virtual double version()
const;
136 virtual void setPriority(
int);
137 virtual int priority()
const;
143 virtual void setEnabled(
bool);
144 virtual bool enabled()
const;
153 virtual void setScriptEngine(
const std::string&);
154 virtual const std::string& scriptEngine()
const;
159 virtual bool isInterpretedScript()
const;
164 static void addInterpretedScriptEngine(
const std::string&);
165 static bool isInterpretedScriptEngine(
const std::string&);
170 virtual void setComments(
const std::string&);
171 virtual const std::string& comments()
const;
177 virtual void setDescription(
const std::string&);
178 virtual const std::string& description()
const;
184 virtual void setScriptLocation(
const std::string&);
185 virtual const std::string& scriptLocation()
const;
191 virtual void setMenuLocations(
const std::vector<std::string>&);
192 virtual void addMenuLocation(
const std::string&);
193 virtual void removeMenuLocation(
const std::string&);
194 virtual void removeMenuLocation(
int);
195 virtual const std::vector<std::string>& menuLocations()
const;
196 virtual void setShowInMenu(
bool);
197 virtual bool showInMenu()
const;
202 virtual void setToolbarLocation(
const std::string&);
203 virtual const std::string& toolbarLocation()
const;
204 virtual void setShowInToolbar(
bool);
205 virtual bool showInToolbar()
const;
211 virtual void setEntityTypes(
const std::vector<DtEntityType>&);
212 virtual void addEntityType(
const DtEntityType&);
213 virtual void removeEntityType(
const DtEntityType&);
214 virtual void removeEntityType(
int);
215 virtual std::vector<DtEntityType> entityTypes()
const;
216 virtual bool supportsEntityType(
const DtEntityType&)
const;
219 virtual bool hasEntityType(
const DtEntityType&)
const;
226 virtual void setVariables(
const std::vector<DtScriptedTaskVariable>&);
230 virtual void removeVariable(
const std::string&);
231 virtual void removeVariable(
int);
232 virtual std::vector<DtScriptedTaskVariable> variables()
const;
246 virtual void setScript(
const std::string&);
247 virtual const std::string& script()
const;
251 virtual bool loadScript();
254 virtual bool loadScript(
const std::string&);
258 virtual void setIsSystemScript(
bool);
259 virtual bool isSystemScript()
const;
264 virtual void setActionCategories(
const std::set<std::string>&);
265 virtual void addActionCategory(
const std::string&);
266 virtual void removeActionCategory(
const std::string&);
267 virtual bool hasActionCategory(
const std::string&)
const;
268 virtual const std::set<std::string>& actionCategories()
const;
273 virtual void setDoctrines(
const std::set<std::string>&);
274 virtual bool addDoctrine(
const std::string&);
275 virtual bool removeDoctrine(
const std::string&);
276 virtual bool supportsDoctrine(
const std::string&)
const;
277 virtual const std::set<std::string>& doctrines()
const;
278 virtual bool renameDoctrine(
const std::string& from,
const std::string& to);
279 virtual void setAvailableToAllDoctrines(
bool);
280 virtual bool availableToAllDoctrines()
const;
286 virtual void setDirectoryPath(
const std::string&);
287 virtual const std::string& directoryPath()
const;
291 virtual void assignNewScriptId();
294 virtual bool supports(
const DtEntityType&)
const;
305 virtual bool encrypt(
const std::string& source, std::string& dest)
const;
308 virtual bool encryptScript();
311 virtual bool encryptSize(
const std::string& source,
int& size)
const;
314 virtual bool decrypt(
const std::string& source, std::string& dest)
const;
318 virtual bool decryptScript();
324 virtual void setEncrypted(
bool);
325 virtual bool encrypted()
const;
330 virtual void setFlag(
int,
bool);
331 virtual bool flagSet(
int)
const;
339 virtual void loadTranslationFile(
const std::string& lang);
340 virtual void translationData(
char*& data,
unsigned int& len)
const;
341 virtual std::string translationLanguage()
const;
342 virtual void clearTranslationData();
348 friend class boost::serialization::access;
353 template<
class Archive>
354 void serialize(Archive & ar,
const unsigned int version)
356 ar & BOOST_SERIALIZATION_NVP(myScriptId);
357 ar & BOOST_SERIALIZATION_NVP(myMenuText);
358 ar & BOOST_SERIALIZATION_NVP(myToolTip);
359 ar & BOOST_SERIALIZATION_NVP(myMenuIcon);
360 ar & BOOST_SERIALIZATION_NVP(myVersion);
361 ar & BOOST_SERIALIZATION_NVP(myScriptEngine);
362 ar & BOOST_SERIALIZATION_NVP(myComments);
363 ar & BOOST_SERIALIZATION_NVP(myMenuLocations);
364 ar & BOOST_SERIALIZATION_NVP(myIsSystemScript);
365 ar & BOOST_SERIALIZATION_NVP(myDescription);
366 ar & BOOST_SERIALIZATION_NVP(myScriptLocation);
367 ar & BOOST_SERIALIZATION_NVP(myDirectoryPath);
368 ar & BOOST_SERIALIZATION_NVP(myEntityTypes);
369 ar & BOOST_SERIALIZATION_NVP(myVariables);
370 ar & BOOST_SERIALIZATION_NVP(myScript);
374 ar & BOOST_SERIALIZATION_NVP(myActionCategories);
378 ar & BOOST_SERIALIZATION_NVP(myShowInMenu);
383 ar & BOOST_SERIALIZATION_NVP(myEncrypted);
388 ar & BOOST_SERIALIZATION_NVP(myScriptType);
397 ar & BOOST_SERIALIZATION_NVP(myDoctrines);
398 ar & BOOST_SERIALIZATION_NVP(myFlags);
407 ar & BOOST_SERIALIZATION_NVP(myShowInToolbar);
408 ar & BOOST_SERIALIZATION_NVP(myToolbarLocation);
413 ar & BOOST_SERIALIZATION_NVP(myExtendedMenuText);
461 namespace DtBufferSerialize