# CRCPlugin.h

## Macro Definitions

| `CRC_RET_SUCCESS`
| `CRC_RET_FAIL`
| `CRC_PLUGIN_EXPORT`

## Types

| CRC_RegisterCalculatorParams
| CRC_FrameworkServices

## Type Aliases

CRCResultCalculator ( | `CRC_CreateCalculatorFunc`
void(* | `CRC_DestroyCalculatorFunc`
int(* | `CRC_RegisterCalculatorFunc`
void(* | `CRC_LogFunc`
void(* | `CRC_SetPluginInfoFunc`
void(* | `CRC_PluginExitFunc`
`CRC_PluginExitFunc` (* | `CRC_PluginInitFunc`

## Functions

`CRC_PluginExitFunc` | `initializeResultCalculatorPlugin`

## Detailed Description

## Macro Definition

`CRC_RET_SUCCESS`

`CRC_RET_FAIL`

`CRC_PLUGIN_EXPORT`

## Type Alias Documentation

typedef CRCResultCalculator *(*`CRC_CreateCalculatorFunc`)()

  Type definition of function pointer for creating new CRCResultCalculator instances.

typedef void (*`CRC_DestroyCalculatorFunc`)(CRCResultCalculator *calcObjPtr)

  Type definition of function pointer for deleting CRCResultCalculator instances.

typedef int (*`CRC_RegisterCalculatorFunc`)(const char *calculatorIdString, const CRC_RegisterCalculatorParams *params)

  Type definition of the function pointer for registering result calculators with the plugin manager.

typedef void (*`CRC_LogFunc`)(int level, const char *message)

  Type definition of log function provided by the framework.

  Log levels are 1=error, 2=warning, 3=info, 4=debug

typedef void (*`CRC_SetPluginInfoFunc`)(const char *key, const char *value)

  Type definition of function provided by the framework for setting plugin information in the form of key, value pairs.

typedef void (*`CRC_PluginExitFunc`)()

  Type definition of the plugin exit function pointer.

  (used by the plugin manager to tell plugins to cleanup before being unloaded)

typedef CRC_PluginExitFunc (*`CRC_PluginInitFunc`)(const CRC_FrameworkServices *frameworkServices)

  Type definition definition of the plugin initialization function pointer (used by plugin manager to initialize plugins)

  Note that the return type is the CRC_PluginExitFunc (used by plugin manager to tell plugins to cleanup). If initialization failed for any reason, it must return NULL to let the plugin manger know that the plugin wasn’t initialized properly. The plugin should use the framework services to register the result calculators it exports as well as communicating log messages.

## Function Documentation

CRC_PluginExitFunc `initializeResultCalculatorPlugin`(const CRC_FrameworkServices *frameworkServices)

  Named exported entry point into the plugin.

  This definition is required even though the function is loaded from a dynamic library by name and cast to CRC_PluginInitFunc If this declaration is commented out DynamicLibrary::getSymbol() fails The plugin’s initialization function MUST be called “initializeResultCalculatorPlugin” and conform to the CRC_PluginInitFunc signature.

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Envision for Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Envision for Desktop?
What are the latest release notes for HOOPS Envision for Desktop?
How do I start evaluating HOOPS Envision for Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...