In order to communicate with a running Storyboard application the external application must first attach to the application's Storyboard IO channel. By default this channel is named after the deployment bundle file (i.e. [bundlename].gapp), however the name of this channel can be customized by specifying -ogreio,channel=newname
as an option to sbengine. Alternatively, on some platforms, it is also possible to set a GREIONAME environment variable to the channel name.
Once the channel name is determined, the connection to the channel can be established with the gre_io_open()
function. This will connect to the channel and return a handle that can be used for future communication.
Once the application has determined that no further communication is necessary the channel should be closed via the gre_io_close()
function. The gre_io_close
should be called in a manner that is serialized with clients using the handle returned from gre_io_open
. For threaded applications where a receive thread is running independently, it is always a good idea to shut down and close the channel from within the thread that is receive blocked on the channel by sending it a specific termination message.