#pragma once

#define FQN_DNSPROXY "com/adguard/dnslibs/proxy/DnsProxy"
#define FQN_DNSPROXY_LOGGING_CALLBACK FQN_DNSPROXY "$LoggingCallback"
#define FQN_DNSPROXY_RESULT FQN_DNSPROXY "$InitResult"
#define FQN_DNSPROXY_ERROR_CODE FQN_DNSPROXY "$InitErrorCode"
#define FQN_DNSPROXY_SETTINGS "com/adguard/dnslibs/proxy/DnsProxySettings"
#define FQN_BLOCKING_MODE FQN_DNSPROXY_SETTINGS "$BlockingMode"
#define FQN_FILTER_PARAMS "com/adguard/dnslibs/proxy/FilterParams"
#define FQN_UPSTREAM_SETTINGS "com/adguard/dnslibs/proxy/UpstreamSettings"
#define FQN_SETTINGS_OVERRIDES "com/adguard/dnslibs/proxy/ProxySettingsOverrides"
#define FQN_LISTENER_SETTINGS "com/adguard/dnslibs/proxy/ListenerSettings"
#define FQN_LISTENER_PROTOCOL FQN_LISTENER_SETTINGS "$Protocol"
#define FQN_DNS64_SETTINGS "com/adguard/dnslibs/proxy/Dns64Settings"
#define FQN_OUTBOUND_PROXY_SETTINGS "com/adguard/dnslibs/proxy/OutboundProxySettings"
#define FQN_OUTBOUND_PROXY_PROTOCOL FQN_OUTBOUND_PROXY_SETTINGS "$Protocol"
#define FQN_OUTBOUND_PROXY_AUTH_INFO FQN_OUTBOUND_PROXY_SETTINGS "$AuthInfo"
#define FQN_DNSPROXY_EVENTS "com/adguard/dnslibs/proxy/DnsProxy$EventsAdapter"
#define FQN_REQ_PROC_EVENT "com/adguard/dnslibs/proxy/DnsRequestProcessedEvent"
#define FQN_CERT_VERIFY_EVENT "com/adguard/dnslibs/proxy/CertificateVerificationEvent"
#define FQN_FILTERING_LOG_ACTION "com/adguard/dnslibs/proxy/FilteringLogAction"
#define FQN_RULE_TEMPLATE FQN_FILTERING_LOG_ACTION "$RuleTemplate"
#define FQN_DNSSTAMP "com/adguard/dnslibs/proxy/DnsStamp"
#define FQN_DNSSTAMP_PROTOTYPE FQN_DNSSTAMP "$ProtoType"
#define FQN_DNSSTAMP_INFORMAL_PROPERTIES FQN_DNSSTAMP "$InformalProperties"
#define FQN_DNS_MESSAGE_INFO "com/adguard/dnslibs/proxy/DnsMessageInfo"
