Adobe 65011817 Extended User Guide - Page 290

Generating stubs for nonstandard client types

Page 290 highlights

Last updated 12/8/2009 EXTENDING FIREWORKS 286 Cross-Product Extensions Generating stubs for nonstandard client types If the client is not written in one of the languages for which Adobe provides a client RPC library, the client implementer must create or generate the stubs. For information about how to do this, see "The Fireworks Object Model" on page 6. The application object (with object ID fw) is of the Fireworks class (for other objects with reserved IDs, see "Object IDs" on page 283). All objects returned by the server contain the class name as an attribute. Given an object's class, the client can determine what methods and properties it has based on the Fireworks JavaScript DOM. The DOM document also gives the prototypes of the methods and properties of a class. The client can use the DOM document to determine the number and types of method parameters. The DOM document uses more types in its prototypes than the RPC mechanism defines. So, several of the documented types collapse to one RPC type. In addition to static properties, objects of certain classes can also have dynamic properties. "The Fireworks Object Model" on page 6 documents dynamic properties and specifies whether the dynamic properties are read only. Most dynamic properties are on lists (for example, the BehaviorsList class). The properties take an integer or string as a property name, and return a value based on the element associated with the property name. The following table shows the mapping between the Fireworks Object Model data types and the RPC data types. DOM data type array Boolean RPC data type array Boolean color string date dictionary dictionary float integer dictionary float integer Example Description Types map identically. Both types are identical. Both contain only two values: true or false. A color is a string with nine characters. It has the format #RRGGBBAA. A date is a dictionary with the following subelement keys: year, month, day, hour, minutes, and seconds. All six elements are integer data types. Types map identically. Types map identically. Types map identically.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336

286
EXTENDING FIREWORKS
Cross-Product Extensions
Las
t
up
d
a
ted
12/8/2009
Generating stubs for nonstandard client types
If the client is not written in one of the languages for which Adobe provides a client RPC library, the client implementer
must create or generate the stubs. For information about how to do this, see “
The Fireworks Object Model
” on page
6.
The application object (with object ID fw) is of the
Fireworks
class (for other objects with reserved IDs, see “
Object
IDs
” on page
283). All objects returned by the server contain the class name as an attribute. Given an object’s class, the
client can determine what methods and properties it has based on the Fireworks JavaScript DOM. The DOM
document also gives the prototypes of the methods and properties of a class. The client can use the DOM document
to determine the number and types of method parameters. The DOM document uses more types in its prototypes than
the RPC mechanism defines. So, several of the documented types collapse to one RPC type.
In addition to static properties, objects of certain classes can also have dynamic properties. “
The Fireworks Object
Model
” on page
6 documents dynamic properties and specifies whether the dynamic properties are read only. Most
dynamic properties are on lists (for example, the
BehaviorsList
class). The properties take an integer or string as a
property name, and return a value based on the element associated with the property name.
The following table shows the mapping between the Fireworks Object Model data types and the RPC data types.
DOM data type
RPC data type
Example
Description
array
array
<array></array>
Types map identically.
Boolean
Boolean
<bool value="true" />
Both types are identical. Both contain only two
values:
true
or
false
.
color
string
<string value="#7788CCFF" />
A color is a string with nine characters. It has the
format #RRGGBBAA.
date
dictionary
<dict>
<int key="year" value="2002"
/>
<int key="month" value="9"
/>
<int key="day"
value="3" />
<int key="hour" value="20"
/>
<int key="minutes"
value="15" />
<int key="seconds"
value="32" />
</dict>
A date is a dictionary with the following
subelement keys: year, month, day, hour, minutes,
and seconds. All six elements are integer data
types.
dictionary
dictionary
<dict></dict>
Types map identically.
float
float
<double value="5.132" />
Types map identically.
integer
integer
<int value="7" />
Types map identically.