BSchemaRowIDJoin::RowNode Class Reference
[CoreDataManagerProvider]

#include <dmprovider/SchemaRowIDJoin.h>

Inheritance diagram for BSchemaRowIDJoin::RowNode:

BMetaDataNode BIndexedIterable BGenericNode BGenericIterable BnNode BnIterable SSQLBuilder INode BBinder IIterable BBinder IInterface IBinder IInterface IBinder SAtom SAtom SAtom SAtom List of all members.

Detailed Description

Node object generated for a row in a BSchemaRowIDJoin.

This object provides read/write access to a particular row in join.

Todo:
Deal with changes in the columns of the underlying tables.

Push appropriate events when the underlying table change.


Bookkeeping

Creation, destruction, locking, etc.

SContext Context ()
 Disambiguate.
virtual SValue Inspect (const sptr< IBinder > &caller, const SValue &which, uint32_t flags)
 Make both INode and IIterable accessible.
virtual lock_status_t Lock () const
 Reimplemented to use the BSchemaRowIDJoin lock.
 RowNode (const SContext &context, const sptr< BSchemaRowIDJoin > &owner, const sptr< BSchemaTableNode::RowNode > &primary, const sptr< BSchemaTableNode::RowNode > &join)
 Disambiguate.
virtual void Unlock () const
 Reimplemented to use the BSchemaRowIDJoin lock.
virtual status_t FinishAtom (const void *id)
 The destructor must call Lock(), so return FINISH_ATOM_ASYNC to avoid deadlocks.
virtual bool HoldRefForLink (const SValue &binding, uint32_t flags)
 Make this object stay around while there are links on it.
virtual ~RowNode ()
 Disambiguate.

Implementation

Make it do the right thing.

virtual size_t CountEntriesLocked () const
 Return number of entries in the join table.
virtual status_t EntryAtLocked (const sptr< IndexedIterator > &it, size_t index, uint32_t flags, SValue *key, SValue *entry)
 Implement.
virtual status_t LookupEntry (const SString &entry, uint32_t flags, SValue *node)
 Implement.
virtual SString MimeTypeLocked () const
 Return BSchemaRowIDJoin::RowMimeTypeLocked().
virtual status_t StoreMimeTypeLocked (const SString &value)
 Return B_UNSUPPORTED (clients can not modify the MIME type).


Constructor & Destructor Documentation

RowNode const SContext context,
const sptr< BSchemaRowIDJoin > &  owner,
const sptr< BSchemaTableNode::RowNode > &  primary,
const sptr< BSchemaTableNode::RowNode > &  join
 

Disambiguate.

~RowNode  )  [protected, virtual]
 

Disambiguate.


Member Function Documentation

SContext Context  )  [inline]
 

Disambiguate.

size_t CountEntriesLocked  )  const [virtual]
 

Return number of entries in the join table.

Implements BIndexedIterable.

status_t EntryAtLocked const sptr< IndexedIterator > &  it,
size_t  index,
uint32_t  flags,
SValue key,
SValue entry
[virtual]
 

Implement.

Implements BIndexedIterable.

status_t FinishAtom const void *  id  )  [protected, virtual]
 

The destructor must call Lock(), so return FINISH_ATOM_ASYNC to avoid deadlocks.

Reimplemented from SAtom.

bool HoldRefForLink const SValue binding,
uint32_t  flags
[protected, virtual]
 

Make this object stay around while there are links on it.

Reimplemented from BBinder.

SValue Inspect const sptr< IBinder > &  caller,
const SValue which,
uint32_t  flags
[virtual]
 

Make both INode and IIterable accessible.

Reimplemented from BnIterable.

lock_status_t Lock  )  const [virtual]
 

Reimplemented to use the BSchemaRowIDJoin lock.

Reimplemented from BGenericIterable.

status_t LookupEntry const SString entry,
uint32_t  flags,
SValue node
[virtual]
 

Implement.

Implements BGenericNode.

SString MimeTypeLocked  )  const [virtual]
 

Return BSchemaRowIDJoin::RowMimeTypeLocked().

Reimplemented from BMetaDataNode.

status_t StoreMimeTypeLocked const SString value  )  [virtual]
 

Return B_UNSUPPORTED (clients can not modify the MIME type).

Reimplemented from BMetaDataNode.

void Unlock  )  const [virtual]
 

Reimplemented to use the BSchemaRowIDJoin lock.

Reimplemented from BGenericIterable.


The documentation for this class was generated from the following files: