This is used to create and represent a shared memory segment. More...
#include <dcpp.h>
Public Types | |
enum | SharedType { Create = DITS_SHARE_CREATE, Gblsec = DITS_SHARE_GBLSEC, Global = DITS_SHARE_GLOBAL, ShMem = DITS_SHARE_SHMEM, MMap = DITS_SHARE_MMAP } |
This enum gives the various shared memory types. More... | |
Public Member Functions | |
DcppShared (long Size, StatusType *const status, const SharedType Type=Create, const int CreateIt=true, const char *const Name="", const int Key=0, void *const Address=0) | |
Basic Shared memory segment constructor. More... | |
DcppShared (const SdsId &Template, StatusType *const status, const SharedType Type=Create, const int CreateIt=true, const char *const Name="", const int Key=0, void *const Address=0) | |
Shared memory segment constructor - for an SDS structure. More... | |
DcppShared (DitsSharedMemInfoType *Info, void *Address=0, SdsIdType ID=0, bool Free=false) | |
Shared memory segment constructor - using existing segment. More... | |
void | GetInfo (const DitsSharedMemInfoType **const Info, StatusType *const status) const |
Get share memory details - const version. More... | |
void | GetInfo (DitsSharedMemInfoType **const Info, StatusType *const status) |
Get share memory details - non-const version. More... | |
SdsId & | GetSds () |
Return Sds structure id. More... | |
const SdsId & | GetSds () const |
Return Sds structure id - const version. More... | |
void | GetAddress (const void **Address, StatusType *status) const |
Return the shared memory address - const version. More... | |
void | GetAddress (void **Address, StatusType *status) |
Return the shared memory address - non-const version. More... | |
virtual | ~DcppShared () |
Destructor - free shared memory and SDS ID. More... | |
This is used to create and represent a shared memory segment.
When sending bulk data DRAMA messages, it is necessary to describe the bulk data shared memory segment. This type does this.
This enum gives the various shared memory types.
This enum type is used with the DcppShared constructor to select the type of shared memory segment. The value of the argument of this type determines how some of the other arguments are used.
See DitsDefineShared() for full details on this, refering to the enum value constants.
|
inline |
Basic Shared memory segment constructor.
Size | The size in bytes of the shared memory segment |
status | Inherited status. |
Type | The type of the shared memory segement. |
CreateIt | If set true, the segement is created. |
Name | The name of the shared memory segement, if required. |
Key | The Key for the shared memory segement, if required. |
Address | The address of the shared memory segment, if required. |
|
inline |
Shared memory segment constructor - for an SDS structure.
This version takes an SDS ID, which represents the structure to be stored in the shared memory segment.
Template | The SdsId which contains the template structure. This is often a structure which has been created but does not contain data as yet - it has not been defined, which when large arrays are involved, means is does not take up much space as yet. It will be exported into the shared memory segment with this data defined. |
status | Inherited status. |
Type | The type of the shared memory segement. |
CreateIt | If set true, the segement is created. |
Name | The name of the shared memory segement, if required. |
Key | The Key for the shared memory segement, if required. |
Address | The address of the shared memory segment, if required. |
References SdsId::ShallowCopy().
|
inline |
Shared memory segment constructor - using existing segment.
This constructor initializes the object from an existing DitsSharedMemInfoType structure. Note, Address will only be known if passed in. Similary for the Sds ID. The SdsdD (if any) and shared memory segement are only released when by this object's destructure if the Free flag is set true.
Info | The shared memory details. |
Address | The address of the shared memory segment. |
ID | The SDS ID of any structure in the segment. |
Free | If set true, then the shared memory segment and SDS ID are freeed when the object destructor is invoked. |
References SdsId::ShallowCopy().
|
inlinevirtual |
Destructor - free shared memory and SDS ID.
|
inline |
Return the shared memory address - const version.
Address | The addesss of the shared memory is written here. |
status | Inherited status. |
|
inline |
Return the shared memory address - non-const version.
Address | The addesss of the shared memory is written here. |
status | Inherited status. |
|
inline |
Get share memory details - const version.
This function returns the shared memory details appropiate for use by DITS functions, const version.
Info | The shared memory details are written here. |
status | Inherited status. |
|
inline |
Get share memory details - non-const version.
This function returns the shared memory details appropiate for use by DITS functions, non-const version.
Info | The shared memory details are written here. |
status | Inherited status. |
|
inline |
Return Sds structure id.
Just returns the SDS id assoicated with this shared memory segment. If none is assoicated, this will be a null SDS id
|
inline |
Return Sds structure id - const version.
Just returns the SDS id assoicated with this shared memory segment. If none is assoicated, this will be a null SDS id
Click here for the DRAMA home page and here for the AAO home page.
For more information, contact tjf@aao.gov.au Generated on Mon Feb 22 2016 13:58:31 for AAO DRAMA C++ Interfaces by