Line data Source code
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 file,
5 : * You can obtain one at http://mozilla.org/MPL/2.0/. */
6 :
7 : #ifndef mozilla_ipc_FileDescriptorSetParent_h__
8 : #define mozilla_ipc_FileDescriptorSetParent_h__
9 :
10 : #include "mozilla/Assertions.h"
11 : #include "mozilla/Attributes.h"
12 : #include "mozilla/ipc/PFileDescriptorSetParent.h"
13 : #include "nsTArray.h"
14 :
15 : namespace mozilla {
16 :
17 : namespace dom {
18 :
19 : class nsIContentParent;
20 :
21 : } // namespace dom
22 :
23 : namespace ipc {
24 :
25 : class BackgroundParentImpl;
26 : class FileDescriptor;
27 :
28 0 : class FileDescriptorSetParent final
29 : : public PFileDescriptorSetParent
30 : {
31 : friend class BackgroundParentImpl;
32 : friend class mozilla::dom::nsIContentParent;
33 :
34 : nsTArray<FileDescriptor> mFileDescriptors;
35 :
36 : public:
37 : void
38 : ForgetFileDescriptors(nsTArray<FileDescriptor>& aFileDescriptors);
39 :
40 : private:
41 : explicit FileDescriptorSetParent(const FileDescriptor& aFileDescriptor);
42 : ~FileDescriptorSetParent();
43 :
44 : virtual void ActorDestroy(ActorDestroyReason aWhy) override;
45 :
46 : virtual mozilla::ipc::IPCResult
47 : RecvAddFileDescriptor(const FileDescriptor& aFileDescriptor) override;
48 : };
49 :
50 : } // namespace ipc
51 : } // namespace mozilla
52 :
53 : #endif // mozilla_ipc_FileDescriptorSetParent_h__
|