diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-09-02 21:38:10 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-09-02 21:38:10 (GMT) |
commit | 7938e286967597c7168b855b7e3fdfbd9b949e0e (patch) | |
tree | bc5d9bfb80a07ec80b36dc025b3fac9f3ca03ec4 /src/uscxml/Message.h | |
parent | a874a181add7b292e52140f8c753f663a4cb5a87 (diff) | |
download | uscxml-7938e286967597c7168b855b7e3fdfbd9b949e0e.zip uscxml-7938e286967597c7168b855b7e3fdfbd9b949e0e.tar.gz uscxml-7938e286967597c7168b855b7e3fdfbd9b949e0e.tar.bz2 |
New file element for executable content
Diffstat (limited to 'src/uscxml/Message.h')
-rw-r--r-- | src/uscxml/Message.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/uscxml/Message.h b/src/uscxml/Message.h index 5ccab57..e561c59 100644 --- a/src/uscxml/Message.h +++ b/src/uscxml/Message.h @@ -10,6 +10,7 @@ #include <DOM/Document.hpp> #include <DOM/io/Stream.hpp> +#include <boost/shared_ptr.hpp> #include <inttypes.h> #define TAGNAME(elem) ((Arabica::DOM::Element<std::string>)elem).getTagName() @@ -19,16 +20,25 @@ namespace uscxml { +class Blob { +public: + ~Blob(); + Blob(size_t size); + Blob(void* data, size_t size, bool adopt = false); + char* _data; + size_t _size; +}; + class Data { public: enum Type { VERBATIM, INTERPRETED, - BINARY, }; Data() : type(INTERPRETED) {} Data(const std::string& atom_, Type type_ = INTERPRETED) : atom(atom_), type(type_) {} + Data(const char* data, size_t size, bool adopt); explicit Data(const Arabica::DOM::Node<std::string>& dom); virtual ~Data() {} @@ -109,6 +119,7 @@ protected: std::map<std::string, Data> compound; std::list<Data> array; std::string atom; + boost::shared_ptr<Blob> binary; Type type; protected: |