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,
63 virtual bool load(
const DtFilename&);
66 virtual bool load(
const std::string&);
69 virtual bool load(std::istream&);
72 virtual bool hasUserEntryVariables()
const;
76 virtual bool save(
const DtFilename&)
const;
79 virtual bool save(std::string&)
const;
82 virtual bool save(std::ostream&)
const;
85 virtual bool save()
const;
89 virtual const DtFilename&
filename()
const;
93 virtual const std::string& scriptId()
const;
96 virtual void setScriptId(
const std::string&);
99 virtual void setScriptType(
int);
102 virtual int scriptType()
const;
106 virtual void setMenuText(
const std::string&);
107 virtual const std::string& menuText()
const;
112 virtual void setExtendedMenuText(
const std::string&);
113 virtual const std::string& extendedMenuText()
const;
118 virtual void setToolTip(
const std::string&);
119 virtual const std::string& toolTip()
const;
124 virtual void setMenuIcon(
const std::string&);
125 virtual const std::string& menuIcon()
const;
132 virtual void setVersion(
double);
133 virtual double version()
const;
139 virtual void setPriority(
int);
140 virtual int priority()
const;
146 virtual void setEnabled(
bool);
147 virtual bool enabled()
const;
154 virtual void setShortDescription(
const std::string&);
155 virtual const std::string& shortDescription()
const;
164 virtual void setScriptEngine(
const std::string&);
165 virtual const std::string& scriptEngine()
const;
170 virtual bool isInterpretedScript()
const;
175 static void addInterpretedScriptEngine(
const std::string&);
176 static bool isInterpretedScriptEngine(
const std::string&);
181 virtual void setComments(
const std::string&);
182 virtual const std::string& comments()
const;
188 virtual void setDescription(
const std::string&);
189 virtual const std::string& description()
const;
195 virtual void setScriptLocation(
const std::string&);
196 virtual const std::string& scriptLocation()
const;
202 virtual void setMenuLocations(
const std::vector<std::string>&);
203 virtual void addMenuLocation(
const std::string&);
204 virtual void removeMenuLocation(
const std::string&);
205 virtual void removeMenuLocation(
int);
206 virtual const std::vector<std::string>& menuLocations()
const;
207 virtual void setShowInMenu(
bool);
208 virtual bool showInMenu()
const;
213 virtual void setToolbarLocation(
const std::string&);
214 virtual const std::string& toolbarLocation()
const;
215 virtual void setShowInToolbar(
bool);
216 virtual bool showInToolbar()
const;
222 virtual void setEntityTypes(
const std::vector<DtEntityType>&);
223 virtual void addEntityType(
const DtEntityType&);
224 virtual void removeEntityType(
const DtEntityType&);
225 virtual void removeEntityType(
int);
226 virtual std::vector<DtEntityType> entityTypes()
const;
227 virtual bool supportsEntityType(
const DtEntityType&)
const;
230 virtual bool hasEntityType(
const DtEntityType&)
const;
237 virtual void setVariables(
const std::vector<DtScriptedTaskVariable>&);
241 virtual void removeVariable(
const std::string&);
242 virtual void removeVariable(
int);
243 virtual std::vector<DtScriptedTaskVariable> variables()
const;
257 virtual void setScript(
const std::string&);
258 virtual const std::string& script()
const;
262 virtual bool loadScript();
265 virtual bool loadScript(
const std::string&);
269 virtual void setIsSystemScript(
bool);
270 virtual bool isSystemScript()
const;
275 virtual void setActionCategories(
const std::set<std::string>&);
276 virtual void addActionCategory(
const std::string&);
277 virtual void removeActionCategory(
const std::string&);
278 virtual bool hasActionCategory(
const std::string&)
const;
279 virtual const std::set<std::string>& actionCategories()
const;
284 virtual void setDoctrines(
const std::set<std::string>&);
285 virtual bool addDoctrine(
const std::string&);
286 virtual bool removeDoctrine(
const std::string&);
287 virtual bool supportsDoctrine(
const std::string&)
const;
288 virtual const std::set<std::string>& doctrines()
const;
289 virtual bool renameDoctrine(
const std::string& from,
const std::string& to);
290 virtual void setAvailableToAllDoctrines(
bool);
291 virtual bool availableToAllDoctrines()
const;
296 virtual void setShowOnTopLevelRightClickMenu(
bool);
297 virtual bool showOnTopLevelRightClickMenu()
const;
303 virtual void setDirectoryPath(
const std::string&);
304 virtual const std::string& directoryPath()
const;
308 virtual void assignNewScriptId();
311 virtual bool supports(
const DtEntityType&)
const;
322 virtual bool encrypt(
const std::string& source, std::string& dest)
const;
325 virtual bool encryptScript();
328 virtual bool encryptSize(
const std::string& source,
int&
size)
const;
331 virtual bool decrypt(
const std::string& source, std::string& dest)
const;
335 virtual bool decryptScript();
339 virtual std::auto_ptr<DtRwVariableBindings> upgradeVariables(
const DtRwVariableBindings&)
const;
345 virtual void setEncrypted(
bool);
346 virtual bool encrypted()
const;
351 virtual void setFlag(
int,
bool);
352 virtual bool flagSet(
int)
const;
360 virtual void loadTranslationFile(
const std::string& lang);
361 virtual void translationData(
char*& data,
unsigned int& len)
const;
362 virtual std::string translationLanguage()
const;
363 virtual void clearTranslationData();
367 virtual std::string removeTrailingLinefeeds(
const std::string&);
372 friend class boost::serialization::access;
377 template<
class Archive>
378 void serialize(Archive & ar,
const unsigned int version)
380 ar & BOOST_SERIALIZATION_NVP(myScriptId);
381 ar & BOOST_SERIALIZATION_NVP(myMenuText);
382 ar & BOOST_SERIALIZATION_NVP(myToolTip);
383 ar & BOOST_SERIALIZATION_NVP(myMenuIcon);
384 ar & BOOST_SERIALIZATION_NVP(myVersion);
385 ar & BOOST_SERIALIZATION_NVP(myScriptEngine);
386 ar & BOOST_SERIALIZATION_NVP(myComments);
387 ar & BOOST_SERIALIZATION_NVP(myMenuLocations);
388 ar & BOOST_SERIALIZATION_NVP(myIsSystemScript);
389 ar & BOOST_SERIALIZATION_NVP(myDescription);
390 ar & BOOST_SERIALIZATION_NVP(myScriptLocation);
391 ar & BOOST_SERIALIZATION_NVP(myDirectoryPath);
392 ar & BOOST_SERIALIZATION_NVP(myEntityTypes);
393 ar & BOOST_SERIALIZATION_NVP(myVariables);
394 ar & BOOST_SERIALIZATION_NVP(myScript);
398 ar & BOOST_SERIALIZATION_NVP(myActionCategories);
402 ar & BOOST_SERIALIZATION_NVP(myShowInMenu);
407 ar & BOOST_SERIALIZATION_NVP(myEncrypted);
412 ar & BOOST_SERIALIZATION_NVP(myScriptType);
421 ar & BOOST_SERIALIZATION_NVP(myDoctrines);
422 ar & BOOST_SERIALIZATION_NVP(myFlags);
431 ar & BOOST_SERIALIZATION_NVP(myShowInToolbar);
432 ar & BOOST_SERIALIZATION_NVP(myToolbarLocation);
437 ar & BOOST_SERIALIZATION_NVP(myExtendedMenuText);
442 ar & BOOST_SERIALIZATION_NVP(myShortDescription);
493 namespace DtBufferSerialize