mailnews/compose/src/nsSmtpServer.h
author Mozilla Releng Treescript <release+treescript@mozilla.org>
Sun, 07 Mar 2021 08:36:40 +0000
changeset 41385 22585a5823c69f88a7bf8c45d73f5fd1209e89f0
parent 35119 0e2572d4a88f1525e86de53027d4ac730164a600
permissions -rw-r--r--
no bug - Bumping Thunderbird l10n changesets r=release a=l10n-bump DONTBUILD cak -> 5afd7b4e3f1dbe2ccf16fed6a52a09842f4ec294 el -> e187aff59e6eeebe8327cd1fd8a28da438f9d437 et -> cbfbd5ef672171264b30b30fa8deb85a90a0d78c fi -> d1101de366559133173ef6dd3e423de8da38c244 hr -> 80c7f5cf2aa83769d07611802f5674d4aaa39da4 hu -> 5de48f167b48583d44f7a09e16d771b2c0d7f6b2 kab -> 79eec3c0f52b300536f4e77d61b5ac97138d650b kk -> 6d6de91fb85364010a61bb609eb5bba4241596c8 lt -> a9c48e509c6ff2c5875e9d9d9436e34b0fcdf24d pl -> c245d5fbda679d67637156c20a319786df893f12 zh-CN -> 6922e62afaff560ef9ab50b9484b7fd6e5e66b81

/* -*- 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 __nsSmtpServer_h_
#define __nsSmtpServer_h_

#include "nsString.h"
#include "nsISmtpServer.h"
#include "nsIPrefBranch.h"
#include "nsWeakReference.h"
#include "nsIObserver.h"

class nsSmtpServer : public nsISmtpServer,
                     public nsSupportsWeakReference,
                     public nsIObserver {
 public:
  nsSmtpServer();
  nsresult Init();

  NS_DECL_ISUPPORTS
  NS_DECL_NSISMTPSERVER
  NS_DECL_NSIOBSERVER

 private:
  virtual ~nsSmtpServer();
  nsCString mKey;
  nsCOMPtr<nsIPrefBranch> mPrefBranch;
  nsCOMPtr<nsIPrefBranch> mDefPrefBranch;

  nsresult getPrefs();
  void getIntPrefWithDefault(const char* prefName, int32_t* val,
                             int32_t defval);
  nsresult GetPasswordWithoutUI();
  nsCString GetServerURIInternal(const bool aIncludeUsername);
  nsresult OnUserOrHostNameChanged(const nsACString& oldName,
                                   const nsACString& newName,
                                   bool hostnameChanged);
  nsString m_password;
  bool m_logonFailed;
};

#endif