BufferedVBoxChannel< t_pBuffer, t_BufferSize > Class Template Reference

Provides a fast way of using VBOX exchange interface. More...

#include <vboxrpc.h>

List of all members.

Public Member Functions

 BufferedVBoxChannel ()
 ~BufferedVBoxChannel ()
bool PrepareSend (unsigned SendSize)
bool SendPartial (const void *pData, unsigned Size)
unsigned GetReplySize ()
bool Receive (void *pData, unsigned Size)
bool Valid ()
bool EndReceive ()
bool NeedRestartInVBoxMode ()

Private Types

enum  { SendHdrSize = 2 * sizeof(unsigned), RecvHdrSize = sizeof(unsigned) }
enum  { Idle, Sending, Receiving, Received }

Private Member Functions

bool PerformDataExchange ()

Private Attributes

unsigned m_BufferPos
unsigned m_TotalTransferSize
PHYSICAL_ADDRESS m_BufPhysical
enum BufferedVBoxChannel:: { ... }  m_Phase


Detailed Description

template<char * t_pBuffer, unsigned t_BufferSize>
class BufferedVBoxChannel< t_pBuffer, t_BufferSize >

Provides a fast way of using VBOX exchange interface.

Definition at line 33 of file vboxrpc.h.


Member Enumeration Documentation

template<char * t_pBuffer, unsigned t_BufferSize>
anonymous enum [private]

Enumerator:
SendHdrSize 
RecvHdrSize 

Definition at line 40 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
anonymous enum [private]

Enumerator:
Idle 
Sending 
Receiving 
Received 

Definition at line 42 of file vboxrpc.h.


Constructor & Destructor Documentation

template<char * t_pBuffer, unsigned t_BufferSize>
BufferedVBoxChannel< t_pBuffer, t_BufferSize >::BufferedVBoxChannel (  )  [inline]

Definition at line 67 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
BufferedVBoxChannel< t_pBuffer, t_BufferSize >::~BufferedVBoxChannel (  )  [inline]

Definition at line 75 of file vboxrpc.h.


Member Function Documentation

template<char * t_pBuffer, unsigned t_BufferSize>
bool BufferedVBoxChannel< t_pBuffer, t_BufferSize >::EndReceive (  )  [inline]

Definition at line 141 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
unsigned BufferedVBoxChannel< t_pBuffer, t_BufferSize >::GetReplySize (  )  [inline]

Definition at line 108 of file vboxrpc.h.

Here is the call graph for this function:

template<char * t_pBuffer, unsigned t_BufferSize>
bool BufferedVBoxChannel< t_pBuffer, t_BufferSize >::NeedRestartInVBoxMode (  )  [inline]

Definition at line 149 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
bool BufferedVBoxChannel< t_pBuffer, t_BufferSize >::PerformDataExchange (  )  [inline, private]

Definition at line 51 of file vboxrpc.h.

Here is the call graph for this function:

template<char * t_pBuffer, unsigned t_BufferSize>
bool BufferedVBoxChannel< t_pBuffer, t_BufferSize >::PrepareSend ( unsigned  SendSize  )  [inline]

Definition at line 79 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
bool BufferedVBoxChannel< t_pBuffer, t_BufferSize >::Receive ( void *  pData,
unsigned  Size 
) [inline]

Definition at line 119 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
bool BufferedVBoxChannel< t_pBuffer, t_BufferSize >::SendPartial ( const void *  pData,
unsigned  Size 
) [inline]

Definition at line 93 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
bool BufferedVBoxChannel< t_pBuffer, t_BufferSize >::Valid (  )  [inline]

Definition at line 136 of file vboxrpc.h.


Member Data Documentation

template<char * t_pBuffer, unsigned t_BufferSize>
unsigned BufferedVBoxChannel< t_pBuffer, t_BufferSize >::m_BufferPos [private]

Definition at line 36 of file vboxrpc.h.

template<char * t_pBuffer, unsigned t_BufferSize>
PHYSICAL_ADDRESS BufferedVBoxChannel< t_pBuffer, t_BufferSize >::m_BufPhysical [private]

Definition at line 38 of file vboxrpc.h.

enum { ... } BufferedVBoxChannel< t_pBuffer, t_BufferSize >::m_Phase [private]

template<char * t_pBuffer, unsigned t_BufferSize>
unsigned BufferedVBoxChannel< t_pBuffer, t_BufferSize >::m_TotalTransferSize [private]

Definition at line 37 of file vboxrpc.h.


The documentation for this class was generated from the following file:
  • E:/PROJECTS/cvsed/mixed/VIRTUA~1/kdvm/vboxrpc.h