00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef MARSYAS_EV_GETUPD_H
00021 #define MARSYAS_EV_GETUPD_H
00022
00023 #include <string>
00024 #include <iostream>
00025
00026 #include "MarControl.h"
00027 #include "EvEvent.h"
00028
00029 namespace Marsyas
00030 {
00039 class MarSystem;
00040
00041 class EvGetUpd : public EvEvent {
00042 protected:
00043 MarSystem* source_;
00044 MarSystem* target_;
00045 std::string src_cname_;
00046 std::string tgt_cname_;
00047
00048 public:
00049
00050 EvGetUpd(MarSystem* src, std::string scname, MarSystem* tgt, std::string tcname);
00051 EvGetUpd(EvGetUpd& e);
00052 virtual ~EvGetUpd();
00053
00054
00055 std::string getSrcCName() const {return tgt_cname_;};
00056 std::string getTgtCName() const {return src_cname_;};
00057 MarSystem* getSource() const {return source_;};
00058 MarSystem* getTarget() const {return target_;};
00059
00060 void setSrcCName(std::string cname) {src_cname_=cname;};
00061 void setTgtCName(std::string cname) {tgt_cname_=cname;};
00062 void setSource(MarSystem* ms) {source_=ms;};
00063 void setTarget(MarSystem* ms) {target_=ms;};
00064 void setEvent(MarSystem* src, std::string scname, MarSystem* tgt, std::string tcname);
00065
00066
00067 void dispatch();
00068
00069 virtual EvGetUpd* 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