From 302bf1b523012e11b60425d6eee1221ebc2724eb Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sun, 3 Nov 2019 00:17:46 -0400 Subject: Issue #1258 - Part 1: Import mailnews, ldap, and mork from comm-esr52.9.1 --- mailnews/compose/src/nsSmtpService.h | 63 ++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 mailnews/compose/src/nsSmtpService.h (limited to 'mailnews/compose/src/nsSmtpService.h') diff --git a/mailnews/compose/src/nsSmtpService.h b/mailnews/compose/src/nsSmtpService.h new file mode 100644 index 000000000..8aca6e7ef --- /dev/null +++ b/mailnews/compose/src/nsSmtpService.h @@ -0,0 +1,63 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef nsSmtpService_h___ +#define nsSmtpService_h___ + +#include "nscore.h" +#include "nsCOMPtr.h" +#include "nsCOMArray.h" +#include "nsISmtpService.h" +#include "nsISmtpServer.h" +#include "nsIProtocolHandler.h" + +//////////////////////////////////////////////////////////////////////////////////////// +// The Smtp Service is an interfaced designed to make building and running mail to urls +// easier. I'm not sure if this service will go away when the new networking model comes +// on line (as part of the N2 project). So I reserve the right to change my mind and take +// this service away =). +//////////////////////////////////////////////////////////////////////////////////////// + +class nsSmtpService : public nsISmtpService, public nsIProtocolHandler +{ +public: + + nsSmtpService(); + + NS_DECL_ISUPPORTS + + //////////////////////////////////////////////////////////////////////// + // we suppport the nsISmtpService interface + //////////////////////////////////////////////////////////////////////// + NS_DECL_NSISMTPSERVICE + + ////////////////////////////////////////////////////////////////////////// + // we suppport the nsIProtocolHandler interface + ////////////////////////////////////////////////////////////////////////// + NS_DECL_NSIPROTOCOLHANDLER + +protected: + nsresult loadSmtpServers(); + + +private: + virtual ~nsSmtpService(); + static bool findServerByKey(nsISmtpServer *aServer, void *aData); + static bool findServerByHostname(nsISmtpServer *aServer, void *aData); + + nsresult createKeyedServer(const char* key, + nsISmtpServer **aResult = nullptr); + nsresult saveKeyList(); + + nsCOMArray mSmtpServers; + nsCOMPtr mDefaultSmtpServer; + nsCOMPtr mSessionDefaultServer; + + nsCString mServerKeyList; + + bool mSmtpServersLoaded; +}; + +#endif /* nsSmtpService_h___ */ -- cgit v1.2.3