User Guide
Cross-product architecture 85
Security
The RPC server restricts some operations to make sure that a client cannot use the RPC server
maliciously to damage the user’s system. The first security mechanism is that the RPC server
binds to the loopback address, 127.0.0.1. This means all clients must run on the same machine as
the RPC server and must connect to that machine through the loopback address. The second
security mechanism prevents the exposure of “dangerous” classes that are normally on the
Fireworks Javascript DOM, such as the JavaScript
Files classes. However, the client can still have
Fireworks open, and export and save PNG and other image files. Third, certain methods and
properties that could be used maliciously are not permitted in remote procedure calls (including
all methods of the File object, see “Files object” on page 17 and the functions
fw.launchApp and
fw.findApp). The RPC server returns an invalid method error to the client if it attempts to use
these methods or properties. Finally, clients can release only those objects that have been retained
on their behalf. Additionally, when a client disconnects, all the server objects that have been
retained on that client’s behalf are released.
Note: Objects are not destroyed until the client releases them or until the client that created them
disconnects from the server.
RPCMethods class
To use remote procedure calls, Flash developers need to create an instance of a Fireworks object
and thereafter manage Fireworks objects carefully to save memory. In ActionScript, you should
create blocks of code where you will access the Fireworks DOM, assign a group (“pool”) of objects
to variables, and then release those objects when you are finished. Fireworks provides the
following series of memory-management functions to support ActionScript developers working
with Fireworks objects. To learn more about using these functions, see “Creating auto-release
blocks” on page 87 and “Accessing proxy objects” on page 88. These functions are defined in the
supporting RPCMethods.as stubs file available for download from the Macromedia website.
Note: ActionScript Remote Procedure Calls for Fireworks are not ActionScript 1.0 compatible, and
must be written in ActionScript 2.0 (using Flash MX 2004).
resolution dictionary
<dict>
<string key="units"
value="inch" />
<double
key="pixelsPerUnit"
value="72.0" />
</dict>
A resolution is a dictionary with
two subelement keys:
units and
pixelsPerUnit. The units key can
be any of these strings:
inch, cm, or
pixels.The pixelsPerUnit key is a
float data type.
string string
<string value="foo" />
Types map identically.
URL string
<string
value="file://hd/www" />
A URL is a string. It usually starts
with
file://.
void void
<void />
Types map identically.
DOM data type RPC data type Example Description