/** ** Function that provides the initial interface between your plug-in and the application. ** This function provides the callback functions to the application that allow it to ** register the plug-in with the application environment. ** ** Required Plug-in handshaking routine: <b>Do not change its name!</b> ** ** @param handshakeVersion the version this plug-in works with. There are two versions possible, the plug-in version ** and the application version. The application calls the main entry point for this plug-in with its version. ** The main entry point will call this function with the version that is earliest. ** @param handshakeData OUT the data structure used to provide the primary entry points for the plug-in. These ** entry points are used in registering the plug-in with the application and allowing the plug-in to register for ** other plug-in services and offer its own. ** @return true to indicate success, false otherwise (the plug-in will not load). ** */ ACCB1 ASBool ACCB2 PIHandshake(Uns32 handshakeVersion, void *handshakeData) { if (handshakeVersion == HANDSHAKE_V0200) { /* Cast handshakeData to the appropriate type */ PIHandshakeData_V0200 *hsData = (PIHandshakeData_V0200 *)handshakeData; /* Set the name we want to go by */ hsData->extensionName = GetExtensionName(); /* If you export your own HFT, do so in here */ hsData->exportHFTsCallback = ASCallbackCreateProto(PIExportHFTsProcType, &PluginExportHFTs); /* ** If you import plug-in HFTs, replace functionality, and/or want to register for notifications before ** the user has a chance to do anything, do so in here. */ hsData->importReplaceAndRegisterCallback = ASCallbackCreateProto(PIImportReplaceAndRegisterProcType, &PluginImportReplaceAndRegister); /* Perform your plug-in's initialization in here */ hsData->initCallback = ASCallbackCreateProto(PIInitProcType, &PluginInit); /* Perform any memory freeing or state saving on "quit" in here */ hsData->unloadCallback = ASCallbackCreateProto(PIUnloadProcType, &PluginUnload); /* All done */ return true; } /* Each time the handshake version changes, add a new "else if" branch */ /* ** If we reach here, then we were passed a handshake version number we don't know about. ** This shouldn't ever happen since our main() routine chose the version number. */ AVAlertNote("Error in hand shake"); return false; }
const char *SDKExtension::GetName() { return GetExtensionName(); }