NS_IMETHODIMP nsAbLDAPChangeLogQuery::Init(
    const nsACString &aPrefName, nsIWebProgressListener *aProgressListener) {
  if (aPrefName.IsEmpty()) return NS_ERROR_UNEXPECTED;

  mDirPrefName = aPrefName;

  nsresult rv = InitLDAPData();
  if (NS_FAILED(rv)) return rv;

  // create the ChangeLog Data Processor
  mDataProcessor =
      do_CreateInstance(NS_ABLDAP_PROCESSCHANGELOGDATA_CONTRACTID, &rv);
  if (NS_FAILED(rv)) return rv;

  // 'this' initialized
  mInitialized = true;

  return mDataProcessor->Init(this, aProgressListener);
}
NS_IMETHODIMP nsAbLDAPReplicationQuery::Init(nsIAbLDAPDirectory *aDirectory,
                                             nsIWebProgressListener *aProgressListener)
{
  NS_ENSURE_ARG_POINTER(aDirectory);

  mDirectory = aDirectory;

  nsresult rv = InitLDAPData();
  if (NS_FAILED(rv)) 
    return rv;

  mDataProcessor =
    do_CreateInstance(NS_ABLDAP_PROCESSREPLICATIONDATA_CONTRACTID, &rv);
  if (NS_FAILED(rv)) 
    return rv;

  // 'this' initialized
  mInitialized = true;

  return mDataProcessor->Init(mDirectory, mConnection, mURL, this,
                              aProgressListener);
}