/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM /tmp/comm-release/mailnews/addrbook/public/nsIAbLDAPDirectory.idl
 */

#ifndef __gen_nsIAbLDAPDirectory_h__
#define __gen_nsIAbLDAPDirectory_h__


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

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

class nsIFile; /* forward declaration */

class nsIAddrDatabase; /* forward declaration */

class nsIAbLDAPAttributeMap; /* forward declaration */

class nsILDAPURL; /* forward declaration */

#define kLDAPDirectoryRoot         "moz-abldapdirectory://"
#define kLDAPDirectoryRootLen      22

/* starting interface:    nsIAbLDAPDirectory */
#define NS_IABLDAPDIRECTORY_IID_STR "90dde295-e354-4d58-add8-f9b29a95942d"

#define NS_IABLDAPDIRECTORY_IID \
  {0x90dde295, 0xe354, 0x4d58, \
    { 0xad, 0xd8, 0xf9, 0xb2, 0x9a, 0x95, 0x94, 0x2d }}

class NS_NO_VTABLE nsIAbLDAPDirectory : public nsISupports {
 public: 

  NS_DECLARE_STATIC_IID_ACCESSOR(NS_IABLDAPDIRECTORY_IID)

  /* attribute nsIMutableArray searchServerControls; */
  NS_IMETHOD GetSearchServerControls(nsIMutableArray * *aSearchServerControls) = 0;
  NS_IMETHOD SetSearchServerControls(nsIMutableArray *aSearchServerControls) = 0;

  /* attribute nsIMutableArray searchClientControls; */
  NS_IMETHOD GetSearchClientControls(nsIMutableArray * *aSearchClientControls) = 0;
  NS_IMETHOD SetSearchClientControls(nsIMutableArray *aSearchClientControls) = 0;

  /* attribute ACString replicationFileName; */
  NS_IMETHOD GetReplicationFileName(nsACString & aReplicationFileName) = 0;
  NS_IMETHOD SetReplicationFileName(const nsACString & aReplicationFileName) = 0;

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

  /* attribute ACString saslMechanism; */
  NS_IMETHOD GetSaslMechanism(nsACString & aSaslMechanism) = 0;
  NS_IMETHOD SetSaslMechanism(const nsACString & aSaslMechanism) = 0;

  /* attribute AUTF8String authDn; */
  NS_IMETHOD GetAuthDn(nsACString & aAuthDn) = 0;
  NS_IMETHOD SetAuthDn(const nsACString & aAuthDn) = 0;

  /* attribute long maxHits; */
  NS_IMETHOD GetMaxHits(int32_t *aMaxHits) = 0;
  NS_IMETHOD SetMaxHits(int32_t aMaxHits) = 0;

  /* attribute long lastChangeNumber; */
  NS_IMETHOD GetLastChangeNumber(int32_t *aLastChangeNumber) = 0;
  NS_IMETHOD SetLastChangeNumber(int32_t aLastChangeNumber) = 0;

  /* attribute ACString dataVersion; */
  NS_IMETHOD GetDataVersion(nsACString & aDataVersion) = 0;
  NS_IMETHOD SetDataVersion(const nsACString & aDataVersion) = 0;

  /* readonly attribute nsIAbLDAPAttributeMap attributeMap; */
  NS_IMETHOD GetAttributeMap(nsIAbLDAPAttributeMap * *aAttributeMap) = 0;

  /* attribute nsILDAPURL lDAPURL; */
  NS_IMETHOD GetLDAPURL(nsILDAPURL * *aLDAPURL) = 0;
  NS_IMETHOD SetLDAPURL(nsILDAPURL *aLDAPURL) = 0;

  /* readonly attribute nsIFile replicationFile; */
  NS_IMETHOD GetReplicationFile(nsIFile * *aReplicationFile) = 0;

  /* readonly attribute nsIAddrDatabase replicationDatabase; */
  NS_IMETHOD GetReplicationDatabase(nsIAddrDatabase * *aReplicationDatabase) = 0;

  /* attribute ACString rdnAttributes; */
  NS_IMETHOD GetRdnAttributes(nsACString & aRdnAttributes) = 0;
  NS_IMETHOD SetRdnAttributes(const nsACString & aRdnAttributes) = 0;

  /* attribute ACString objectClasses; */
  NS_IMETHOD GetObjectClasses(nsACString & aObjectClasses) = 0;
  NS_IMETHOD SetObjectClasses(const nsACString & aObjectClasses) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(nsIAbLDAPDirectory, NS_IABLDAPDIRECTORY_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIABLDAPDIRECTORY \
  NS_IMETHOD GetSearchServerControls(nsIMutableArray * *aSearchServerControls); \
  NS_IMETHOD SetSearchServerControls(nsIMutableArray *aSearchServerControls); \
  NS_IMETHOD GetSearchClientControls(nsIMutableArray * *aSearchClientControls); \
  NS_IMETHOD SetSearchClientControls(nsIMutableArray *aSearchClientControls); \
  NS_IMETHOD GetReplicationFileName(nsACString & aReplicationFileName); \
  NS_IMETHOD SetReplicationFileName(const nsACString & aReplicationFileName); \
  NS_IMETHOD GetProtocolVersion(uint32_t *aProtocolVersion); \
  NS_IMETHOD SetProtocolVersion(uint32_t aProtocolVersion); \
  NS_IMETHOD GetSaslMechanism(nsACString & aSaslMechanism); \
  NS_IMETHOD SetSaslMechanism(const nsACString & aSaslMechanism); \
  NS_IMETHOD GetAuthDn(nsACString & aAuthDn); \
  NS_IMETHOD SetAuthDn(const nsACString & aAuthDn); \
  NS_IMETHOD GetMaxHits(int32_t *aMaxHits); \
  NS_IMETHOD SetMaxHits(int32_t aMaxHits); \
  NS_IMETHOD GetLastChangeNumber(int32_t *aLastChangeNumber); \
  NS_IMETHOD SetLastChangeNumber(int32_t aLastChangeNumber); \
  NS_IMETHOD GetDataVersion(nsACString & aDataVersion); \
  NS_IMETHOD SetDataVersion(const nsACString & aDataVersion); \
  NS_IMETHOD GetAttributeMap(nsIAbLDAPAttributeMap * *aAttributeMap); \
  NS_IMETHOD GetLDAPURL(nsILDAPURL * *aLDAPURL); \
  NS_IMETHOD SetLDAPURL(nsILDAPURL *aLDAPURL); \
  NS_IMETHOD GetReplicationFile(nsIFile * *aReplicationFile); \
  NS_IMETHOD GetReplicationDatabase(nsIAddrDatabase * *aReplicationDatabase); \
  NS_IMETHOD GetRdnAttributes(nsACString & aRdnAttributes); \
  NS_IMETHOD SetRdnAttributes(const nsACString & aRdnAttributes); \
  NS_IMETHOD GetObjectClasses(nsACString & aObjectClasses); \
  NS_IMETHOD SetObjectClasses(const nsACString & aObjectClasses); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIABLDAPDIRECTORY(_to) \
  NS_IMETHOD GetSearchServerControls(nsIMutableArray * *aSearchServerControls) { return _to GetSearchServerControls(aSearchServerControls); } \
  NS_IMETHOD SetSearchServerControls(nsIMutableArray *aSearchServerControls) { return _to SetSearchServerControls(aSearchServerControls); } \
  NS_IMETHOD GetSearchClientControls(nsIMutableArray * *aSearchClientControls) { return _to GetSearchClientControls(aSearchClientControls); } \
  NS_IMETHOD SetSearchClientControls(nsIMutableArray *aSearchClientControls) { return _to SetSearchClientControls(aSearchClientControls); } \
  NS_IMETHOD GetReplicationFileName(nsACString & aReplicationFileName) { return _to GetReplicationFileName(aReplicationFileName); } \
  NS_IMETHOD SetReplicationFileName(const nsACString & aReplicationFileName) { return _to SetReplicationFileName(aReplicationFileName); } \
  NS_IMETHOD GetProtocolVersion(uint32_t *aProtocolVersion) { return _to GetProtocolVersion(aProtocolVersion); } \
  NS_IMETHOD SetProtocolVersion(uint32_t aProtocolVersion) { return _to SetProtocolVersion(aProtocolVersion); } \
  NS_IMETHOD GetSaslMechanism(nsACString & aSaslMechanism) { return _to GetSaslMechanism(aSaslMechanism); } \
  NS_IMETHOD SetSaslMechanism(const nsACString & aSaslMechanism) { return _to SetSaslMechanism(aSaslMechanism); } \
  NS_IMETHOD GetAuthDn(nsACString & aAuthDn) { return _to GetAuthDn(aAuthDn); } \
  NS_IMETHOD SetAuthDn(const nsACString & aAuthDn) { return _to SetAuthDn(aAuthDn); } \
  NS_IMETHOD GetMaxHits(int32_t *aMaxHits) { return _to GetMaxHits(aMaxHits); } \
  NS_IMETHOD SetMaxHits(int32_t aMaxHits) { return _to SetMaxHits(aMaxHits); } \
  NS_IMETHOD GetLastChangeNumber(int32_t *aLastChangeNumber) { return _to GetLastChangeNumber(aLastChangeNumber); } \
  NS_IMETHOD SetLastChangeNumber(int32_t aLastChangeNumber) { return _to SetLastChangeNumber(aLastChangeNumber); } \
  NS_IMETHOD GetDataVersion(nsACString & aDataVersion) { return _to GetDataVersion(aDataVersion); } \
  NS_IMETHOD SetDataVersion(const nsACString & aDataVersion) { return _to SetDataVersion(aDataVersion); } \
  NS_IMETHOD GetAttributeMap(nsIAbLDAPAttributeMap * *aAttributeMap) { return _to GetAttributeMap(aAttributeMap); } \
  NS_IMETHOD GetLDAPURL(nsILDAPURL * *aLDAPURL) { return _to GetLDAPURL(aLDAPURL); } \
  NS_IMETHOD SetLDAPURL(nsILDAPURL *aLDAPURL) { return _to SetLDAPURL(aLDAPURL); } \
  NS_IMETHOD GetReplicationFile(nsIFile * *aReplicationFile) { return _to GetReplicationFile(aReplicationFile); } \
  NS_IMETHOD GetReplicationDatabase(nsIAddrDatabase * *aReplicationDatabase) { return _to GetReplicationDatabase(aReplicationDatabase); } \
  NS_IMETHOD GetRdnAttributes(nsACString & aRdnAttributes) { return _to GetRdnAttributes(aRdnAttributes); } \
  NS_IMETHOD SetRdnAttributes(const nsACString & aRdnAttributes) { return _to SetRdnAttributes(aRdnAttributes); } \
  NS_IMETHOD GetObjectClasses(nsACString & aObjectClasses) { return _to GetObjectClasses(aObjectClasses); } \
  NS_IMETHOD SetObjectClasses(const nsACString & aObjectClasses) { return _to SetObjectClasses(aObjectClasses); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIABLDAPDIRECTORY(_to) \
  NS_IMETHOD GetSearchServerControls(nsIMutableArray * *aSearchServerControls) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSearchServerControls(aSearchServerControls); } \
  NS_IMETHOD SetSearchServerControls(nsIMutableArray *aSearchServerControls) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSearchServerControls(aSearchServerControls); } \
  NS_IMETHOD GetSearchClientControls(nsIMutableArray * *aSearchClientControls) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSearchClientControls(aSearchClientControls); } \
  NS_IMETHOD SetSearchClientControls(nsIMutableArray *aSearchClientControls) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSearchClientControls(aSearchClientControls); } \
  NS_IMETHOD GetReplicationFileName(nsACString & aReplicationFileName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReplicationFileName(aReplicationFileName); } \
  NS_IMETHOD SetReplicationFileName(const nsACString & aReplicationFileName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetReplicationFileName(aReplicationFileName); } \
  NS_IMETHOD GetProtocolVersion(uint32_t *aProtocolVersion) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProtocolVersion(aProtocolVersion); } \
  NS_IMETHOD SetProtocolVersion(uint32_t aProtocolVersion) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetProtocolVersion(aProtocolVersion); } \
  NS_IMETHOD GetSaslMechanism(nsACString & aSaslMechanism) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSaslMechanism(aSaslMechanism); } \
  NS_IMETHOD SetSaslMechanism(const nsACString & aSaslMechanism) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetSaslMechanism(aSaslMechanism); } \
  NS_IMETHOD GetAuthDn(nsACString & aAuthDn) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAuthDn(aAuthDn); } \
  NS_IMETHOD SetAuthDn(const nsACString & aAuthDn) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAuthDn(aAuthDn); } \
  NS_IMETHOD GetMaxHits(int32_t *aMaxHits) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetMaxHits(aMaxHits); } \
  NS_IMETHOD SetMaxHits(int32_t aMaxHits) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetMaxHits(aMaxHits); } \
  NS_IMETHOD GetLastChangeNumber(int32_t *aLastChangeNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastChangeNumber(aLastChangeNumber); } \
  NS_IMETHOD SetLastChangeNumber(int32_t aLastChangeNumber) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLastChangeNumber(aLastChangeNumber); } \
  NS_IMETHOD GetDataVersion(nsACString & aDataVersion) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetDataVersion(aDataVersion); } \
  NS_IMETHOD SetDataVersion(const nsACString & aDataVersion) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetDataVersion(aDataVersion); } \
  NS_IMETHOD GetAttributeMap(nsIAbLDAPAttributeMap * *aAttributeMap) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttributeMap(aAttributeMap); } \
  NS_IMETHOD GetLDAPURL(nsILDAPURL * *aLDAPURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLDAPURL(aLDAPURL); } \
  NS_IMETHOD SetLDAPURL(nsILDAPURL *aLDAPURL) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetLDAPURL(aLDAPURL); } \
  NS_IMETHOD GetReplicationFile(nsIFile * *aReplicationFile) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReplicationFile(aReplicationFile); } \
  NS_IMETHOD GetReplicationDatabase(nsIAddrDatabase * *aReplicationDatabase) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetReplicationDatabase(aReplicationDatabase); } \
  NS_IMETHOD GetRdnAttributes(nsACString & aRdnAttributes) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRdnAttributes(aRdnAttributes); } \
  NS_IMETHOD SetRdnAttributes(const nsACString & aRdnAttributes) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRdnAttributes(aRdnAttributes); } \
  NS_IMETHOD GetObjectClasses(nsACString & aObjectClasses) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetObjectClasses(aObjectClasses); } \
  NS_IMETHOD SetObjectClasses(const nsACString & aObjectClasses) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetObjectClasses(aObjectClasses); } 

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

/* Header file */
class nsAbLDAPDirectory : public nsIAbLDAPDirectory
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIABLDAPDIRECTORY

  nsAbLDAPDirectory();

private:
  ~nsAbLDAPDirectory();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsAbLDAPDirectory, nsIAbLDAPDirectory)

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

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

/* attribute nsIMutableArray searchServerControls; */
NS_IMETHODIMP nsAbLDAPDirectory::GetSearchServerControls(nsIMutableArray * *aSearchServerControls)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetSearchServerControls(nsIMutableArray *aSearchServerControls)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsIMutableArray searchClientControls; */
NS_IMETHODIMP nsAbLDAPDirectory::GetSearchClientControls(nsIMutableArray * *aSearchClientControls)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetSearchClientControls(nsIMutableArray *aSearchClientControls)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString replicationFileName; */
NS_IMETHODIMP nsAbLDAPDirectory::GetReplicationFileName(nsACString & aReplicationFileName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetReplicationFileName(const nsACString & aReplicationFileName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

/* attribute ACString saslMechanism; */
NS_IMETHODIMP nsAbLDAPDirectory::GetSaslMechanism(nsACString & aSaslMechanism)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetSaslMechanism(const nsACString & aSaslMechanism)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String authDn; */
NS_IMETHODIMP nsAbLDAPDirectory::GetAuthDn(nsACString & aAuthDn)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetAuthDn(const nsACString & aAuthDn)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long maxHits; */
NS_IMETHODIMP nsAbLDAPDirectory::GetMaxHits(int32_t *aMaxHits)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetMaxHits(int32_t aMaxHits)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute long lastChangeNumber; */
NS_IMETHODIMP nsAbLDAPDirectory::GetLastChangeNumber(int32_t *aLastChangeNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetLastChangeNumber(int32_t aLastChangeNumber)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString dataVersion; */
NS_IMETHODIMP nsAbLDAPDirectory::GetDataVersion(nsACString & aDataVersion)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetDataVersion(const nsACString & aDataVersion)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAbLDAPAttributeMap attributeMap; */
NS_IMETHODIMP nsAbLDAPDirectory::GetAttributeMap(nsIAbLDAPAttributeMap * *aAttributeMap)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute nsILDAPURL lDAPURL; */
NS_IMETHODIMP nsAbLDAPDirectory::GetLDAPURL(nsILDAPURL * *aLDAPURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetLDAPURL(nsILDAPURL *aLDAPURL)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIFile replicationFile; */
NS_IMETHODIMP nsAbLDAPDirectory::GetReplicationFile(nsIFile * *aReplicationFile)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsIAddrDatabase replicationDatabase; */
NS_IMETHODIMP nsAbLDAPDirectory::GetReplicationDatabase(nsIAddrDatabase * *aReplicationDatabase)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString rdnAttributes; */
NS_IMETHODIMP nsAbLDAPDirectory::GetRdnAttributes(nsACString & aRdnAttributes)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetRdnAttributes(const nsACString & aRdnAttributes)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute ACString objectClasses; */
NS_IMETHODIMP nsAbLDAPDirectory::GetObjectClasses(nsACString & aObjectClasses)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP nsAbLDAPDirectory::SetObjectClasses(const nsACString & aObjectClasses)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_nsIAbLDAPDirectory_h__ */
