📄 swfdecascontext.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>SwfdecAsContext</title><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="index.html" title="Swfdec Reference Manual"><link rel="up" href="ch03.html" title="Actionscript interpreter"><link rel="prev" href="swfdec-SwfdecAsValue.html" title="SwfdecAsValue"><link rel="next" href="swfdec-SwfdecAsObject.html" title="SwfdecAsObject"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="ch01.html" title="Swfdec Gtk library"><link rel="chapter" href="ch02.html" title="Swfdec library"><link rel="chapter" href="ch03.html" title="Actionscript interpreter"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="swfdec-SwfdecAsValue.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Swfdec Reference Manual</th><td><a accesskey="n" href="swfdec-SwfdecAsObject.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id2598014" class="shortcut">Top</a>  |  <a href="#id2618774" class="shortcut">Description</a>  |  <a href="#id2618744" class="shortcut">Object Hierarchy</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="SwfdecAsContext"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id2598014"></a><span class="refentrytitle">SwfdecAsContext</span></h2><p>SwfdecAsContext — the main script engine context</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis"> <a href="SwfdecAsContext.html#SwfdecAsContext-struct">SwfdecAsContext</a>;void <a href="SwfdecAsContext.html#swfdec-as-context-startup">swfdec_as_context_startup</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, guint version);void <a href="SwfdecAsContext.html#swfdec-as-context-abort">swfdec_as_context_abort</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, const char *reason);const char* <a href="SwfdecAsContext.html#swfdec-as-context-get-string">swfdec_as_context_get_string</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, const char *string);const char* <a href="SwfdecAsContext.html#swfdec-as-context-give-string">swfdec_as_context_give_string</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, char *string);gboolean <a href="SwfdecAsContext.html#swfdec-as-context-use-mem">swfdec_as_context_use_mem</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, gsize bytes);void <a href="SwfdecAsContext.html#swfdec-as-context-gc">swfdec_as_context_gc</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);void <a href="SwfdecAsContext.html#swfdec-as-context-maybe-gc">swfdec_as_context_maybe_gc</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);void <a href="SwfdecAsContext.html#swfdec-as-context-run">swfdec_as_context_run</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);void <a href="SwfdecAsContext.html#swfdec-as-context-unuse-mem">swfdec_as_context_unuse_mem</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, gsize bytes);void <a href="SwfdecAsContext.html#swfdec-as-context-eval">swfdec_as_context_eval</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *obj, const char *str, <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *val);void <a href="SwfdecAsContext.html#swfdec-as-context-eval-set">swfdec_as_context_eval_set</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *obj, const char *str, const <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *val);void <a href="SwfdecAsContext.html#swfdec-as-context-get-time">swfdec_as_context_get_time</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, GTimeVal *tv);<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a>* <a href="SwfdecAsContext.html#swfdec-as-context-get-frame">swfdec_as_context_get_frame</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);gboolean <a href="SwfdecAsContext.html#swfdec-as-context-is-constructing">swfdec_as_context_is_constructing</a> (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);</pre></div><div class="refsect1" lang="en"><a name="id2618744"></a><h2>Object Hierarchy</h2><pre class="synopsis"> GObject +----SwfdecAsContext +----<a href="SwfdecPlayer.html" title="SwfdecPlayer">SwfdecPlayer</a></pre></div><div class="refsect1" lang="en"><a name="id2618774"></a><h2>Description</h2><p>A <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a> provides the main execution environment for Actionscriptexecution. It provides the objects typically available in ECMAScript andmanages script execution, garbage collection etc. <a href="SwfdecPlayer.html" title="SwfdecPlayer"><span class="type">SwfdecPlayer</span></a> is asubclass of the context that implements Flash specific objects on top of it.However, it is possible to use the context for completely different functionswhere a sandboxed scripting environment is needed. An example is the Swfdec debugger.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3>The Actionscript engine is similar, but not equal to Javascript. Itis not very different, but it is different.</div><p></p></div><div class="refsect1" lang="en"><a name="id2618819"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2618830"></a><h3><a name="SwfdecAsContext-struct"></a>SwfdecAsContext</h3><a class="indexterm" name="id2618842"></a><pre class="programlisting">typedef struct _SwfdecAsContext SwfdecAsContext;</pre><p>This is the main object ued to hold the state of a script engine. All members are private and should not be accessed.</p><p>Subclassing this structure to get scripting support in your own appliation isencouraged.</p><p></p></div><hr><div class="refsect2" lang="en"><a name="id2618869"></a><h3><a name="swfdec-as-context-startup"></a>swfdec_as_context_startup ()</h3><a class="indexterm" name="id2618880"></a><pre class="programlisting">void swfdec_as_context_startup (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, guint version);</pre><p>Starts up the context. This function must be called before any Actionscriptis called on <em class="parameter"><code>context</code></em>. The version is responsible for deciding which nativefunctions and properties are available in the context.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>context</code></em> :</span></td><td> a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a></td></tr><tr><td><span class="term"><em class="parameter"><code>version</code></em> :</span></td><td> Flash version to use</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617361"></a><h3><a name="swfdec-as-context-abort"></a>swfdec_as_context_abort ()</h3><a class="indexterm" name="id2617372"></a><pre class="programlisting">void swfdec_as_context_abort (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, const char *reason);</pre><p>Aborts script execution in <em class="parameter"><code>context</code></em>. Call this functon if the script engine encountered a fatal error and cannot continue. A possible reason for this isan out-of-memory condition.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>context</code></em> :</span></td><td> a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a></td></tr><tr><td><span class="term"><em class="parameter"><code>reason</code></em> :</span></td><td> a string describing why execution was aborted</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617459"></a><h3><a name="swfdec-as-context-get-string"></a>swfdec_as_context_get_string ()</h3><a class="indexterm" name="id2617470"></a><pre class="programlisting">const char* swfdec_as_context_get_string (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, const char *string);</pre><p>Gets the garbage-collected version of <em class="parameter"><code>string</code></em>. You need to call this functionfor every not garbage-collected string that you want to use in Swfdecs scriptinterpreter.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>context</code></em> :</span></td><td> a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a></td></tr><tr><td><span class="term"><em class="parameter"><code>string</code></em> :</span></td><td> a sting that is not garbage-collected</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the garbage-collected version of <em class="parameter"><code>string</code></em></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2617573"></a><h3><a name="swfdec-as-context-give-string"></a>swfdec_as_context_give_string ()</h3><a class="indexterm" name="id2616300"></a><pre class="programlisting">const char* swfdec_as_context_give_string (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, char *string);</pre><p>Takes ownership of <em class="parameter"><code>string</code></em> and returns a refcounted version of the same string. This function is the same as <a href="SwfdecAsContext.html#swfdec-as-context-get-string"><code class="function">swfdec_as_context_get_string()</code></a>, but takes ownership of <em class="parameter"><code>string</code></em>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>context</code></em> :</span></td><td> a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a></td></tr><tr><td><span class="term"><em class="parameter"><code>string</code></em> :</span></td><td> string to make refcounted</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> A refcounted string</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2616412"></a><h3><a name="swfdec-as-context-use-mem"></a>swfdec_as_context_use_mem ()</h3><a class="indexterm" name="id2616424"></a><pre class="programlisting">gboolean swfdec_as_context_use_mem (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context, gsize bytes);</pre><p>Registers <em class="parameter"><code>bytes</code></em> additional bytes as in use by the <em class="parameter"><code>context</code></em>. This functionkeeps track of the memory that script code consumes. If too many memory is in use, this function may decide to stop the script engine with an out of memory error.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>context</code></em> :</span></td><td> a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a></td></tr><tr><td><span class="term"><em class="parameter"><code>bytes</code></em> :</span></td><td> number of bytes to use</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <code class="literal">TRUE</code> if the memory could be allocated. <code class="literal">FALSE</code> on OOM.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2616547"></a><h3><a name="swfdec-as-context-gc"></a>swfdec_as_context_gc ()</h3>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -