Actionscript/SharedObject

From Gnash Project Wiki

Jump to: navigation, search

SharedObject

A SharedObject is a file on disk that stores AMF objects so data can be shared between successive plays of a swf movie, or between different swf movies. These are a bit like web browser cookies, so there are some security concerns. The other player stores all of it's created .sol files in a directory tree starting at ~/.macromedia/Flash_Player/#SharedObjects/, followed by a number like D6CBAJTS whose value appears to be created at installation time. Gnash has a soldumper utility you can use to display the contents of the .sol file so you can see what is being stored.

Documentation on the AMF format can be found here

  • method SharedObject::getLocal()
Read or create a shared object file.
  • method SharedObject::flush()
Write the shared object to disk.
  • method SharedObject::getSize()
Return the size of the shared object.
  • method SharedObject::clear()
Clear the data in the shared object.

More detailed information on this class can be found here [http://www.brajeshwar.com/reference/as2/SharedObject.html]

Gnashrc Options

The following options are supported by Gnash when dealing with shared objects.

  • SOLSafeDir /tmp/
This is the top level path used by Gnash for shared object files. This is commonly set to something like /tmp. If you want compatibility with the other player, set it to something that looks like this: set SOLSafeDir /home/test/.macromedia/Flash_Player/#SharedObjects/D6CBAJTS/
  • set SOLLocalDomain yes
Only allow creating .sol files if in the localhost domain
  • set SOLReadOnly no
Only read SOL files, never write any