package body MSHTML.DispHTMLStorage_Object is

   function Get_constructor
     (This : DispHTMLStorage_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLStorage_Get_constructor);
   end Get_constructor;

   function Get_length
     (This : DispHTMLStorage_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLStorage_Get_length);
   end Get_length;

   function Get_remainingSpace
     (This : DispHTMLStorage_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLStorage_Get_remainingSpace);
   end Get_remainingSpace;

   function key
     (This   : DispHTMLStorage_Type;
      lIndex : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLStorage_key,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => lIndex),
         Free);
   end key;

   function getItem
     (This    : DispHTMLStorage_Type;
      bstrKey : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLStorage_getItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrKey),
         Free);
   end getItem;

   procedure setItem
     (This      : DispHTMLStorage_Type;
      bstrKey   : GNATCOM.Types.VARIANT;
      bstrValue : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLStorage_setItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrValue,
          2 => bstrKey),
         Free);
   end setItem;

   procedure removeItem
     (This    : DispHTMLStorage_Type;
      bstrKey : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLStorage_removeItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrKey),
         Free);
   end removeItem;

   procedure clear
     (This : DispHTMLStorage_Type)
   is
   begin
      Invoke (This, DispHTMLStorage_clear);
   end clear;

   procedure ie9_setItem
     (This      : DispHTMLStorage_Type;
      bstrKey   : GNATCOM.Types.VARIANT;
      bstrValue : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLStorage_ie9_setItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrValue,
          2 => bstrKey),
         Free);
   end ie9_setItem;

end MSHTML.DispHTMLStorage_Object;

