SocketProcessImpl.h (1060B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 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 6 #ifndef mozilla_net_SocketProcessImpl_h 7 #define mozilla_net_SocketProcessImpl_h 8 9 #include "mozilla/ipc/ProcessChild.h" 10 #include "SocketProcessChild.h" 11 12 namespace mozilla { 13 namespace net { 14 15 // This class owns the subprocess instance of socket child process. 16 // It is instantiated as a singleton in XRE_InitChildProcess. 17 class SocketProcessImpl final : public mozilla::ipc::ProcessChild { 18 protected: 19 using ProcessChild = mozilla::ipc::ProcessChild; 20 21 public: 22 using ProcessChild::ProcessChild; 23 ~SocketProcessImpl(); 24 25 bool Init(int aArgc, char* aArgv[]) override; 26 void CleanUp() override; 27 28 private: 29 RefPtr<SocketProcessChild> mSocketProcessChild = new SocketProcessChild; 30 }; 31 32 } // namespace net 33 } // namespace mozilla 34 35 #endif // mozilla_net_SocketProcessImpl_h