19 #ifndef GNASH_MOVIE_LOADER_H 20 #define GNASH_MOVIE_LOADER_H 23 #include <condition_variable> 27 #include <boost/intrusive_ptr.hpp> 28 #include <boost/noncopyable.hpp> 29 #include <boost/ptr_container/ptr_list.hpp> 37 class movie_definition;
75 void loadMovie(
const std::string&
url,
const std::string& target,
83 void processCompletedRequests();
85 void setReachable()
const;
90 class Request : boost::noncopyable {
95 Request(
URL u, std::string
t,
96 const std::string* postdata,
as_object* handler)
98 _target(std::move(t)),
107 _postData = *postdata;
112 const std::string& getTarget()
const {
return _target; }
113 const URL& getURL()
const {
return _url; }
114 const std::string& getPostData()
const {
return _postData; }
115 bool usePost()
const {
return _usePost; }
116 as_object* getHandler()
const {
return _handler; }
117 void setReachable()
const {
118 if (_handler) _handler->setReachable();
134 bool getCompleted(boost::intrusive_ptr<movie_definition>& md)
const 136 std::lock_guard<std::mutex> lock(_mutex);
144 std::lock_guard<std::mutex> lock(_mutex);
149 bool completed()
const 151 std::lock_guard<std::mutex> lock(_mutex);
162 void setCompleted(boost::intrusive_ptr<movie_definition> md)
164 std::lock_guard<std::mutex> lock(_mutex);
173 std::string _postData;
174 boost::intrusive_ptr<movie_definition> _mdef;
175 mutable std::mutex _mutex;
181 typedef boost::ptr_list<Request> Requests;
184 mutable std::mutex _requestsMutex;
186 void processRequests();
187 void processRequest(Request&
r);
188 void clearRequests();
194 bool processCompletedRequest(
const Request& r);
197 std::atomic<bool> _killed;
199 std::condition_variable _wakeup;
209 #endif // GNASH_MOVIE_LOADER_H VariablesMethod
The various methods for sending data in requests.
Definition: MovieClip.h:418
void clear()
Clean up the font library.
Definition: fontlib.cpp:36
Definition: GnashKey.h:167
SimpleBuffer data
Definition: LocalConnection_as.cpp:151
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
The base class for all ActionScript objects.
Definition: as_object.h:161
Definition: GnashKey.h:164
Definition: GnashKey.h:166
#define DSOEXPORT
Definition: dsodefs.h:55
std::string url
Definition: gnash.cpp:59
Movie loader.
Definition: MovieLoader.h:50
Uniform Resource Locator.
Definition: URL.h:34
This class represents the 'Stage' and top-level movie.
Definition: movie_root.h:150