with GNATCOM.Dispinterface;

package IE.IShellUIHelper7_Interface is

   type IShellUIHelper7_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure Initialize (This : in out IShellUIHelper7_Type);

   function Pointer (This : IShellUIHelper7_Type)
     return Pointer_To_IShellUIHelper7;

   procedure Attach (This    : in out IShellUIHelper7_Type;
                     Pointer : in     Pointer_To_IShellUIHelper7);

   procedure ResetFirstBootMode
     (This : IShellUIHelper7_Type);

   procedure ResetSafeMode
     (This : IShellUIHelper7_Type);

   procedure RefreshOfflineDesktop
     (This : IShellUIHelper7_Type);

   procedure AddFavorite
     (This  : IShellUIHelper7_Type;
      URL   : GNATCOM.Types.BSTR;
      Title : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free  : Boolean := True);

   procedure AddChannel
     (This : IShellUIHelper7_Type;
      URL  : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   procedure AddDesktopComponent
     (This   : IShellUIHelper7_Type;
      URL    : GNATCOM.Types.BSTR;
      uType  : GNATCOM.Types.BSTR;
      Left   : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Top    : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Width  : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Height : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free   : Boolean := True);

   function IsSubscribed
     (This  : IShellUIHelper7_Type;
      URL   : GNATCOM.Types.BSTR;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure NavigateAndFind
     (This           : IShellUIHelper7_Type;
      URL            : GNATCOM.Types.BSTR;
      strQuery       : GNATCOM.Types.BSTR;
      varTargetFrame : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free           : Boolean := True);

   procedure ImportExportFavorites
     (This          : IShellUIHelper7_Type;
      fImport       : GNATCOM.Types.VARIANT_BOOL;
      strImpExpPath : GNATCOM.Types.BSTR;
      Free          : Boolean := True);

   procedure AutoCompleteSaveForm
     (This : IShellUIHelper7_Type;
      Form : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING);

   procedure AutoScan
     (This            : IShellUIHelper7_Type;
      strSearch       : GNATCOM.Types.BSTR;
      strFailureUrl   : GNATCOM.Types.BSTR;
      pvarTargetFrame : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free            : Boolean := True);

   procedure AutoCompleteAttach
     (This     : IShellUIHelper7_Type;
      Reserved : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING);

   function ShowBrowserUI
     (This     : IShellUIHelper7_Type;
      bstrName : GNATCOM.Types.BSTR;
      pvarIn   : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure AddSearchProvider
     (This : IShellUIHelper7_Type;
      URL  : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   procedure RunOnceShown
     (This : IShellUIHelper7_Type);

   procedure SkipRunOnce
     (This : IShellUIHelper7_Type);

   procedure CustomizeSettings
     (This       : IShellUIHelper7_Type;
      fSQM       : GNATCOM.Types.VARIANT_BOOL;
      fPhishing  : GNATCOM.Types.VARIANT_BOOL;
      bstrLocale : GNATCOM.Types.BSTR;
      Free       : Boolean := True);

   function SqmEnabled
     (This      : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function PhishingEnabled
     (This      : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function BrandImageUri
     (This     : IShellUIHelper7_Type)
     return GNATCOM.Types.BSTR;

   procedure SkipTabsWelcome
     (This : IShellUIHelper7_Type);

   procedure DiagnoseConnection
     (This : IShellUIHelper7_Type);

   procedure CustomizeClearType
     (This : IShellUIHelper7_Type;
      fSet : GNATCOM.Types.VARIANT_BOOL);

   function IsSearchProviderInstalled
     (This      : IShellUIHelper7_Type;
      URL       : GNATCOM.Types.BSTR;
      Free      : Boolean := True)
     return Interfaces.C.unsigned_long;

   function IsSearchMigrated
     (This       : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function DefaultSearchProvider
     (This      : IShellUIHelper7_Type)
     return GNATCOM.Types.BSTR;

   procedure RunOnceRequiredSettingsComplete
     (This      : IShellUIHelper7_Type;
      fComplete : GNATCOM.Types.VARIANT_BOOL);

   function RunOnceHasShown
     (This    : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function SearchGuideUrl
     (This     : IShellUIHelper7_Type)
     return GNATCOM.Types.BSTR;

   procedure AddService
     (This : IShellUIHelper7_Type;
      URL  : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function IsServiceInstalled
     (This      : IShellUIHelper7_Type;
      URL       : GNATCOM.Types.BSTR;
      Verb      : GNATCOM.Types.BSTR;
      Free      : Boolean := True)
     return Interfaces.C.unsigned_long;

   function InPrivateFilteringEnabled
     (This      : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure AddToFavoritesBar
     (This  : IShellUIHelper7_Type;
      URL   : GNATCOM.Types.BSTR;
      Title : GNATCOM.Types.BSTR;
      uType : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free  : Boolean := True);

   procedure BuildNewTabPage
     (This : IShellUIHelper7_Type);

   procedure SetRecentlyClosedVisible
     (This     : IShellUIHelper7_Type;
      fVisible : GNATCOM.Types.VARIANT_BOOL);

   procedure SetActivitiesVisible
     (This     : IShellUIHelper7_Type;
      fVisible : GNATCOM.Types.VARIANT_BOOL);

   procedure ContentDiscoveryReset
     (This : IShellUIHelper7_Type);

   function IsSuggestedSitesEnabled
     (This      : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure EnableSuggestedSites
     (This    : IShellUIHelper7_Type;
      fEnable : GNATCOM.Types.VARIANT_BOOL);

   procedure NavigateToSuggestedSites
     (This            : IShellUIHelper7_Type;
      bstrRelativeUrl : GNATCOM.Types.BSTR;
      Free            : Boolean := True);

   procedure ShowTabsHelp
     (This : IShellUIHelper7_Type);

   procedure ShowInPrivateHelp
     (This : IShellUIHelper7_Type);

   function msIsSiteMode
     (This       : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure msSiteModeShowThumbBar
     (This : IShellUIHelper7_Type);

   function msSiteModeAddThumbBarButton
     (This         : IShellUIHelper7_Type;
      bstrIconURL  : GNATCOM.Types.BSTR;
      bstrTooltip  : GNATCOM.Types.BSTR;
      Free         : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure msSiteModeUpdateThumbBarButton
     (This     : IShellUIHelper7_Type;
      ButtonID : GNATCOM.Types.VARIANT;
      fEnabled : GNATCOM.Types.VARIANT_BOOL;
      fVisible : GNATCOM.Types.VARIANT_BOOL;
      Free     : Boolean := True);

   procedure msSiteModeSetIconOverlay
     (This            : IShellUIHelper7_Type;
      IconUrl         : GNATCOM.Types.BSTR;
      pvarDescription : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free            : Boolean := True);

   procedure msSiteModeClearIconOverlay
     (This : IShellUIHelper7_Type);

   procedure msAddSiteMode
     (This : IShellUIHelper7_Type);

   procedure msSiteModeCreateJumpList
     (This       : IShellUIHelper7_Type;
      bstrHeader : GNATCOM.Types.BSTR;
      Free       : Boolean := True);

   procedure msSiteModeAddJumpListItem
     (This           : IShellUIHelper7_Type;
      bstrName       : GNATCOM.Types.BSTR;
      bstrActionUri  : GNATCOM.Types.BSTR;
      bstrIconUri    : GNATCOM.Types.BSTR;
      pvarWindowType : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free           : Boolean := True);

   procedure msSiteModeClearJumpList
     (This : IShellUIHelper7_Type);

   procedure msSiteModeShowJumpList
     (This : IShellUIHelper7_Type);

   function msSiteModeAddButtonStyle
     (This        : IShellUIHelper7_Type;
      uiButtonID  : GNATCOM.Types.VARIANT;
      bstrIconURL : GNATCOM.Types.BSTR;
      bstrTooltip : GNATCOM.Types.BSTR;
      Free        : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure msSiteModeShowButtonStyle
     (This       : IShellUIHelper7_Type;
      uiButtonID : GNATCOM.Types.VARIANT;
      uiStyleID  : GNATCOM.Types.VARIANT;
      Free       : Boolean := True);

   procedure msSiteModeActivate
     (This : IShellUIHelper7_Type);

   function msIsSiteModeFirstRun
     (This           : IShellUIHelper7_Type;
      fPreserveState : GNATCOM.Types.VARIANT_BOOL)
     return GNATCOM.Types.VARIANT;

   procedure msAddTrackingProtectionList
     (This           : IShellUIHelper7_Type;
      URL            : GNATCOM.Types.BSTR;
      bstrFilterName : GNATCOM.Types.BSTR;
      Free           : Boolean := True);

   function msTrackingProtectionEnabled
     (This      : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function msActiveXFilteringEnabled
     (This      : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function msProvisionNetworks
     (This                : IShellUIHelper7_Type;
      bstrProvisioningXml : GNATCOM.Types.BSTR;
      Free                : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure msReportSafeUrl
     (This : IShellUIHelper7_Type);

   procedure msSiteModeRefreshBadge
     (This : IShellUIHelper7_Type);

   procedure msSiteModeClearBadge
     (This : IShellUIHelper7_Type);

   procedure msDiagnoseConnectionUILess
     (This : IShellUIHelper7_Type);

   procedure msLaunchNetworkClientHelp
     (This : IShellUIHelper7_Type);

   procedure msChangeDefaultBrowser
     (This    : IShellUIHelper7_Type;
      fChange : GNATCOM.Types.VARIANT_BOOL);

   procedure msStopPeriodicTileUpdate
     (This : IShellUIHelper7_Type);

   procedure msStartPeriodicTileUpdate
     (This               : IShellUIHelper7_Type;
      pollingUris        : GNATCOM.Types.VARIANT;
      startTime          : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      uiUpdateRecurrence : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free               : Boolean := True);

   procedure msStartPeriodicTileUpdateBatch
     (This               : IShellUIHelper7_Type;
      pollingUris        : GNATCOM.Types.VARIANT;
      startTime          : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      uiUpdateRecurrence : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free               : Boolean := True);

   procedure msClearTile
     (This : IShellUIHelper7_Type);

   procedure msEnableTileNotificationQueue
     (This    : IShellUIHelper7_Type;
      fChange : GNATCOM.Types.VARIANT_BOOL);

   function msPinnedSiteState
     (This          : IShellUIHelper7_Type)
     return GNATCOM.Types.VARIANT;

   procedure msEnableTileNotificationQueueForSquare150x150
     (This    : IShellUIHelper7_Type;
      fChange : GNATCOM.Types.VARIANT_BOOL);

   procedure msEnableTileNotificationQueueForWide310x150
     (This    : IShellUIHelper7_Type;
      fChange : GNATCOM.Types.VARIANT_BOOL);

   procedure msEnableTileNotificationQueueForSquare310x310
     (This    : IShellUIHelper7_Type;
      fChange : GNATCOM.Types.VARIANT_BOOL);

   procedure msScheduledTileNotification
     (This                : IShellUIHelper7_Type;
      bstrNotificationXml : GNATCOM.Types.BSTR;
      bstrNotificationId  : GNATCOM.Types.BSTR;
      bstrNotificationTag : GNATCOM.Types.BSTR;
      startTime           : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      expirationTime      : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free                : Boolean := True);

   procedure msRemoveScheduledTileNotification
     (This               : IShellUIHelper7_Type;
      bstrNotificationId : GNATCOM.Types.BSTR;
      Free               : Boolean := True);

   procedure msStartPeriodicBadgeUpdate
     (This               : IShellUIHelper7_Type;
      pollingUri         : GNATCOM.Types.BSTR;
      startTime          : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      uiUpdateRecurrence : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free               : Boolean := True);

   procedure msStopPeriodicBadgeUpdate
     (This : IShellUIHelper7_Type);

   procedure msLaunchInternetOptions
     (This : IShellUIHelper7_Type);

   procedure SetExperimentalFlag
     (This           : IShellUIHelper7_Type;
      bstrFlagString : GNATCOM.Types.BSTR;
      vfFlag         : GNATCOM.Types.VARIANT_BOOL;
      Free           : Boolean := True);

   function GetExperimentalFlag
     (This           : IShellUIHelper7_Type;
      bstrFlagString : GNATCOM.Types.BSTR;
      Free           : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure SetExperimentalValue
     (This            : IShellUIHelper7_Type;
      bstrValueString : GNATCOM.Types.BSTR;
      dwValue         : Interfaces.C.unsigned_long;
      Free            : Boolean := True);

   function GetExperimentalValue
     (This            : IShellUIHelper7_Type;
      bstrValueString : GNATCOM.Types.BSTR;
      Free            : Boolean := True)
     return Interfaces.C.unsigned_long;

   procedure ResetAllExperimentalFlagsAndValues
     (This : IShellUIHelper7_Type);

   function GetNeedIEAutoLaunchFlag
     (This    : IShellUIHelper7_Type;
      bstrUrl : GNATCOM.Types.BSTR;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure SetNeedIEAutoLaunchFlag
     (This    : IShellUIHelper7_Type;
      bstrUrl : GNATCOM.Types.BSTR;
      flag    : GNATCOM.Types.VARIANT_BOOL;
      Free    : Boolean := True);

   function HasNeedIEAutoLaunchFlag
     (This    : IShellUIHelper7_Type;
      bstrUrl : GNATCOM.Types.BSTR;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure LaunchIE
     (This      : IShellUIHelper7_Type;
      bstrUrl   : GNATCOM.Types.BSTR;
      automated : GNATCOM.Types.VARIANT_BOOL;
      Free      : Boolean := True);

end IE.IShellUIHelper7_Interface;

