CommsDat::CMDBRecordLink Class Reference

#include <metadatabase.h>

class CommsDat::CMDBRecordLink : public CommsDat::CMDBRecordLinkBase, public CommsDat::CMDBRecordLinkBase
Public Member Functions
CMDBRecordLink()
CMDBRecordLink(TMDBElementId)
CMDBRecordLink(TMDBElementId, RECORD_TYPE *)
voidSetL(const TMDBElementId)
operator RECORD_TYPE *()
CMDBRecordLink &operator=(const TMDBElementId)
Inherited Attributes
CommsDat::CMDBElement::iElementId
CommsDat::CMDBElement::iValue
CommsDat::CMDBRecordLinkBase::iLinkedRecord
CommsDat::CMDBRecordLinkBase::iVDataTable
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CommsDat::CMDBElement::Attributes()const
CommsDat::CMDBElement::CMDBElement()
CommsDat::CMDBElement::CMDBElement(TMDBElementId)
CommsDat::CMDBElement::ClearAttributes(TMDBAttributeFlags)
CommsDat::CMDBElement::Data()
CommsDat::CMDBElement::ElementId()const
CommsDat::CMDBElement::IsNull()const
CommsDat::CMDBElement::IsSetAttribute(TMDBAttributeFlags)const
CommsDat::CMDBElement::RecordId()const
CommsDat::CMDBElement::SetAttributes(TMDBAttributeFlags)
CommsDat::CMDBElement::SetElementId(TMDBElementId)
CommsDat::CMDBElement::SetRecordId(TInt)
CommsDat::CMDBElement::SetTypeId(TMDBElementId)
CommsDat::CMDBElement::TableId()const
CommsDat::CMDBElement::TypeId()const
CommsDat::CMDBElement::~CMDBElement()
CommsDat::CMDBNumFieldBase::CMDBNumFieldBase()
CommsDat::CMDBNumFieldBase::CMDBNumFieldBase(TMDBElementId)
CommsDat::CMDBNumFieldBase::GetL()
CommsDat::CMDBNumFieldBase::SetMaxLengthL(TInt)
CommsDat::CMDBNumFieldBase::operator=(const TInt)
CommsDat::CMDBRecordLinkBase::CMDBRecordLinkBase()
CommsDat::CMDBRecordLinkBase::CMDBRecordLinkBase(TMDBElementId)
CommsDat::CMDBRecordLinkBase::CMDBRecordLinkBase(TMDBElementId,CMDBElement *)
CommsDat::CMDBRecordLinkBase::GetAttribPtr(const TInt)const
CommsDat::CMDBRecordLinkBase::GetVDataTable()const
CommsDat::CMDBRecordLinkBase::GetVDataTableStatic()
CommsDat::CMDBRecordLinkBase::operator TMDBElementId()
CommsDat::CMDBRecordLinkBase::~CMDBRecordLinkBase()
CommsDat::MMetaDatabase::CancelNotification(CMDBSession &,TRequestStatus &)
CommsDat::MMetaDatabase::DeleteL(CMDBSession &)
CommsDat::MMetaDatabase::FindL(CMDBSession &)
CommsDat::MMetaDatabase::LoadL(CMDBSession &)
CommsDat::MMetaDatabase::MMetaDatabase()
CommsDat::MMetaDatabase::ModifyL(CMDBSession &)
CommsDat::MMetaDatabase::RefreshL(CMDBSession &)
CommsDat::MMetaDatabase::RequestNotification(CMDBSession &,TRequestStatus &)
CommsDat::MMetaDatabase::StoreL(CMDBSession &)
CommsDat::MMetaDatabase::~MMetaDatabase()

Detailed Description

This container expresses a 'soft-link' to a record in another table.

The value of a CMDBRecordLink field as stored in the database is the ElementId (
) of the linked record.

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

Constructor & Destructor Documentation

CMDBRecordLink ( )

CMDBRecordLink()[inline]

Constructor/Destructor

CMDBRecordLink ( TMDBElementId )

CMDBRecordLink(TMDBElementIdaLinkingFieldId)[inline]

Constructor

CMDBRecordLink ( TMDBElementId, RECORD_TYPE * )

CMDBRecordLink(TMDBElementIdaLinkingFieldId,
RECORD_TYPE *aLinkedRecord
)[inline]

Constructor

Member Function Documentation

SetL ( const TMDBElementId )

voidSetL(const TMDBElementIdaValue)[inline]

Set the field value (this will be validated on StoreL)

operator RECORD_TYPE * ( )

operator RECORD_TYPE *()[inline]

conversion operator for linked record of this type

operator= ( const TMDBElementId )

CMDBRecordLink &operator=(const TMDBElementIdaValue)[inline]

Assignment operator for field value which sets the id of the element list