24
24
<th width="100%" align="center">Swfdec Reference Manual</th>
25
25
<td><a accesskey="n" href="SwfdecAsContext.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
27
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2630561" class="shortcut">Top</a>
29
<a href="#id2635102" class="shortcut">Description</a></nobr></td></tr>
27
<tr><td colspan="5" class="shortcuts"><nobr><a href="#swfdec-SwfdecAsValue.synopsis" class="shortcut">Top</a>
29
<a href="#swfdec-SwfdecAsValue.description" class="shortcut">Description</a></nobr></td></tr>
31
31
<div class="refentry" lang="en">
32
32
<a name="swfdec-SwfdecAsValue"></a><div class="titlepage"></div>
33
33
<div class="refnamediv"><table width="100%"><tr>
36
<a name="id2630561"></a><span class="refentrytitle">SwfdecAsValue</span>
38
<p>SwfdecAsValue — exchanging values with the Actionscript engine</p>
35
<h2><span class="refentrytitle"><a name="swfdec-SwfdecAsValue.top_of_page"></a>SwfdecAsValue</span></h2>
36
<p>SwfdecAsValue — exchanging values with the Actionscript engine</p>
40
38
<td valign="top" align="right"></td>
41
39
</tr></table></div>
42
40
<div class="refsynopsisdiv">
41
<a name="swfdec-SwfdecAsValue.synopsis"></a><h2>Synopsis</h2>
44
42
<pre class="synopsis">
46
44
#include <swfdec/swfdec.h>
49
enum <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValueType">SwfdecAsValueType</a>;
50
<a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a>;
51
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-UNDEFINED:CAPS">SWFDEC_AS_VALUE_SET_UNDEFINED</a> (val)
52
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-BOOLEAN:CAPS">SWFDEC_AS_VALUE_GET_BOOLEAN</a> (val)
46
enum <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValueType" title="enum SwfdecAsValueType">SwfdecAsValueType</a>;
47
<a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a>;
48
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-UNDEFINED:CAPS" title="SWFDEC_AS_VALUE_SET_UNDEFINED()">SWFDEC_AS_VALUE_SET_UNDEFINED</a> (val)
49
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-BOOLEAN:CAPS" title="SWFDEC_AS_VALUE_GET_BOOLEAN()">SWFDEC_AS_VALUE_GET_BOOLEAN</a> (val)
54
51
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
55
>gboolean</a> <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-boolean">swfdec_as_value_to_boolean</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
56
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);
57
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-BOOLEAN:CAPS">SWFDEC_AS_VALUE_SET_BOOLEAN</a> (val,b)
58
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-NUMBER:CAPS">SWFDEC_AS_VALUE_GET_NUMBER</a> (val)
59
double <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-number">swfdec_as_value_to_number</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
60
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);
61
int <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-integer">swfdec_as_value_to_integer</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
62
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);
63
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-INT:CAPS">SWFDEC_AS_VALUE_SET_INT</a> (val,d)
64
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-NUMBER:CAPS">SWFDEC_AS_VALUE_SET_NUMBER</a> (val,d)
65
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-STRING:CAPS">SWFDEC_AS_VALUE_GET_STRING</a> (val)
66
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-string">swfdec_as_value_to_string</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
67
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);
68
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-STRING:CAPS">SWFDEC_AS_VALUE_SET_STRING</a> (val,s)
69
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-NULL:CAPS">SWFDEC_AS_VALUE_SET_NULL</a> (val)
70
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-OBJECT:CAPS">SWFDEC_AS_VALUE_GET_OBJECT</a> (val)
71
<a class="link" href="SwfdecAsObject.html" title="SwfdecAsObject">SwfdecAsObject</a>* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-object">swfdec_as_value_to_object</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
72
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);
73
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-OBJECT:CAPS">SWFDEC_AS_VALUE_SET_OBJECT</a> (val,o)
74
void <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-primitive">swfdec_as_value_to_primitive</a> (<a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);
75
char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-debug">swfdec_as_value_to_debug</a> (const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);
76
int <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-double-to-integer">swfdec_as_double_to_integer</a> (double d);
77
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-double-to-string">swfdec_as_double_to_string</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
52
>gboolean</a> <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-boolean" title="swfdec_as_value_to_boolean ()">swfdec_as_value_to_boolean</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
53
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);
54
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-BOOLEAN:CAPS" title="SWFDEC_AS_VALUE_SET_BOOLEAN()">SWFDEC_AS_VALUE_SET_BOOLEAN</a> (val,b)
55
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-NUMBER:CAPS" title="SWFDEC_AS_VALUE_GET_NUMBER()">SWFDEC_AS_VALUE_GET_NUMBER</a> (val)
56
double <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-number" title="swfdec_as_value_to_number ()">swfdec_as_value_to_number</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
57
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);
58
int <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-integer" title="swfdec_as_value_to_integer ()">swfdec_as_value_to_integer</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
59
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);
60
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-INT:CAPS" title="SWFDEC_AS_VALUE_SET_INT()">SWFDEC_AS_VALUE_SET_INT</a> (val,d)
61
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-NUMBER:CAPS" title="SWFDEC_AS_VALUE_SET_NUMBER()">SWFDEC_AS_VALUE_SET_NUMBER</a> (val,d)
62
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-STRING:CAPS" title="SWFDEC_AS_VALUE_GET_STRING()">SWFDEC_AS_VALUE_GET_STRING</a> (val)
63
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-string" title="swfdec_as_value_to_string ()">swfdec_as_value_to_string</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
64
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);
65
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-STRING:CAPS" title="SWFDEC_AS_VALUE_SET_STRING()">SWFDEC_AS_VALUE_SET_STRING</a> (val,s)
66
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-NULL:CAPS" title="SWFDEC_AS_VALUE_SET_NULL()">SWFDEC_AS_VALUE_SET_NULL</a> (val)
67
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-GET-OBJECT:CAPS" title="SWFDEC_AS_VALUE_GET_OBJECT()">SWFDEC_AS_VALUE_GET_OBJECT</a> (val)
68
<a class="link" href="SwfdecAsObject.html" title="SwfdecAsObject">SwfdecAsObject</a>* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-object" title="swfdec_as_value_to_object ()">swfdec_as_value_to_object</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
69
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);
70
#define <a class="link" href="swfdec-SwfdecAsValue.html#SWFDEC-AS-VALUE-SET-OBJECT:CAPS" title="SWFDEC_AS_VALUE_SET_OBJECT()">SWFDEC_AS_VALUE_SET_OBJECT</a> (val,o)
71
void <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-primitive" title="swfdec_as_value_to_primitive ()">swfdec_as_value_to_primitive</a> (<a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);
72
char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-debug" title="swfdec_as_value_to_debug ()">swfdec_as_value_to_debug</a> (const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);
73
int <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-double-to-integer" title="swfdec_as_double_to_integer ()">swfdec_as_double_to_integer</a> (double d);
74
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-double-to-string" title="swfdec_as_double_to_string ()">swfdec_as_double_to_string</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
79
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-integer-to-string">swfdec_as_integer_to_string</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
76
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-integer-to-string" title="swfdec_as_integer_to_string ()">swfdec_as_integer_to_string</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
81
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-str-concat">swfdec_as_str_concat</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *cx,
78
const char* <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-str-concat" title="swfdec_as_str_concat ()">swfdec_as_str_concat</a> (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *cx,
87
83
<div class="refsect1" lang="en">
88
<a name="id2635102"></a><h2>Description</h2>
84
<a name="swfdec-SwfdecAsValue.description"></a><h2>Description</h2>
90
86
This section describes how values are handled inside the Actionscript
91
87
engine. Since Actionscript is a dynamically typed language, the variable type
92
has to be carried with every value. <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue"><span class="type">SwfdecAsValue</span></a> accomplishes that. Swfdec
88
has to be carried with every value. <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue"><span class="type">SwfdecAsValue</span></a> accomplishes that. Swfdec
93
89
allows two possible ways of accessing these values: The common method is to
94
90
use the provided functions to explicitly convert the values to a given type
95
with a function such as <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-string"><code class="function">swfdec_as_value_to_string()</code></a>. This is convenient,
91
with a function such as <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-string" title="swfdec_as_value_to_string ()"><code class="function">swfdec_as_value_to_string()</code></a>. This is convenient,
96
92
but can be very slow as it can call back into the Actionscript engine when
97
93
converting various objects. So it can be unsuitable in some cases.
98
94
A different possibiltiy is accessing the values directly using the accessor
566
547
<div class="refsect2" lang="en">
567
<a name="id2645264"></a><h3>
568
<a name="SWFDEC-AS-VALUE-GET-OBJECT:CAPS"></a>SWFDEC_AS_VALUE_GET_OBJECT()</h3>
569
<a class="indexterm" name="id2645276"></a><pre class="programlisting">#define SWFDEC_AS_VALUE_GET_OBJECT(val) ((val)->value.object)
548
<a name="SWFDEC-AS-VALUE-GET-OBJECT:CAPS"></a><h3>SWFDEC_AS_VALUE_GET_OBJECT()</h3>
549
<pre class="programlisting">#define SWFDEC_AS_VALUE_GET_OBJECT(val) ((val)->value.object)
572
552
Gets the object associated with <em class="parameter"><code>val</code></em>. If you are not sure that the value is
573
an object value, consider using <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-object"><code class="function">swfdec_as_value_to_object()</code></a> instead.</p>
553
an object value, consider using <a class="link" href="swfdec-SwfdecAsValue.html#swfdec-as-value-to-object" title="swfdec_as_value_to_object ()"><code class="function">swfdec_as_value_to_object()</code></a> instead.</p>
577
557
<div class="variablelist"><table border="0">
578
558
<col align="left" valign="top">
580
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
561
<td><p><span class="term"><em class="parameter"><code>val</code></em> :</span></p></td>
581
562
<td> value to get, the value must reference an object
566
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
567
<td> a <a class="link" href="SwfdecAsObject.html" title="SwfdecAsObject"><span class="type">SwfdecAsObject</span></a>
587
574
<div class="refsect2" lang="en">
588
<a name="id2645332"></a><h3>
589
<a name="swfdec-as-value-to-object"></a>swfdec_as_value_to_object ()</h3>
590
<a class="indexterm" name="id2645344"></a><pre class="programlisting"><a class="link" href="SwfdecAsObject.html" title="SwfdecAsObject">SwfdecAsObject</a>* swfdec_as_value_to_object (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
591
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value);</pre>
575
<a name="swfdec-as-value-to-object"></a><h3>swfdec_as_value_to_object ()</h3>
576
<pre class="programlisting"><a class="link" href="SwfdecAsObject.html" title="SwfdecAsObject">SwfdecAsObject</a>* swfdec_as_value_to_object (<a class="link" href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,
577
const <a class="link" href="swfdec-SwfdecAsValue.html#SwfdecAsValue" title="SwfdecAsValue">SwfdecAsValue</a> *value);</pre>
593
579
Converts a given value to its representation as an object. The object
594
580
representation for primitive types is a wrapper object of the corresponding