IProvideUserData Class Reference
[InterfacesOpaque user dataProtected destructors on abstract base classes]

Inheritance diagram for IProvideUserData:

Inheritance graph
[legend]

List of all members.


Detailed Description

An interface that works with IIndexedOpaqueUserData to allow users of a class that provides opaque user data to request a named 'slot' for their data. Generally what happens is that an allocator will expose this interface and the allocated items will expose the interface to access the user data. Users of the allocator can request named slots of user data before allocating the first item and then all items are created with the required amount of user data space.

Public Member Functions

virtual
IIndexedOpaqueUserData::UserDataIndex 
RequestUserDataSlot (const _tstring &name)=0
 Request a named user data slot and get an index to use in calls to methods on IIndexedOpaqueUserData.
virtual
IIndexedOpaqueUserData::UserDataIndex 
LockUserDataSlots ()=0
 Prevent more user data slots from being allocated. Returns the number of user data slots that have been allocated.

Protected Member Functions

 ~IProvideUserData ()
 We never delete instances of this interface; you must manage the lifetime of the class that implements it.

Constructor & Destructor Documentation

~IProvideUserData (  )  [inline, protected]

We never delete instances of this interface; you must manage the lifetime of the class that implements it.


Member Function Documentation

virtual IIndexedOpaqueUserData::UserDataIndex RequestUserDataSlot ( const _tstring name  )  [pure virtual]

Request a named user data slot and get an index to use in calls to methods on IIndexedOpaqueUserData.

Implemented in CBufferAllocator, CLockFreeBufferAllocator, TSocketAllocator< JetByteTools::Socket::IAllocateDatagramSockets >, TSocketAllocator< JetByteTools::Socket::IAllocateStreamSockets >, TSocketAllocator< JetByteTools::Socket::IAllocateSequencedStreamSockets >, and TSocketAllocator< JetByteTools::Socket::IAllocateDatagramServerSockets >.

virtual IIndexedOpaqueUserData::UserDataIndex LockUserDataSlots (  )  [pure virtual]

Prevent more user data slots from being allocated. Returns the number of user data slots that have been allocated.

Implemented in CBufferAllocator, CLockFreeBufferAllocator, TSocketAllocator< JetByteTools::Socket::IAllocateDatagramSockets >, TSocketAllocator< JetByteTools::Socket::IAllocateStreamSockets >, TSocketAllocator< JetByteTools::Socket::IAllocateSequencedStreamSockets >, and TSocketAllocator< JetByteTools::Socket::IAllocateDatagramServerSockets >.


Generated on Thu Mar 26 16:40:35 2009 for JetByte Socket Tools - v6.0 by  doxygen 1.5.3