webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
IPC::Decoder Class Reference

#include <Decoder.h>

Public Member Functions

 Decoder (const uint8_t *buffer, size_t bufferSize, void(*bufferDeallocator)(const uint8_t *, size_t), Vector< Attachment >)
 
 ~Decoder ()
 
 Decoder (const Decoder &)=delete
 
 Decoder (Decoder &&)=delete
 
StringReference messageReceiverName () const
 
StringReference messageName () const
 
uint64_t destinationID () const
 
bool isSyncMessage () const
 
bool shouldDispatchMessageWhenWaitingForSyncReply () const
 
bool shouldUseFullySynchronousModeForTesting () const
 
size_t length () const
 
bool isInvalid () const
 
void markInvalid ()
 
bool decodeFixedLengthData (uint8_t *, size_t, unsigned alignment)
 
bool decodeVariableLengthByteArray (DataReference &)
 
bool decode (bool &)
 
bool decode (uint8_t &)
 
bool decode (uint16_t &)
 
bool decode (uint32_t &)
 
bool decode (uint64_t &)
 
bool decode (int32_t &)
 
bool decode (int64_t &)
 
bool decode (float &)
 
bool decode (double &)
 
template<typename E >
auto decode (E &e) -> std::enable_if_t< std::is_enum< E >::value, bool >
 
template<typename T >
bool decodeEnum (T &result)
 
template<typename T >
bool bufferIsLargeEnoughToContain (size_t numElements) const
 
template<typename T >
auto decode (T &t) -> std::enable_if_t<!std::is_enum< T >::value, bool >
 
bool removeAttachment (Attachment &)
 

Static Public Member Functions

static std::unique_ptr< DecoderunwrapForTesting (Decoder &)
 

Static Public Attributes

static const bool isIPCDecoder = true
 

Constructor & Destructor Documentation

◆ Decoder() [1/3]

IPC::Decoder::Decoder ( const uint8_t buffer,
size_t  bufferSize,
void(*)(const uint8_t *, size_t bufferDeallocator,
Vector< Attachment attachments 
)

◆ ~Decoder()

IPC::Decoder::~Decoder ( )

◆ Decoder() [2/3]

IPC::Decoder::Decoder ( const Decoder )
delete

◆ Decoder() [3/3]

IPC::Decoder::Decoder ( Decoder &&  )
delete

Member Function Documentation

◆ bufferIsLargeEnoughToContain()

template<typename T >
bool IPC::Decoder::bufferIsLargeEnoughToContain ( size_t  numElements) const
inline

◆ decode() [1/11]

bool IPC::Decoder::decode ( bool &  result)

◆ decode() [2/11]

bool IPC::Decoder::decode ( uint8_t result)

◆ decode() [3/11]

bool IPC::Decoder::decode ( uint16_t result)

◆ decode() [4/11]

bool IPC::Decoder::decode ( uint32_t result)

◆ decode() [5/11]

bool IPC::Decoder::decode ( uint64_t result)

◆ decode() [6/11]

bool IPC::Decoder::decode ( int32_t result)

◆ decode() [7/11]

bool IPC::Decoder::decode ( int64_t result)

◆ decode() [8/11]

bool IPC::Decoder::decode ( float &  result)

◆ decode() [9/11]

bool IPC::Decoder::decode ( double &  result)

◆ decode() [10/11]

template<typename E >
auto IPC::Decoder::decode ( E e) -> std::enable_if_t<std::is_enum<E>::value, bool>
inline

◆ decode() [11/11]

template<typename T >
auto IPC::Decoder::decode ( T t) -> std::enable_if_t<!std::is_enum<T>::value, bool>
inline

◆ decodeEnum()

template<typename T >
bool IPC::Decoder::decodeEnum ( T result)
inline

◆ decodeFixedLengthData()

bool IPC::Decoder::decodeFixedLengthData ( uint8_t data,
size_t  size,
unsigned  alignment 
)

◆ decodeVariableLengthByteArray()

bool IPC::Decoder::decodeVariableLengthByteArray ( DataReference dataReference)

◆ destinationID()

uint64_t IPC::Decoder::destinationID ( ) const
inline

◆ isInvalid()

bool IPC::Decoder::isInvalid ( ) const
inline

◆ isSyncMessage()

bool IPC::Decoder::isSyncMessage ( ) const

◆ length()

size_t IPC::Decoder::length ( void  ) const
inline

◆ markInvalid()

void IPC::Decoder::markInvalid ( )
inline

◆ messageName()

StringReference IPC::Decoder::messageName ( ) const
inline

◆ messageReceiverName()

StringReference IPC::Decoder::messageReceiverName ( ) const
inline

◆ removeAttachment()

bool IPC::Decoder::removeAttachment ( Attachment attachment)

◆ shouldDispatchMessageWhenWaitingForSyncReply()

bool IPC::Decoder::shouldDispatchMessageWhenWaitingForSyncReply ( ) const

◆ shouldUseFullySynchronousModeForTesting()

bool IPC::Decoder::shouldUseFullySynchronousModeForTesting ( ) const

◆ unwrapForTesting()

std::unique_ptr< Decoder > IPC::Decoder::unwrapForTesting ( Decoder decoder)
static

Member Data Documentation

◆ isIPCDecoder

const bool IPC::Decoder::isIPCDecoder = true
static

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