Defines the behavior of the add-on based on the current running environment.

    API_AddonType  CheckEnvironment (
        API_EnvirParams*     envirParams



[in/out] Contains information on the environment. The add-on should also return a textual description of its purpose.


Return Values

The function has completed with success.

For other common API errors see the API Errors document.



This is one of the main entry points of add-ons; each add-on should implement this function. It is called when the Add-On Manager is enumerating the add-ons during application startup. After collecting the all the information from the different add-ons, the Add-On Manager performs a dependency check, then calls the RegisterInterface function of the “good” add-ons.

The add-on can check the running environment (server application, main and sub-version), and return whether it can run under the given conditions. For example, you can disable your add-on in the demo version of Archicad; or enable/disable certain commands.

This function is also the place to inform other add-ons about the availability of certain services of your add-on (see ACAPI_Register_SupportedService), and also to tell the server application that your add-on requires services of other add-ons (see ACAPI_Register_RequiredService).



// -----------------------------------------------------------------------------
// Dependency definitions
// -----------------------------------------------------------------------------
API_AddonType    __ACDLL_CALL    CheckEnvironment (API_EnvirParams* envir)
    // Fill in the necessary information
    RSGetIndString (&envir->, 32000, 1, ACAPI_GetOwnResModule ());
    RSGetIndString (&envir->addOnInfo.description, 32000, 2, ACAPI_GetOwnResModule ());

    // Register command services
    GSErrCode err = ACAPI_Register_SupportedService ('ABCD', 4L);
    if (err != NoError)
        return APIAddon_DontRegister;

    return APIAddon_Normal;
}   // CheckEnvironment



Version: API 4.1 or later
Header: ACAPinc.h


See Also

ACAPI_Register_SupportedService, ACAPI_Register_RequiredService, RegisterInterface, API Functions