Cppcheck checker enable disable refactoring
The cppcheck-unusedFunction check is hardcoded disabled in the code. This mixes business logic and configuration that's violates high-level design conventions. Until whole program analysis is implemented, this checks needs to be disabled, as it is producing a lot of false posities. "Currently, at least with CSA/CT the logic is that checks are grouped into profiles (with "default" being a special case!), and only checks that are in the enabled profiles (or explicitly enabled by the user) are run." Also the current configuration schema does not support this notion, so the idea is that we implement this notion (forbidden checks) into the configuration schema itself, and then we add this information into the Cppcheck-specific config file, instead of hardcoding an identifier into the "driver" logic. Another refactor consideration would be to implement a more granular check enablement logic, because right now, Cppcheck is executed with --enable=all parameter, and all the unneeded checks are explicitly suppressed. One limitation to consider is that Cppcheck checks can only be suppressed individually, but not enabled. Granular enablement is only supported by checker categories.
Part of this comment is copied from #3680, and this issue is also a follow up ticket to that.