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,
59 virtual bool load(
const DtFilename&);
62 virtual bool load(
const std::string&);
65 virtual bool load(std::istream&);
68 virtual bool hasUserEntryVariables()
const;
72 virtual bool save(
const DtFilename&)
const;
75 virtual bool save(std::string&)
const;
78 virtual bool save(std::ostream&)
const;
81 virtual bool save()
const;
85 virtual const DtFilename& filename()
const;
89 virtual const std::string& scriptId()
const;
92 virtual void setScriptId(
const std::string&);
95 virtual void setScriptType(
int);
98 virtual int scriptType()
const;
102 virtual void setMenuText(
const std::string&);
103 virtual const std::string& menuText()
const;
108 virtual void setToolTip(
const std::string&);
109 virtual const std::string& toolTip()
const;
114 virtual void setMenuIcon(
const std::string&);
115 virtual const std::string& menuIcon()
const;
122 virtual void setVersion(
double);
123 virtual double version()
const;
129 virtual void setPriority(
int);
130 virtual int priority()
const;
136 virtual void setEnabled(
bool);
137 virtual bool enabled()
const;
146 virtual void setScriptEngine(
const std::string&);
147 virtual const std::string& scriptEngine()
const;
152 virtual bool isInterpretedScript()
const;
157 static void addInterpretedScriptEngine(
const std::string&);
158 static bool isInterpretedScriptEngine(
const std::string&);
163 virtual void setComments(
const std::string&);
164 virtual const std::string& comments()
const;
170 virtual void setDescription(
const std::string&);
171 virtual const std::string& description()
const;
177 virtual void setScriptLocation(
const std::string&);
178 virtual const std::string& scriptLocation()
const;
184 virtual void setMenuLocations(
const std::vector<std::string>&);
185 virtual void addMenuLocation(
const std::string&);
186 virtual void removeMenuLocation(
const std::string&);
187 virtual void removeMenuLocation(
int);
188 virtual const std::vector<std::string>& menuLocations()
const;
189 virtual void setShowInMenu(
bool);
190 virtual bool showInMenu()
const;
196 virtual void setEntityTypes(
const std::vector<DtEntityType>&);
197 virtual void addEntityType(
const DtEntityType&);
198 virtual void removeEntityType(
const DtEntityType&);
199 virtual void removeEntityType(
int);
200 virtual std::vector<DtEntityType> entityTypes()
const;
201 virtual bool supportsEntityType(
const DtEntityType&)
const;
208 virtual void setVariables(
const std::vector<DtScriptedTaskVariable>&);
212 virtual void removeVariable(
const std::string&);
213 virtual void removeVariable(
int);
214 virtual std::vector<DtScriptedTaskVariable> variables()
const;
228 virtual void setScript(
const std::string&);
229 virtual const std::string& script()
const;
233 virtual bool loadScript();
236 virtual bool loadScript(
const std::string&);
240 virtual void setIsSystemScript(
bool);
241 virtual bool isSystemScript()
const;
246 virtual void setActionCategories(
const std::set<std::string>&);
247 virtual void addActionCategory(
const std::string&);
248 virtual void removeActionCategory(
const std::string&);
249 virtual bool hasActionCategory(
const std::string&)
const;
250 virtual const std::set<std::string>& actionCategories()
const;
255 virtual void setDoctrines(
const std::set<std::string>&);
256 virtual bool addDoctrine(
const std::string&);
257 virtual bool removeDoctrine(
const std::string&);
258 virtual bool supportsDoctrine(
const std::string&)
const;
259 virtual const std::set<std::string>& doctrines()
const;
260 virtual void renameDoctrine(
const std::string& from,
const std::string& to);
261 virtual void setAvailableToAllDoctrines(
bool);
262 virtual bool availableToAllDoctrines()
const;
268 virtual void setDirectoryPath(
const std::string&);
269 virtual const std::string& directoryPath()
const;
273 virtual void assignNewScriptId();
276 virtual bool supports(
const DtEntityType&)
const;
287 virtual bool encrypt(
const std::string& source, std::string& dest)
const;
290 virtual bool encryptScript();
293 virtual bool encryptSize(
const std::string& source,
int& size)
const;
296 virtual bool decrypt(
const std::string& source, std::string& dest)
const;
300 virtual bool decryptScript();
306 virtual void setEncrypted(
bool);
307 virtual bool encrypted()
const;
312 virtual void setFlag(
int,
bool);
313 virtual bool flagSet(
int)
const;
319 friend class boost::serialization::access;
324 template<
class Archive>
325 void serialize(Archive & ar,
const unsigned int version)
327 ar & BOOST_SERIALIZATION_NVP(myScriptId);
328 ar & BOOST_SERIALIZATION_NVP(myMenuText);
329 ar & BOOST_SERIALIZATION_NVP(myToolTip);
330 ar & BOOST_SERIALIZATION_NVP(myMenuIcon);
331 ar & BOOST_SERIALIZATION_NVP(myVersion);
332 ar & BOOST_SERIALIZATION_NVP(myScriptEngine);
333 ar & BOOST_SERIALIZATION_NVP(myComments);
334 ar & BOOST_SERIALIZATION_NVP(myMenuLocations);
335 ar & BOOST_SERIALIZATION_NVP(myIsSystemScript);
336 ar & BOOST_SERIALIZATION_NVP(myDescription);
337 ar & BOOST_SERIALIZATION_NVP(myScriptLocation);
338 ar & BOOST_SERIALIZATION_NVP(myDirectoryPath);
339 ar & BOOST_SERIALIZATION_NVP(myEntityTypes);
340 ar & BOOST_SERIALIZATION_NVP(myVariables);
341 ar & BOOST_SERIALIZATION_NVP(myScript);
345 ar & BOOST_SERIALIZATION_NVP(myActionCategories);
349 ar & BOOST_SERIALIZATION_NVP(myShowInMenu);
354 ar & BOOST_SERIALIZATION_NVP(myEncrypted);
359 ar & BOOST_SERIALIZATION_NVP(myScriptType);
368 ar & BOOST_SERIALIZATION_NVP(myDoctrines);
369 ar & BOOST_SERIALIZATION_NVP(myFlags);
413 namespace DtBufferSerialize