
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_java_net_protocol_http_CookieManager__
#define __gnu_java_net_protocol_http_CookieManager__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace net
      {
        namespace protocol
        {
          namespace http
          {
              class Cookie;
              class CookieManager;
          }
        }
      }
    }
  }
}

class gnu::java::net::protocol::http::CookieManager : public ::java::lang::Object
{

public:
  virtual void setCookie(::gnu::java::net::protocol::http::Cookie *) = 0;
  virtual JArray< ::gnu::java::net::protocol::http::Cookie * > * getCookies(::java::lang::String *, jboolean, ::java::lang::String *) = 0;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __gnu_java_net_protocol_http_CookieManager__
