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,
54 virtual bool load(
const DtFilename&);
57 virtual bool load(
const std::string&);
60 virtual bool load(std::istream&);
64 virtual bool save(
const DtFilename&)
const;
67 virtual bool save(std::string&)
const;
70 virtual bool save(std::ostream&)
const;
73 virtual bool save()
const;
77 virtual const DtFilename& filename()
const;
81 virtual const std::string& scriptId()
const;
84 virtual void setScriptId(
const std::string&);
88 virtual void setMenuText(
const std::string&);
89 virtual const std::string& menuText()
const;
94 virtual void setToolTip(
const std::string&);
95 virtual const std::string& toolTip()
const;
100 virtual void setMenuIcon(
const std::string&);
101 virtual const std::string& menuIcon()
const;
108 virtual void setVersion(
double);
109 virtual double version()
const;
114 virtual void setScriptEngine(
const std::string&);
115 virtual const std::string& scriptEngine()
const;
120 virtual void setComments(
const std::string&);
121 virtual const std::string& comments()
const;
127 virtual void setDescription(
const std::string&);
128 virtual const std::string& description()
const;
134 virtual void setScriptLocation(
const std::string&);
135 virtual const std::string& scriptLocation()
const;
141 virtual void setMenuLocations(
const std::vector<std::string>&);
142 virtual void addMenuLocation(
const std::string&);
143 virtual void removeMenuLocation(
const std::string&);
144 virtual void removeMenuLocation(
int);
145 virtual const std::vector<std::string>& menuLocations()
const;
146 virtual void setShowInMenu(
bool);
147 virtual bool showInMenu()
const;
153 virtual void setEntityTypes(
const std::vector<DtEntityType>&);
154 virtual void addEntityType(
const DtEntityType&);
155 virtual void removeEntityType(
const DtEntityType&);
156 virtual void removeEntityType(
int);
157 virtual std::vector<DtEntityType> entityTypes()
const;
164 virtual void setVariables(
const std::vector<DtScriptedTaskVariable>&);
168 virtual void removeVariable(
const std::string&);
169 virtual void removeVariable(
int);
170 virtual std::vector<DtScriptedTaskVariable> variables()
const;
175 virtual void setScript(
const std::string&);
176 virtual const std::string& script()
const;
180 virtual bool loadScript();
183 virtual bool loadScript(
const std::string&);
187 virtual void setIsSystemScript(
bool);
188 virtual bool isSystemScript()
const;
193 virtual void setActionCategories(
const std::set<std::string>&);
194 virtual void addActionCategory(
const std::string&);
195 virtual void removeActionCategory(
const std::string&);
196 virtual bool hasActionCategory(
const std::string&)
const;
197 virtual const std::set<std::string>& actionCategories()
const;
203 virtual void setDirectoryPath(
const std::string&);
204 virtual const std::string& directoryPath()
const;
208 virtual void assignNewScriptId();
211 virtual bool supports(
const DtEntityType&)
const;
222 virtual bool encrypt(
const std::string& source, std::string& dest)
const;
225 virtual bool encryptScript();
228 virtual bool encryptSize(
const std::string& source,
int& size)
const;
231 virtual bool decrypt(
const std::string& source, std::string& dest)
const;
235 virtual bool decryptScript();
241 virtual void setEncrypted(
bool);
242 virtual bool encrypted()
const;
248 friend class boost::serialization::access;
253 template<
class Archive>
254 void serialize(Archive & ar,
const unsigned int version)
256 ar & BOOST_SERIALIZATION_NVP(myScriptId);
257 ar & BOOST_SERIALIZATION_NVP(myMenuText);
258 ar & BOOST_SERIALIZATION_NVP(myToolTip);
259 ar & BOOST_SERIALIZATION_NVP(myMenuIcon);
260 ar & BOOST_SERIALIZATION_NVP(myVersion);
261 ar & BOOST_SERIALIZATION_NVP(myScriptEngine);
262 ar & BOOST_SERIALIZATION_NVP(myComments);
263 ar & BOOST_SERIALIZATION_NVP(myMenuLocations);
264 ar & BOOST_SERIALIZATION_NVP(myIsSystemScript);
265 ar & BOOST_SERIALIZATION_NVP(myDescription);
266 ar & BOOST_SERIALIZATION_NVP(myScriptLocation);
267 ar & BOOST_SERIALIZATION_NVP(myDirectoryPath);
268 ar & BOOST_SERIALIZATION_NVP(myEntityTypes);
269 ar & BOOST_SERIALIZATION_NVP(myVariables);
270 ar & BOOST_SERIALIZATION_NVP(myScript);
274 ar & BOOST_SERIALIZATION_NVP(myActionCategories);
278 ar & BOOST_SERIALIZATION_NVP(myShowInMenu);
283 ar & BOOST_SERIALIZATION_NVP(myEncrypted);
316 namespace DtBufferSerialize