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;
223 virtual void setVariables(
const std::vector<DtScriptedTaskVariable>&);
227 virtual void removeVariable(
const std::string&);
228 virtual void removeVariable(
int);
229 virtual std::vector<DtScriptedTaskVariable> variables()
const;
243 virtual void setScript(
const std::string&);
244 virtual const std::string& script()
const;
248 virtual bool loadScript();
251 virtual bool loadScript(
const std::string&);
255 virtual void setIsSystemScript(
bool);
256 virtual bool isSystemScript()
const;
261 virtual void setActionCategories(
const std::set<std::string>&);
262 virtual void addActionCategory(
const std::string&);
263 virtual void removeActionCategory(
const std::string&);
264 virtual bool hasActionCategory(
const std::string&)
const;
265 virtual const std::set<std::string>& actionCategories()
const;
270 virtual void setDoctrines(
const std::set<std::string>&);
271 virtual bool addDoctrine(
const std::string&);
272 virtual bool removeDoctrine(
const std::string&);
273 virtual bool supportsDoctrine(
const std::string&)
const;
274 virtual const std::set<std::string>& doctrines()
const;
275 virtual bool renameDoctrine(
const std::string& from,
const std::string& to);
276 virtual void setAvailableToAllDoctrines(
bool);
277 virtual bool availableToAllDoctrines()
const;
283 virtual void setDirectoryPath(
const std::string&);
284 virtual const std::string& directoryPath()
const;
288 virtual void assignNewScriptId();
291 virtual bool supports(
const DtEntityType&)
const;
302 virtual bool encrypt(
const std::string& source, std::string& dest)
const;
305 virtual bool encryptScript();
308 virtual bool encryptSize(
const std::string& source,
int& size)
const;
311 virtual bool decrypt(
const std::string& source, std::string& dest)
const;
315 virtual bool decryptScript();
321 virtual void setEncrypted(
bool);
322 virtual bool encrypted()
const;
327 virtual void setFlag(
int,
bool);
328 virtual bool flagSet(
int)
const;
336 virtual void loadTranslationFile(
const std::string& lang);
337 virtual void translationData(
char*& data,
unsigned int& len)
const;
338 virtual std::string translationLanguage()
const;
339 virtual void clearTranslationData();
345 friend class boost::serialization::access;
350 template<
class Archive>
351 void serialize(Archive & ar,
const unsigned int version)
353 ar & BOOST_SERIALIZATION_NVP(myScriptId);
354 ar & BOOST_SERIALIZATION_NVP(myMenuText);
355 ar & BOOST_SERIALIZATION_NVP(myToolTip);
356 ar & BOOST_SERIALIZATION_NVP(myMenuIcon);
357 ar & BOOST_SERIALIZATION_NVP(myVersion);
358 ar & BOOST_SERIALIZATION_NVP(myScriptEngine);
359 ar & BOOST_SERIALIZATION_NVP(myComments);
360 ar & BOOST_SERIALIZATION_NVP(myMenuLocations);
361 ar & BOOST_SERIALIZATION_NVP(myIsSystemScript);
362 ar & BOOST_SERIALIZATION_NVP(myDescription);
363 ar & BOOST_SERIALIZATION_NVP(myScriptLocation);
364 ar & BOOST_SERIALIZATION_NVP(myDirectoryPath);
365 ar & BOOST_SERIALIZATION_NVP(myEntityTypes);
366 ar & BOOST_SERIALIZATION_NVP(myVariables);
367 ar & BOOST_SERIALIZATION_NVP(myScript);
371 ar & BOOST_SERIALIZATION_NVP(myActionCategories);
375 ar & BOOST_SERIALIZATION_NVP(myShowInMenu);
380 ar & BOOST_SERIALIZATION_NVP(myEncrypted);
385 ar & BOOST_SERIALIZATION_NVP(myScriptType);
394 ar & BOOST_SERIALIZATION_NVP(myDoctrines);
395 ar & BOOST_SERIALIZATION_NVP(myFlags);
404 ar & BOOST_SERIALIZATION_NVP(myShowInToolbar);
405 ar & BOOST_SERIALIZATION_NVP(myToolbarLocation);
410 ar & BOOST_SERIALIZATION_NVP(myExtendedMenuText);
458 namespace DtBufferSerialize