using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; namespace ConsentManager.Common { [SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "UnusedParameter.Global")] public interface IConsentManager { void requestConsentInfoUpdate(string appodealAppKey, IConsentInfoUpdateListener listener); void setCustomVendor(Vendor customVendor); Vendor getCustomVendor(string bundle); ConsentManager.Storage getStorage(); void setStorage(ConsentManager.Storage iabStorage); Consent.ShouldShow shouldShowConsentDialog(); Consent.Zone getConsentZone(); Consent.Status getConsentStatus(); Consent getConsent(); void disableAppTrackingTransparencyRequest(); } [SuppressMessage("ReSharper", "InconsistentNaming")] public interface IConsentForm { void load(); void show(); bool isLoaded(); bool isShowing(); } [SuppressMessage("ReSharper", "InconsistentNaming")] public interface IVendor { string getName(); string getBundle(); string getPolicyUrl(); List getPurposeIds(); List getFeatureIds(); List getLegitimateInterestPurposeIds(); } [SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "UnusedParameter.Global")] public interface IVendorBuilder { IVendor build(); void setPurposeIds(IEnumerable purposeIds); void setFeatureIds(IEnumerable featureIds); void setLegitimateInterestPurposeIds(IEnumerable legitimateInterestPurposeIds); } [SuppressMessage("ReSharper", "InconsistentNaming")] [SuppressMessage("ReSharper", "UnusedParameter.Global")] public interface IConsent { Consent.Zone getZone(); Consent.Status getStatus(); Consent.AuthorizationStatus getAuthorizationStatus(); Consent.HasConsent hasConsentForVendor(string bundle); string getIabConsentString(); } [SuppressMessage("ReSharper", "InconsistentNaming")] public interface IConsentManagerException { string getReason(); int getCode(); } }