with GNATCOM.Dispinterface;

package MSHTML.IClientCaps_Interface is

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

   procedure Initialize (This : in out IClientCaps_Type);

   function Pointer (This : IClientCaps_Type)
     return Pointer_To_IClientCaps;

   procedure Attach (This    : in out IClientCaps_Type;
                     Pointer : in     Pointer_To_IClientCaps);

   function Get_javaEnabled
     (This : IClientCaps_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function Get_cookieEnabled
     (This : IClientCaps_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function Get_cpuClass
     (This : IClientCaps_Type)
     return GNATCOM.Types.BSTR;

   function Get_systemLanguage
     (This : IClientCaps_Type)
     return GNATCOM.Types.BSTR;

   function Get_userLanguage
     (This : IClientCaps_Type)
     return GNATCOM.Types.BSTR;

   function Get_platform
     (This : IClientCaps_Type)
     return GNATCOM.Types.BSTR;

   function Get_connectionSpeed
     (This : IClientCaps_Type)
     return Interfaces.C.long;

   function Get_onLine
     (This : IClientCaps_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   function Get_colorDepth
     (This : IClientCaps_Type)
     return Interfaces.C.long;

   function Get_bufferDepth
     (This : IClientCaps_Type)
     return Interfaces.C.long;

   function Get_width
     (This : IClientCaps_Type)
     return Interfaces.C.long;

   function Get_height
     (This : IClientCaps_Type)
     return Interfaces.C.long;

   function Get_availHeight
     (This : IClientCaps_Type)
     return Interfaces.C.long;

   function Get_availWidth
     (This : IClientCaps_Type)
     return Interfaces.C.long;

   function Get_connectionType
     (This : IClientCaps_Type)
     return GNATCOM.Types.BSTR;

   function isComponentInstalled
     (This     : IClientCaps_Type;
      bstrName : GNATCOM.Types.BSTR;
      bstrURL  : GNATCOM.Types.BSTR;
      bStrVer  : GNATCOM.Types.BSTR;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   function getComponentVersion
     (This     : IClientCaps_Type;
      bstrName : GNATCOM.Types.BSTR;
      bstrURL  : GNATCOM.Types.BSTR;
      Free     : Boolean := True)
     return GNATCOM.Types.BSTR;

   function compareVersions
     (This     : IClientCaps_Type;
      bstrVer1 : GNATCOM.Types.BSTR;
      bstrVer2 : GNATCOM.Types.BSTR;
      Free     : Boolean := True)
     return Interfaces.C.long;

   procedure addComponentRequest
     (This     : IClientCaps_Type;
      bstrName : GNATCOM.Types.BSTR;
      bstrURL  : GNATCOM.Types.BSTR;
      bStrVer  : GNATCOM.Types.BSTR;
      Free     : Boolean := True);

   function doComponentRequest
     (This : IClientCaps_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure clearComponentRequest
     (This : IClientCaps_Type);

end MSHTML.IClientCaps_Interface;

