webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Protected Member Functions | List of all members
WebKit::ChildProcessProxy Class Referenceabstract

#include <ChildProcessProxy.h>

Inheritance diagram for WebKit::ChildProcessProxy:
WebKit::ProcessLauncher::Client IPC::Connection::Client WTF::ThreadSafeRefCounted< ChildProcessProxy > IPC::MessageReceiver WTF::ThreadSafeRefCountedBase WTF::ThreadSafeRefCountedBase WTF::ThreadSafeRefCountedBase WebKit::NetworkProcessProxy WebKit::WebProcessProxy

Public Types

enum  State { State::Launching, State::Running, State::Terminated }
 

Public Member Functions

virtual ~ChildProcessProxy ()
 
void connect ()
 
void terminate ()
 
template<typename T >
bool send (T &&message, uint64_t destinationID, OptionSet< IPC::SendOption > sendOptions={ })
 
template<typename T >
bool sendSync (T &&message, typename T::Reply &&, uint64_t destinationID, Seconds timeout=1_s, OptionSet< IPC::SendSyncOption > sendSyncOptions={ })
 
IPC::Connectionconnection () const
 
bool hasConnection (const IPC::Connection &connection) const
 
void addMessageReceiver (IPC::StringReference messageReceiverName, IPC::MessageReceiver &)
 
void addMessageReceiver (IPC::StringReference messageReceiverName, uint64_t destinationID, IPC::MessageReceiver &)
 
void removeMessageReceiver (IPC::StringReference messageReceiverName, uint64_t destinationID)
 
void removeMessageReceiver (IPC::StringReference messageReceiverName)
 
State state () const
 
pid_t processIdentifier () const
 
bool canSendMessage () const
 
bool sendMessage (std::unique_ptr< IPC::Encoder >, OptionSet< IPC::SendOption >)
 
void shutDownProcess ()
 
template<typename U >
bool sendSync (U &&message, typename U::Reply &&reply, uint64_t destinationID, Seconds timeout, OptionSet< IPC::SendSyncOption > sendSyncOptions)
 
- Public Member Functions inherited from IPC::Connection::Client
virtual void didClose (Connection &)=0
 
virtual void didReceiveInvalidMessage (Connection &, StringReference messageReceiverName, StringReference messageName)=0
 
- Public Member Functions inherited from IPC::MessageReceiver
virtual ~MessageReceiver ()
 
virtual void didReceiveMessage (Connection &, Decoder &)=0
 
virtual void didReceiveSyncMessage (Connection &, Decoder &, std::unique_ptr< Encoder > &)
 
- Public Member Functions inherited from WTF::ThreadSafeRefCounted< ChildProcessProxy >
void deref () const
 
void deref () const
 
void deref () const
 
- Public Member Functions inherited from WTF::ThreadSafeRefCountedBase
 ThreadSafeRefCountedBase ()=default
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
 ThreadSafeRefCountedBase ()=default
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
 ThreadSafeRefCountedBase ()=default
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 

Protected Member Functions

 ChildProcessProxy (bool alwaysRunsAtBackgroundPriority=false)
 
void didFinishLaunching (ProcessLauncher *, IPC::Connection::Identifier) override
 
bool dispatchMessage (IPC::Connection &, IPC::Decoder &)
 
bool dispatchSyncMessage (IPC::Connection &, IPC::Decoder &, std::unique_ptr< IPC::Encoder > &)
 
virtual void getLaunchOptions (ProcessLauncher::LaunchOptions &)
 
- Protected Member Functions inherited from IPC::Connection::Client
virtual ~Client ()
 
- Protected Member Functions inherited from WTF::ThreadSafeRefCounted< ChildProcessProxy >
 ThreadSafeRefCounted ()=default
 
 ThreadSafeRefCounted ()=default
 
 ThreadSafeRefCounted ()=default
 
- Protected Member Functions inherited from WTF::ThreadSafeRefCountedBase
bool derefBase () const
 
bool derefBase () const
 
bool derefBase () const
 

Member Enumeration Documentation

◆ State

Enumerator
Launching 
Running 
Terminated 

Constructor & Destructor Documentation

◆ ChildProcessProxy()

WebKit::ChildProcessProxy::ChildProcessProxy ( bool  alwaysRunsAtBackgroundPriority = false)
explicitprotected

◆ ~ChildProcessProxy()

WebKit::ChildProcessProxy::~ChildProcessProxy ( )
virtual

Member Function Documentation

◆ addMessageReceiver() [1/2]

void WebKit::ChildProcessProxy::addMessageReceiver ( IPC::StringReference  messageReceiverName,
IPC::MessageReceiver messageReceiver 
)

◆ addMessageReceiver() [2/2]

void WebKit::ChildProcessProxy::addMessageReceiver ( IPC::StringReference  messageReceiverName,
uint64_t  destinationID,
IPC::MessageReceiver messageReceiver 
)

◆ canSendMessage()

bool WebKit::ChildProcessProxy::canSendMessage ( ) const
inline

◆ connect()

void WebKit::ChildProcessProxy::connect ( )

◆ connection()

IPC::Connection* WebKit::ChildProcessProxy::connection ( ) const
inline

◆ didFinishLaunching()

void WebKit::ChildProcessProxy::didFinishLaunching ( ProcessLauncher ,
IPC::Connection::Identifier  connectionIdentifier 
)
overrideprotectedvirtual

◆ dispatchMessage()

bool WebKit::ChildProcessProxy::dispatchMessage ( IPC::Connection connection,
IPC::Decoder decoder 
)
protected

◆ dispatchSyncMessage()

bool WebKit::ChildProcessProxy::dispatchSyncMessage ( IPC::Connection connection,
IPC::Decoder decoder,
std::unique_ptr< IPC::Encoder > &  replyEncoder 
)
protected

◆ getLaunchOptions()

void WebKit::ChildProcessProxy::getLaunchOptions ( ProcessLauncher::LaunchOptions launchOptions)
protectedvirtual

◆ hasConnection()

bool WebKit::ChildProcessProxy::hasConnection ( const IPC::Connection connection) const
inline

◆ processIdentifier()

pid_t WebKit::ChildProcessProxy::processIdentifier ( ) const
inline

◆ removeMessageReceiver() [1/2]

void WebKit::ChildProcessProxy::removeMessageReceiver ( IPC::StringReference  messageReceiverName,
uint64_t  destinationID 
)

◆ removeMessageReceiver() [2/2]

void WebKit::ChildProcessProxy::removeMessageReceiver ( IPC::StringReference  messageReceiverName)

◆ send()

template<typename T >
bool WebKit::ChildProcessProxy::send ( T &&  message,
uint64_t  destinationID,
OptionSet< IPC::SendOption sendOptions = { } 
)

◆ sendMessage()

bool WebKit::ChildProcessProxy::sendMessage ( std::unique_ptr< IPC::Encoder encoder,
OptionSet< IPC::SendOption sendOptions 
)

◆ sendSync() [1/2]

template<typename T >
bool WebKit::ChildProcessProxy::sendSync ( T &&  message,
typename T::Reply &&  ,
uint64_t  destinationID,
Seconds  timeout = 1_s,
OptionSet< IPC::SendSyncOption sendSyncOptions = { } 
)

◆ sendSync() [2/2]

template<typename U >
bool WebKit::ChildProcessProxy::sendSync ( U &&  message,
typename U::Reply &&  reply,
uint64_t  destinationID,
Seconds  timeout,
OptionSet< IPC::SendSyncOption sendSyncOptions 
)

◆ shutDownProcess()

void WebKit::ChildProcessProxy::shutDownProcess ( )

◆ state()

ChildProcessProxy::State WebKit::ChildProcessProxy::state ( ) const

◆ terminate()

void WebKit::ChildProcessProxy::terminate ( )

The documentation for this class was generated from the following files: