Table 4-1 KcsLoadable
| Public Member | Description |
| typedef KcsStatus (*KCS_FUNC_INIT_PTR) (long, long, long *, long *); |
|
| virtual KcsShareable *
attach(long aHowMany = 1,
KcsAttachType aAttachFlag = KcsAttMem, KcsStatus *aStatus = NULL);
| Calls changePermanentUseCount(). If aAttachflag = KcsMemFile, also calls KcsShareable::attach. Returns pointer to the object. |
| virtual long
changePermanentUseCount(KcsStatus *aStatus, long aDelta);
| Increments or decrements permanent use count of a particular chunkset/chunkid entry in the UID map. Calls KcsChunkSet::updateChunkUseCount() to update the chunk map. Returns new use count. |
static KcsStatus
deleteChunkSetsUIDMapEntries(KcsChunkSet *aCS); | Deletes all the entries in the UID map associated
with a particular chunk set. |
| virtual void
dettach(long aHowMany = 1, KcsAttachType aDettachFlag = KcsAttMem, KcsStatus *aStatus = NULL);
| If a chunk Id is illegal, searches UID map for the chunk id.If permanent use count == 0, deletes chunk from file. Calls KcsShareable::dettach(). |
virtual KcsChunkId
getChunkId(KcsStatus *aStatus, KcsChunkSet *aCS); | Looks in the UID map and returns the chunk Id
associated with this object and aCS. If no entry is
found in the UID map, returns
KCS_OBJMAP_ENTRY_NOT_FOUND and
KcsIllegalChunkId. |
| virtual KcsChunkId getChunkId(); | Very useful function; returns the chunk Id portion of the UID associated with this object. |
| virtual KcsChunkSet *getChunkSet(); | Very useful function; returns the chunk set portion of the UID associated with this object. |
| static KcsLoadable *
getObjFromUIDMap(KcsStatus *aStatus, KcsChunkSet *aCS, KcsChunkId aChunkId);
| Checks if object identified by this chunk set and chunk Id is instantiated. If object is in UID map, returns pointer to the object; else returns NULL. |
| virtual KcsStatus isLoadable(); | Returns KcsSuccess if the loadable object can load and regenerate itself. |
| virtual long isLoaded(); | Returns non-zero if the loadable object its state loaded. |