Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
QNX Documentation Library
ResPluginLoadingF_t

ResPluginLoadingF_t

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

between plugins in a DLL" />

ResPluginLoadingF_t

A function you must write to initialize resources shared between plugins in a DLL

Synopsis:

typedef int ResPluginLoadingF_t (
  const char *path )

Description:

This function is exported in the ResPlugin_t structure

This function is called right after the DLL is loaded into PhAB's address space, and should set up any resources that are common to the plugins found in the DLL. In particular, if you use PhAB to build a database of widgets that are going to be used to create instances of various plugins, you should initialize its AbContext structure by calling ApAddContext( &AbContext, path)

Since it is possible to have different pathnames that point to the same file, this function may be called more than once, but it's guaranteed that the corresponding ResPluginUnloadingF_t unloading function will be called the same number of times.

Arguments:

path
The path to the DLL that contains the plugin.

Should return:

This function should return a non-zero value to indicate a serious failure. This will prevent PhAB from attempting to use the resource editors in the DLL.

Examples:

This example loading function is from the complete plugin example at the end of this chapter.

static int loaded_count = 0;
static ApDBase_t *db = NULL;

static int plugin_loading( const char *path ) {
  if( loaded_count == 0 && ApAddContext( &AbContext, path ) )
    return -1;

  db = ApOpenDBase( ABM_string_db );
  ++loaded_count;
  return 0;
  }

Classification:

QNX Neutrino

See also:

ApAddContext(), ResPlugin_t, ResPluginUnloadingF_t.