1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 #ifndef nsMIMEInfoMac_h_
6 #define nsMIMEInfoMac_h_
7 
8 #include "nsMIMEInfoImpl.h"
9 
10 class nsMIMEInfoMac : public nsMIMEInfoImpl {
11  public:
12   explicit nsMIMEInfoMac(const char* aMIMEType = "")
nsMIMEInfoImpl(aMIMEType)13       : nsMIMEInfoImpl(aMIMEType) {}
nsMIMEInfoMac(const nsACString & aMIMEType)14   explicit nsMIMEInfoMac(const nsACString& aMIMEType)
15       : nsMIMEInfoImpl(aMIMEType) {}
nsMIMEInfoMac(const nsACString & aType,HandlerClass aClass)16   nsMIMEInfoMac(const nsACString& aType, HandlerClass aClass)
17       : nsMIMEInfoImpl(aType, aClass) {}
18 
19   NS_IMETHOD LaunchWithFile(nsIFile* aFile) override;
20 
21  protected:
22   [[nodiscard]] virtual nsresult LoadUriInternal(nsIURI* aURI) override;
23 #ifdef DEBUG
LaunchDefaultWithFile(nsIFile * aFile)24   [[nodiscard]] virtual nsresult LaunchDefaultWithFile(
25       nsIFile* aFile) override {
26     MOZ_ASSERT_UNREACHABLE("do not call this method, use LaunchWithFile");
27     return NS_ERROR_UNEXPECTED;
28   }
29 #endif
30   NS_IMETHOD GetDefaultDescription(nsAString& aDefaultDescription) override;
31 };
32 
33 #endif
34