nsCollationUnix.h 916 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2. *
  3. * This Source Code Form is subject to the terms of the Mozilla Public
  4. * License, v. 2.0. If a copy of the MPL was not distributed with this
  5. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  6. #ifndef nsCollationUnix_h__
  7. #define nsCollationUnix_h__
  8. #include "nsICollation.h"
  9. #include "nsCollation.h" // static library
  10. #include "plstr.h"
  11. #include "mozilla/Attributes.h"
  12. #include "nsString.h"
  13. class nsCollationUnix final : public nsICollation {
  14. protected:
  15. nsCollation *mCollation;
  16. nsCString mLocale;
  17. nsCString mSavedLocale;
  18. bool mUseCodePointOrder;
  19. void DoSetLocale();
  20. void DoRestoreLocale();
  21. ~nsCollationUnix();
  22. public:
  23. nsCollationUnix();
  24. // nsISupports interface
  25. NS_DECL_ISUPPORTS
  26. // nsICollation interface
  27. NS_DECL_NSICOLLATION
  28. };
  29. #endif /* nsCollationUnix_h__ */