00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef MARSYAS_OUTPUT_STRING_STREAM_H
00020 #define MARSYAS_OUTPUT_STRING_STREAM_H
00021
00022 #include <string>
00023 #include <sstream>
00024 #include "DLLDefines.h"
00025
00026 namespace Marsyas
00027 {
00035 class marsyas_EXPORT marostring
00036 {
00037 protected:
00038 std::ostringstream result_;
00039
00040 public:
00041 marostring();
00042 marostring(const marostring& m);
00043 virtual ~marostring();
00044
00045 virtual void begin_marsystem(bool isComposite, std::string type, std::string name)=0;
00046 virtual void end_marsystem(bool isComposite, std::string type, std::string name);
00047
00048 virtual void begin_controls(int num_controls)=0;
00049 virtual void begin_control(std::string type, std::string name, std::string value, bool has_state)=0;
00050 virtual void begin_control_links_in(int num_links);
00051 virtual void put_control_link_in(std::string abspath, std::string type, std::string name);
00052 virtual void end_control_links_in(int num_links);
00053 virtual void begin_control_links_out(int num_links);
00054 virtual void put_control_link_out(std::string abspath, std::string type, std::string name);
00055 virtual void end_control_links_out(int num_links);
00056 virtual void end_control(std::string type, std::string name, std::string value, bool has_state);
00057 virtual void end_controls(int num_controls);
00058
00059 virtual void begin_children(int num_children)=0;
00060 virtual void end_children(int num_children);
00061
00062 virtual std::string str();
00063 virtual void clear();
00064 };
00065
00066 }
00067
00068 #endif