Bug 1572460 - Refactor `selection` out of the `InspectorFront`. r=yulia
[gecko.git] / dom / file / FileCreatorHelper.h
blob78eb7d7a69533a39519795e01c5ee2293b3abd72
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
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/. */
7 #ifndef mozilla_dom_FileCreatorHelper_h
8 #define mozilla_dom_FileCreatorHelper_h
10 #include "mozilla/Attributes.h"
11 #include "mozilla/ErrorResult.h"
12 #include "mozilla/RefPtr.h"
13 #include "nsISupportsImpl.h"
15 // Undefine the macro of CreateFile to avoid FileCreatorHelper#CreateFile being
16 // replaced by FileCreatorHelper#CreateFileW.
17 #ifdef CreateFile
18 # undef CreateFile
19 #endif
21 class nsIFile;
22 class nsIGlobalObject;
24 namespace mozilla {
25 namespace dom {
27 struct ChromeFilePropertyBag;
28 class Promise;
30 class FileCreatorHelper final {
31 public:
32 static already_AddRefed<Promise> CreateFile(nsIGlobalObject* aGlobalObject,
33 nsIFile* aFile,
34 const ChromeFilePropertyBag& aBag,
35 bool aIsFromNsIFile,
36 ErrorResult& aRv);
39 } // namespace dom
40 } // namespace mozilla
42 #endif // mozilla_dom_FileCreatorHelper_h