package body MSHTML.IHTMLLocation_Object is

   procedure Put_href
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_href,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_href;

   function Get_href
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_href);
   end Get_href;

   procedure Put_protocol
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_protocol,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_protocol;

   function Get_protocol
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_protocol);
   end Get_protocol;

   procedure Put_host
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_host,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_host;

   function Get_host
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_host);
   end Get_host;

   procedure Put_hostname
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_hostname,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_hostname;

   function Get_hostname
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_hostname);
   end Get_hostname;

   procedure Put_port
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_port,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_port;

   function Get_port
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_port);
   end Get_port;

   procedure Put_pathname
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_pathname,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_pathname;

   function Get_pathname
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_pathname);
   end Get_pathname;

   procedure Put_search
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_search,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_search;

   function Get_search
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_search);
   end Get_search;

   procedure Put_hash
     (This : IHTMLLocation_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         IHTMLLocation_Put_hash,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_hash;

   function Get_hash
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IHTMLLocation_Get_hash);
   end Get_hash;

   procedure reload
     (This : IHTMLLocation_Type;
      flag : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         IHTMLLocation_reload,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => flag),
         Free);
   end reload;

   procedure replace
     (This : IHTMLLocation_Type;
      bstr : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         IHTMLLocation_replace,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstr),
         Free);
   end replace;

   procedure assign
     (This : IHTMLLocation_Type;
      bstr : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Invoke
        (This,
         IHTMLLocation_assign,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstr),
         Free);
   end assign;

   function toString
     (This : IHTMLLocation_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke (This, IHTMLLocation_toString);
   end toString;

end MSHTML.IHTMLLocation_Object;

