19 #ifndef GNASH_SWF_IMPORTASSETSTAG_H 20 #define GNASH_SWF_IMPORTASSETSTAG_H 42 typedef std::pair<int, std::string>
Import;
62 for (
const Import&
import : _imports) {
78 std::string source_url;
84 unsigned char import_version = 0;
94 const std::uint16_t count = in.
read_u16();
97 log_parse(
_(
" import: version = %u, source_url = %s (%s), " 98 "count = %d"), import_version, abs_url.str(), source_url,
103 boost::intrusive_ptr<movie_definition> source_movie;
114 log_error(
_(
"can't import movie from url %s"), abs_url.str());
120 if (source_movie == &m) {
129 for (
size_t i = 0;
i < count; ++
i)
132 const std::uint16_t
id = in.
read_u16();
137 std::string symbolName;
140 log_parse(
_(
" import: id = %d, name = %s"),
id, symbolName);
142 _imports.push_back(std::make_pair(
id, symbolName));
virtual void addCharacter(std::uint16_t)
Add a character to the list of known characters.
Definition: Movie.h:97
std::uint16_t read_u16()
Read a aligned unsigned 16-bit value from the stream.
Definition: SWFStream.cpp:332
Client program's interface to the definition of a movie or sprite.
Definition: movie_definition.h:95
std::pair< int, std::string > Import
Definition: ImportAssetsTag.h:42
A MovieClip is a container for DisplayObjects.
Definition: MovieClip.h:83
void read_string(std::string &to)
Reads a null-terminated string from the given file and assigns it to the given std::string, overriding any previous value of it.
Definition: SWFStream.cpp:395
TagType
SWF tag types. Symbolic names copied from Ming.
Definition: SWF.h:30
virtual Movie * get_root() const
Return the relative root of this DisplayObject.
Definition: MovieClip.cpp:2049
#define UNUSED(x)
Definition: utility.h:113
A top-level, standalone Movie that can be loaded and played.
Definition: Movie.h:46
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
#define IF_VERBOSE_MALFORMED_SWF(x)
Definition: log.h:404
virtual void executeState(MovieClip *m, DisplayList &) const
Execute an ImportAssetsTag.
Definition: ImportAssetsTag.h:60
Definition: ImportAssetsTag.h:38
#define IF_VERBOSE_PARSE(x)
Definition: log.h:378
Control tags are swf tags that control the operation of the movie.
Definition: ControlTag.h:43
void log_parse(StringType msg, Args... args)
Definition: log.h:313
Definition: GnashKey.h:164
static DSOEXPORT boost::intrusive_ptr< movie_definition > makeMovie(const URL &url, const RunResources &runResources, const char *real_url=nullptr, bool startLoaderThread=true, const std::string *postdata=nullptr)
Create a gnash::movie_definition from the given URL.
Definition: MovieFactory.cpp:109
Definition: GnashKey.h:166
#define _(String)
Definition: log.h:44
Class to group together per-run and external resources for Gnash.
Definition: RunResources.h:53
void log_error(StringType msg, Args... args)
Definition: log.h:283
void log_swferror(StringType msg, Args... args)
Definition: log.h:325
unsigned read_uint(unsigned short bitcount)
Reads a bit-packed unsigned integer from the stream and returns it. The given bitcount determines the...
Definition: SWFStream.cpp:102
virtual void importResources(boost::intrusive_ptr< movie_definition >, const Imports &)
Import resources.
Definition: movie_definition.h:176
const URL & baseURL() const
The base URL that should be used to resolve all relative URLs.
Definition: StreamProvider.h:117
static void loader(SWFStream &in, TagType tag, movie_definition &m, const RunResources &r)
Definition: ImportAssetsTag.h:45
Definition: GnashKey.h:162
Definition: GnashKey.h:155
Definition: GnashKey.h:151
Definition: GnashKey.h:159
std::vector< Import > Imports
Definition: ImportAssetsTag.h:43
const StreamProvider & streamProvider() const
Get a StreamProvider instance.
Definition: RunResources.h:76
virtual void addControlTag(boost::intrusive_ptr< SWF::ControlTag >)
Add an ControlTag to this movie_definition's playlist.
Definition: movie_definition.h:273
A list of on-stage DisplayObjects, ordered by depth.
Definition: DisplayList.h:64
Definition: GnashKey.h:331
SWF stream wrapper class.
Definition: SWFStream.h:58
Uniform Resource Locator.
Definition: URL.h:34
Top-level gnash exception.
Definition: GnashException.h:30
void ensureBytes(unsigned long needed)
Ensure the requested number of bytes are available for an aligned read in the currently opened tag...
Definition: SWFStream.cpp:50