#include <aoi.h>

int32_t (*VerifyAll)(void);


This function's purpose is to let the addon know that it has received all of its settings and there will be no more VerifyValue() calls. This gives the addon a chance to verify that all of its settings, as a complete set, are valid. Because the settings are provided to the addon one at a time and only when they have non-default values, the VerifyValue() function can do only simple checking of the single value it's given (e.g., check the syntax or whether the value is supported), but it doesn't know what other non-default values your settings might have and thus, it can't check if they're valid as a complete set.

For instance, suppose your addon has a MinBitrate and a MaxBitrate setting, and you want to verify that the configured maximum is greater than the minimum. When VerifyValue() is called to tell you the value of MinBitrate, you can't verify it against MaxBitrate because this value isn't known yet. But if the configured MaxBitrate is equal to your default, you won't get a VerifyValue() call for it. So, the VerifyAll() function is a convenient place to check if the maximum is greater than the minimum.

If the addon also implements the AODeInitializer interface, its Init() function is called after VerifyAll().


Zero if the addon approves the settings as a complete set, non-zero if it rejects them (which will cause the initialization of the addon to fail and the library to unload the DLL). A non-zero return code lets the addon indicate that the configuration file contains an invalid combination of settings.