Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

ark::MemoryMessage Struct Reference

#include <MemoryMessage.h>

List of all members.

Public Types

enum  Command {
  RemoveFromServer = 1, DeleteBuffer, DeletePtr, DeleteArray,
  ReportError
}

Public Member Functions

 MemoryMessage ()
 MemoryMessage (Command c, unsigned p1=0, unsigned p2=0)
 MemoryMessage (void *b, unsigned n)
template<typename T>
 MemoryMessage (T *ptr, bool isArray=false)

Public Attributes

Command cmd
union {
   struct {
      void *   data
      unsigned   bytes
   }   buffer
   struct {
      detail::DestroyerBase *   cmd
      unsigned char   cmdStorage [sizeof(detail::ObjectDestroyer< void >)]
   }   destroyer
   struct {
      int   int1
      int   int2
   }   params
contents


Detailed Description

Encapsulates communication between the gate and the server.
Note:
The object destruction semantics assume that a void* is the same size as a T*. If this is not the case for your platform (unlikely) then you may have to change the implementation of struct destroyer.


Member Enumeration Documentation

enum ark::MemoryMessage::Command
 

Enumerator:
RemoveFromServer  Requests immediate removal of gate from the MemoryServer.
DeleteBuffer  Requests that operator delete [] be called on a cast to unsigned char*.
DeletePtr  Requests that operator delete is called on an object.
DeleteArray  Requests that operator delete [] be called on a typed array.
ReportError  Reports an error in the clients thread.


Constructor & Destructor Documentation

ark::MemoryMessage::MemoryMessage  )  [inline]
 

ark::MemoryMessage::MemoryMessage Command  c,
unsigned  p1 = 0,
unsigned  p2 = 0
[inline]
 

ark::MemoryMessage::MemoryMessage void *  b,
unsigned  n
[inline]
 

template<typename T>
ark::MemoryMessage::MemoryMessage T *  ptr,
bool  isArray = false
[inline]
 


Member Data Documentation

struct { ... } ark::MemoryMessage::buffer
 

unsigned ark::MemoryMessage::bytes
 

detail::DestroyerBase* ark::MemoryMessage::cmd
 

Command ark::MemoryMessage::cmd
 

unsigned char ark::MemoryMessage::cmdStorage[sizeof(detail::ObjectDestroyer< void >)]
 

union { ... } ark::MemoryMessage::contents
 

void* ark::MemoryMessage::data
 

struct { ... } ark::MemoryMessage::destroyer
 

int ark::MemoryMessage::int1
 

int ark::MemoryMessage::int2
 

struct { ... } ark::MemoryMessage::params
 


The documentation for this struct was generated from the following file:
Generated on Tue Sep 6 14:54:41 2005 for Arkonnekt Sound by  doxygen 1.4.4