22 Conferencing API Programming Guide — August 2006
Application Development Guidelines
Even though two (or more) conferences can be bridged together, the attributes and settings of
each conference remain unchanged. The application is responsible for managing each
conference and conference related events separately.
The coach/pupil feature does not span conference bridges. Coach and pupil must be in the
same conference.
5.5 Terminating an Application
Party resources and conference resources are not released when an application terminates. The
conferencing software is designed in this way to allow conferences to stay active when a process
exits. Therefore, you are responsible for terminating the application properly. Similarly, if an error
condition abnormally terminates the application, individual conferences will not be closed nor will
individual channels be closed. In this case, design the application to recover and manage the
existing conferences or to shut down devices in an orderly fashion.
When your process completes, devices should be shut down in an orderly fashion. Tasks that are
performed to terminate an application generally include:
disabling events by calling cnf_DisableEvents()
closing all devices using the appropriate function such as cnf_CloseParty(),
cnf_CloseConference() , cnf_Close( ), dx_close( ), and so on
breaking the connection between the party device and other supported device using
dev_Disconnect( )
Note: Standard Runtime Library event management functions (such as sr_dishdlr( ), which disables an
event handler) must be called before closing the device that is sending the handler event
notifications. See Chapter3 , “Event Handling” for more information about handling events.
5.6 Data Structure Considerations
Take note of the following consideration when working with data structures:
Each data structure in the conferencing library has a version number field. This version
number is used to ensure that an application is binary compatible with future changes to this
data structure. This field is currently reserved for future use. Use the version number as
specified in the header file, cnflib.h, and as documented in the Conferencing API Library
Reference.