Sequences of Operations Required to Load a Plug-in

The following sequence of operations needs to be performed by a host before it can start telling a plug-in what to do via its mainEntry function.

  1. the binary containing the plug-in is loaded,
  2. the number of plug-ins is determined via the OfxGetNumberOfPlugins function,
  3. for each plug-in defined in the binary
    1. OfxGetPlugin is called,
    2. the pluginApi and apiVersion of the returned OfxPlugin struct are examined,
    3. if the plug-in's API or its version are not supported, the plug-in is ignored and we skip to the next one,
    4. the plug-in's pointer is recorded in a plug-in cache
    5. an appropriate OfxHost struct is passed to the plug-in via setHost in the returned OfxPlugin struct.