00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MARSYAS_EV_VALUPD_H
00021 #define MARSYAS_EV_VALUPD_H
00022
00023 #include <string>
00024 #include <iostream>
00025
00026 #include "MarControl.h"
00027 #include "EvEvent.h"
00028 #include "TmControlValue.h"
00029
00030 namespace Marsyas
00031 {
00040 class MarSystem;
00041
00042 class marsyas_EXPORT EvValUpd : public EvEvent {
00043 protected:
00044 MarSystem* target_;
00045 std::string cname_;
00046 MarControlPtr value_;
00047
00048 public:
00049
00050 EvValUpd(std::string cname, MarControlPtr);
00051 EvValUpd(MarSystem*, std::string cname, MarControlPtr);
00052 EvValUpd(EvValUpd& e);
00053 virtual ~EvValUpd();
00054
00055
00056 std::string getCName() const {return cname_;};
00057 MarControlPtr getValue() const {return value_;};
00058 MarSystem* getTarget() const {return target_;};
00059
00060 void setCName(std::string cname) {cname_=cname;};
00061 void setValue(MarControlPtr value) {value_=value;};
00062 void setTarget(MarSystem* ms) {target_=ms;};
00063 void set(MarSystem* ms, std::string cname, MarControlPtr);
00064 void updctrl(std::string cname, TmControlValue value);
00065
00066
00067 void dispatch();
00068
00069 virtual EvValUpd* clone();
00070
00071
00072 friend std::ostream& operator<<(std::ostream&, EvEvent&);
00073 friend std::istream& operator>>(std::istream&, EvEvent&);
00074 };
00075
00076 }
00077
00078 #endif