/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/nsILDAPServer.idl
 */

#ifndef __gen_nsILDAPServer_h__
#define __gen_nsILDAPServer_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

#ifndef __gen_nsILDAPConnection_h__
#include "nsILDAPConnection.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsILDAPURL; /* forward declaration */


/* starting interface:    nsILDAPServer */
#define NS_ILDAPSERVER_IID_STR "8aa717a4-1dd2-11b2-99c7-f01e2d449ded"

#define NS_ILDAPSERVER_IID \
  {0x8aa717a4, 0x1dd2, 0x11b2, \
    { 0x99, 0xc7, 0xf0, 0x1e, 0x2d, 0x44, 0x9d, 0xed }}

class NS_NO_VTABLE nsILDAPServer : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_ILDAPSERVER_IID)

  /* attribute wstring key; */
  NS_IMETHOD GetKey(char16_t * *aKey) = 0;
  NS_IMETHOD SetKey(const char16_t * aKey) = 0;

  /* attribute AUTF8String password; */
  NS_IMETHOD GetPassword(nsACString & aPassword) = 0;
  NS_IMETHOD SetPassword(const nsACString & aPassword) = 0;

  /* attribute AUTF8String username; */
  NS_IMETHOD GetUsername(nsACString & aUsername) = 0;
  NS_IMETHOD SetUsername(const nsACString & aUsername) = 0;

  /* attribute AUTF8String binddn; */
  NS_IMETHOD GetBinddn(nsACString & aBinddn) = 0;
  NS_IMETHOD SetBinddn(const nsACString & aBinddn) = 0;

  /* attribute unsigned long sizelimit; */
  NS_IMETHOD GetSizelimit(uint32_t *aSizelimit) = 0;
  NS_IMETHOD SetSizelimit(uint32_t aSizelimit) = 0;

  /* attribute nsILDAPURL url; */
  NS_IMETHOD GetUrl(nsILDAPURL * *aUrl) = 0;
  NS_IMETHOD SetUrl(nsILDAPURL *aUrl) = 0;

  /* attribute unsigned long protocolVersion; */
  NS_IMETHOD GetProtocolVersion(uint32_t *aProtocolVersion) = 0;
  NS_IMETHOD SetProtocolVersion(uint32_t aProtocolVersion) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsILDAPServer, NS_ILDAPSERVER_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSILDAPSERVER \
  NS_IMETHOD GetKey(char16_t * *aKey) override; \
  NS_IMETHOD SetKey(const char16_t * aKey) override; \
  NS_IMETHOD GetPassword(nsACString & aPassword) override; \
  NS_IMETHOD SetPassword(const nsACString & aPassword) override; \
  NS_IMETHOD GetUsername(nsACString & aUsername) override; \
  NS_IMETHOD SetUsername(const nsACString & aUsername) override; \
  NS_IMETHOD GetBinddn(nsACString & aBinddn) override; \
  NS_IMETHOD SetBinddn(const nsACString & aBinddn) override; \
  NS_IMETHOD GetSizelimit(uint32_t *aSizelimit) override; \
  NS_IMETHOD SetSizelimit(uint32_t aSizelimit) override; \
  NS_IMETHOD GetUrl(nsILDAPURL * *aUrl) override; \
  NS_IMETHOD SetUrl(nsILDAPURL *aUrl) override; \
  NS_IMETHOD GetProtocolVersion(uint32_t *aProtocolVersion) override; \
  NS_IMETHOD SetProtocolVersion(uint32_t aProtocolVersion) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_NSILDAPSERVER \
  NS_METHOD GetKey(char16_t * *aKey); \
  NS_METHOD SetKey(const char16_t * aKey); \
  NS_METHOD GetPassword(nsACString & aPassword); \
  NS_METHOD SetPassword(const nsACString & aPassword); \
  NS_METHOD GetUsername(nsACString & aUsername); \
  NS_METHOD SetUsername(const nsACString & aUsername); \
  NS_METHOD GetBinddn(nsACString & aBinddn); \
  NS_METHOD SetBinddn(const nsACString & aBinddn); \
  NS_METHOD GetSizelimit(uint32_t *aSizelimit); \
  NS_METHOD SetSizelimit(uint32_t aSizelimit); \
  NS_METHOD GetUrl(nsILDAPURL * *aUrl); \
  NS_METHOD SetUrl(nsILDAPURL *aUrl); \
  NS_METHOD GetProtocolVersion(uint32_t *aProtocolVersion); \
  NS_METHOD SetProtocolVersion(uint32_t aProtocolVersion); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSILDAPSERVER(_to) \
  NS_IMETHOD GetKey(char16_t * *aKey) override { return _to GetKey(aKey); } \
  NS_IMETHOD SetKey(const char16_t * aKey) override { return _to SetKey(aKey); } \
  NS_IMETHOD GetPassword(nsACString & aPassword) override { return _to GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsACString & aPassword) override { return _to SetPassword(aPassword); } \
  NS_IMETHOD GetUsername(nsACString & aUsername) override { return _to GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString & aUsername) override { return _to SetUsername(aUsername); } \
  NS_IMETHOD GetBinddn(nsACString & aBinddn) override { return _to GetBinddn(aBinddn); } \
  NS_IMETHOD SetBinddn(const nsACString & aBinddn) override { return _to SetBinddn(aBinddn); } \
  NS_IMETHOD GetSizelimit(uint32_t *aSizelimit) override { return _to GetSizelimit(aSizelimit); } \
  NS_IMETHOD SetSizelimit(uint32_t aSizelimit) override { return _to SetSizelimit(aSizelimit); } \
  NS_IMETHOD GetUrl(nsILDAPURL * *aUrl) override { return _to GetUrl(aUrl); } \
  NS_IMETHOD SetUrl(nsILDAPURL *aUrl) override { return _to SetUrl(aUrl); } \
  NS_IMETHOD GetProtocolVersion(uint32_t *aProtocolVersion) override { return _to GetProtocolVersion(aProtocolVersion); } \
  NS_IMETHOD SetProtocolVersion(uint32_t aProtocolVersion) override { return _to SetProtocolVersion(aProtocolVersion); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSILDAPSERVER(_to) \
  NS_IMETHOD GetKey(char16_t * *aKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKey(aKey); } \
  NS_IMETHOD SetKey(const char16_t * aKey) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetKey(aKey); } \
  NS_IMETHOD GetPassword(nsACString & aPassword) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPassword(aPassword); } \
  NS_IMETHOD SetPassword(const nsACString & aPassword) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPassword(aPassword); } \
  NS_IMETHOD GetUsername(nsACString & aUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUsername(aUsername); } \
  NS_IMETHOD SetUsername(const nsACString & aUsername) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUsername(aUsername); } \
  NS_IMETHOD GetBinddn(nsACString & aBinddn) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetBinddn(aBinddn); } \
  NS_IMETHOD SetBinddn(const nsACString & aBinddn) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetBinddn(aBinddn); } \
  NS_IMETHOD GetSizelimit(uint32_t *aSizelimit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSizelimit(aSizelimit); } \
  NS_IMETHOD SetSizelimit(uint32_t aSizelimit) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSizelimit(aSizelimit); } \
  NS_IMETHOD GetUrl(nsILDAPURL * *aUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUrl(aUrl); } \
  NS_IMETHOD SetUrl(nsILDAPURL *aUrl) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUrl(aUrl); } \
  NS_IMETHOD GetProtocolVersion(uint32_t *aProtocolVersion) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProtocolVersion(aProtocolVersion); } \
  NS_IMETHOD SetProtocolVersion(uint32_t aProtocolVersion) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetProtocolVersion(aProtocolVersion); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsLDAPServer : public nsILDAPServer
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSILDAPSERVER

  nsLDAPServer();

private:
  ~nsLDAPServer();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(nsLDAPServer, nsILDAPServer)

nsLDAPServer::nsLDAPServer()
{
  /* member initializers and constructor code */
}

nsLDAPServer::~nsLDAPServer()
{
  /* destructor code */
}

/* attribute wstring key; */
NS_IMETHODIMP nsLDAPServer::GetKey(char16_t * *aKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsLDAPServer::SetKey(const char16_t * aKey)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String password; */
NS_IMETHODIMP nsLDAPServer::GetPassword(nsACString & aPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsLDAPServer::SetPassword(const nsACString & aPassword)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String username; */
NS_IMETHODIMP nsLDAPServer::GetUsername(nsACString & aUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsLDAPServer::SetUsername(const nsACString & aUsername)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String binddn; */
NS_IMETHODIMP nsLDAPServer::GetBinddn(nsACString & aBinddn)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsLDAPServer::SetBinddn(const nsACString & aBinddn)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long sizelimit; */
NS_IMETHODIMP nsLDAPServer::GetSizelimit(uint32_t *aSizelimit)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsLDAPServer::SetSizelimit(uint32_t aSizelimit)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsILDAPURL url; */
NS_IMETHODIMP nsLDAPServer::GetUrl(nsILDAPURL * *aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsLDAPServer::SetUrl(nsILDAPURL *aUrl)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute unsigned long protocolVersion; */
NS_IMETHODIMP nsLDAPServer::GetProtocolVersion(uint32_t *aProtocolVersion)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsLDAPServer::SetProtocolVersion(uint32_t aProtocolVersion)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsILDAPServer_h__ */
