nsAuthSASL.h 892 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* vim:set ts=4 sw=4 et cindent: */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. #ifndef nsAuthSASL_h__
  6. #define nsAuthSASL_h__
  7. #include "nsIAuthModule.h"
  8. #include "nsString.h"
  9. #include "nsCOMPtr.h"
  10. #include "mozilla/Attributes.h"
  11. /* This class is implemented using the nsAuthGSSAPI class, and the same
  12. * thread safety constraints which are documented in nsAuthGSSAPI.h
  13. * apply to this class
  14. */
  15. class nsAuthSASL final : public nsIAuthModule
  16. {
  17. public:
  18. NS_DECL_THREADSAFE_ISUPPORTS
  19. NS_DECL_NSIAUTHMODULE
  20. nsAuthSASL();
  21. private:
  22. ~nsAuthSASL() { Reset(); }
  23. void Reset();
  24. nsCOMPtr<nsIAuthModule> mInnerModule;
  25. nsString mUsername;
  26. bool mSASLReady;
  27. };
  28. #endif /* nsAuthSASL_h__ */