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,

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

Detailed Description

Encapsulates communication between the gate and the server.
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

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

ark::MemoryMessage::MemoryMessage void *  b,
unsigned  n

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

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