#include <metadatabase.h>
class CommsDat::CMDBRecordLink : public CommsDat::CMDBRecordLinkBase |
Public Member Functions | |
---|---|
CMDBRecordLink() | |
CMDBRecordLink(TMDBElementId) | |
CMDBRecordLink(TMDBElementId, RECORD_TYPE *) | |
void | SetL(const TMDBElementId) |
operator RECORD_TYPE *() | |
CMDBRecordLink & | operator=(const TMDBElementId) |
Inherited Attributes | |
---|---|
CommsDat::CMDBElement::iElementId | |
CommsDat::CMDBElement::iValue | |
CommsDat::CMDBRecordLinkBase::iLinkedRecord |
This container expresses a 'soft-link' to a record in another table.
The linked record itself can be viewed via the iLinkedRecord member and its accessors
If a record is loaded then the iLinkedRecord must be created explicitly by the client - either on construction, or by use of the CreateLinkL or SetLinkL functions. Often the linked record is not required by a caller. So creating it automatically would just waste memory
However in the case of an explicit load of a LinkedRecord field the ILinkedRecord is created.
When instantiating iLinkedRecord directly take care to match the object's type to the Type ID that will be found at the linking element. It is better to use the CreateLinkL or SetLinkL functions to ensure type safety
Calling MMetaDatabase functions on a CMDRecordLink field directly will perform the operation on the field and also the linked record if it is present
CMDBRecordLink | ( | TMDBElementId | aLinkingFieldId, |
RECORD_TYPE * | aLinkedRecord | ||
) | [inline] |
Constructor
void | SetL | ( | const TMDBElementId | aValue | ) | [inline] |
Set the field value (this will be validated on StoreL)
operator RECORD_TYPE * | ( | ) | [inline] |
conversion operator for linked record of this type
CMDBRecordLink & | operator= | ( | const TMDBElementId | aValue | ) | [inline] |
Reimplemented from CommsDat::CMDBRecordLinkBase::operator=(const TMDBElementId)
Assignment operator for field value which sets the id of the element list