From 5a4cb1be4b52171fbf64e9917e6e4ed7c01fdd0c Mon Sep 17 00:00:00 2001 From: "sspitzer%netscape.com" Date: Wed, 26 Jan 2000 04:11:14 +0000 Subject: [PATCH] add "Equals" to the nsIMsgIncomingServer interface. we'll use this soon. r=alecf git-svn-id: svn://10.0.0.236/trunk@58726 18797224-902f-48f8-a5cc-f745e15eee43 --- .../base/public/nsIMsgIncomingServer.idl | 3 +++ .../base/util/nsMsgIncomingServer.cpp | 27 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/mozilla/mailnews/base/public/nsIMsgIncomingServer.idl b/mozilla/mailnews/base/public/nsIMsgIncomingServer.idl index 8e7081eca81..69942a1ef59 100644 --- a/mozilla/mailnews/base/public/nsIMsgIncomingServer.idl +++ b/mozilla/mailnews/base/public/nsIMsgIncomingServer.idl @@ -140,6 +140,9 @@ interface nsIMsgIncomingServer : nsISupports { wstring toString(); attribute boolean isSecure; + + /* used for comparing nsIMsgIncomingServers */ + boolean equals(in nsIMsgIncomingServer server); }; %{C++ diff --git a/mozilla/mailnews/base/util/nsMsgIncomingServer.cpp b/mozilla/mailnews/base/util/nsMsgIncomingServer.cpp index 3044553492f..19d97f60443 100644 --- a/mozilla/mailnews/base/util/nsMsgIncomingServer.cpp +++ b/mozilla/mailnews/base/util/nsMsgIncomingServer.cpp @@ -707,6 +707,33 @@ nsMsgIncomingServer::GetLocalStoreType(char **aResult) return NS_ERROR_UNEXPECTED; } +NS_IMETHODIMP +nsMsgIncomingServer::Equals(nsIMsgIncomingServer *server, PRBool *_retval) +{ + nsresult rv; + + NS_ENSURE_ARG_POINTER(server); + NS_ENSURE_ARG_POINTER(_retval); + + nsXPIDLCString key1; + nsXPIDLCString key2; + + rv = GetKey(getter_Copies(key1)); + if (NS_FAILED(rv)) return rv; + + rv = server->GetKey(getter_Copies(key2)); + if (NS_FAILED(rv)) return rv; + + // compare the server keys + if (PL_strcmp((const char *)key1,(const char *)key2)) { + *_retval = PR_FALSE; + } + else { + *_retval = PR_TRUE; + } + return rv; +} + // use the convenience macros to implement the accessors NS_IMPL_SERVERPREF_STR(nsMsgIncomingServer, HostName, "hostname"); NS_IMPL_SERVERPREF_INT(nsMsgIncomingServer, Port, "port");