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

MemoryBuffer Class Reference

#include <CGBuffer.h>

List of all members.

Public Member Functions

void Release ()
MemoryBufferRetain ()

Static Public Member Functions

static MemoryBufferCreate (size_t size)

Public Attributes

char *const data

Private Member Functions

 MemoryBuffer (char *const data, size_t size)
 ~MemoryBuffer ()

Private Attributes

int ref_count
size_t size

Friends

class _MemoryBuffer


Constructor & Destructor Documentation

MemoryBuffer::MemoryBuffer char *const   data,
size_t  size
[inline, private]
 

Definition at line 109 of file CGBuffer.h.

References data, and ref_count.

Referenced by Create().

00109                                               : size(size), ref_count(1), data(data)
00110   {
00111   }

MemoryBuffer::~MemoryBuffer  )  [inline, private]
 

Definition at line 113 of file CGBuffer.h.

References data, and size.

00114   {
00115     vm_deallocate((vm_map_t) mach_task_self(), (vm_address_t) data, size);
00116   }


Member Function Documentation

static MemoryBuffer* MemoryBuffer::Create size_t  size  )  [inline, static]
 

Definition at line 136 of file CGBuffer.h.

References data, and MemoryBuffer().

Referenced by CGBuffer::CreateCGContext(), and Datafile::Open().

00137   {
00138     char* data;
00139     kern_return_t err = vm_allocate((vm_map_t) mach_task_self(), (vm_address_t*) &data, size, TRUE);
00140 
00141     return (err == KERN_SUCCESS) ? new MemoryBuffer(data, size) : NULL;
00142   }

void MemoryBuffer::Release  )  [inline]
 

Definition at line 130 of file CGBuffer.h.

References ref_count.

Referenced by CGBuffer::CreateCGContext(), CGBuffer::Reset(), and Datafile::Reset().

00131   {
00132     if (--ref_count == 0)
00133       delete this;
00134   }

MemoryBuffer* MemoryBuffer::Retain  )  [inline]
 

Definition at line 124 of file CGBuffer.h.

References ref_count.

00125   {
00126     ++ref_count;
00127     return this;
00128   }


Friends And Related Function Documentation

friend class _MemoryBuffer [friend]
 

Definition at line 120 of file CGBuffer.h.


Member Data Documentation

char* const MemoryBuffer::data
 

Definition at line 122 of file CGBuffer.h.

Referenced by Create(), CGBuffer::CreateCGContext(), CGBuffer::LoadJPEG(), LoadJPEGImage(), MemoryBuffer(), Datafile::Read(), and ~MemoryBuffer().

int MemoryBuffer::ref_count [private]
 

Definition at line 107 of file CGBuffer.h.

Referenced by MemoryBuffer(), Release(), and Retain().

size_t MemoryBuffer::size [private]
 

Definition at line 106 of file CGBuffer.h.

Referenced by ~MemoryBuffer().


The documentation for this class was generated from the following file:
Generated on Sat Jan 14 22:33:27 2006 for Celestia by  doxygen 1.4.1