Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef GNASH_RELAY_H
00020 #define GNASH_RELAY_H
00021
00022 #include <boost/noncopyable.hpp>
00023
00024 namespace gnash {
00025 class as_object;
00026 }
00027
00028 namespace gnash {
00029
00031
00035
00038
00043
00046
00049 class Relay : boost::noncopyable
00050 {
00051 public:
00052 virtual ~Relay() {};
00053
00055 virtual void setReachable() {}
00056 };
00057
00058
00060
00063
00067
00070 class ActiveRelay : public Relay
00071 {
00072 public:
00073
00074 explicit ActiveRelay(as_object* owner)
00075 :
00076 _owner(owner)
00077 {}
00078
00080 virtual ~ActiveRelay();
00081
00083 virtual void update() = 0;
00084
00086
00088 virtual void setReachable();
00089
00091 as_object& owner() const {
00092 return *_owner;
00093 }
00094
00095 protected:
00096
00098
00101 virtual void markReachableResources() const {}
00102
00103 private:
00104
00106
00109 as_object* _owner;
00110
00111 };
00112
00113 }
00114
00115 #endif