LLInventoryModel Class Reference

#include <llinventorymodel.h>

Collaboration diagram for LLInventoryModel:

Collaboration graph
[legend]

List of all members.

Public Types

enum  e_has_children { CHILDREN_NO, CHILDREN_YES, CHILDREN_MAYBE }
enum  { EXCLUDE_TRASH = FALSE, INCLUDE_TRASH = TRUE }
typedef enum
LLInventoryModel::e_has_children 
EHasChildren
typedef LLDynamicArray
< LLPointer
< LLViewerInventoryCategory > > 
cat_array_t
typedef LLDynamicArray
< LLPointer
< LLViewerInventoryItem > > 
item_array_t
typedef std::map< std::string,
std::string > 
response_t
typedef std::vector< response_toptions_t
typedef std::vector
< LLCategoryUpdate
update_list_t
typedef std::map< LLUUID,
LLInitializedS32
update_map_t

Public Member Functions

 LLInventoryModel ()
 ~LLInventoryModel ()
BOOL isObjectDescendentOf (const LLUUID &obj_id, const LLUUID &cat_id)
LLInventoryObjectgetObject (const LLUUID &id) const
LLViewerInventoryItemgetItem (const LLUUID &id) const
LLViewerInventoryCategorygetCategory (const LLUUID &id) const
S32 getItemCount () const
S32 getCategoryCount () const
void getDirectDescendentsOf (const LLUUID &cat_id, cat_array_t *&categories, item_array_t *&items) const
void collectDescendents (const LLUUID &id, cat_array_t &categories, item_array_t &items, BOOL include_trash)
void collectDescendentsIf (const LLUUID &id, cat_array_t &categories, item_array_t &items, BOOL include_trash, LLInventoryCollectFunctor &add)
bool isInventoryUsable ()
U32 updateItem (const LLViewerInventoryItem *item)
void updateCategory (const LLViewerInventoryCategory *cat)
void moveObject (const LLUUID &object_id, const LLUUID &cat_id)
void deleteObject (const LLUUID &id)
void purgeDescendentsOf (const LLUUID &id)
void deleteFromServer (LLDynamicArray< LLUUID > &category_ids, LLDynamicArray< LLUUID > &item_ids)
void addObserver (LLInventoryObserver *observer)
void removeObserver (LLInventoryObserver *observer)
BOOL containsObserver (LLInventoryObserver *observer)
LLUUID findCategoryUUIDForType (LLAssetType::EType preferred_type, bool create_folder=true)
void notifyObservers ()
void addChangedMask (U32 mask, const LLUUID &referent)
const std::set< LLUUID > & getChangedIDs ()
void fetchDescendentsOf (const LLUUID &folder_id)
void cache (const LLUUID &parent_folder_id, const LLUUID &agent_id)
void appendPath (const LLUUID &id, LLString &path)
LLUUID createNewCategory (const LLUUID &parent_id, LLAssetType::EType preferred_type, const LLString &name)
bool loadSkeleton (const options_t &options, const LLUUID &owner_id)
bool loadMeat (const options_t &options, const LLUUID &owner_id)
void buildParentChildMap ()
void accountForUpdate (const LLCategoryUpdate &update)
void accountForUpdate (const update_list_t &updates)
void accountForUpdate (const update_map_t &updates)
EHasChildren categoryHasChildren (const LLUUID &cat_id) const
bool isCategoryComplete (const LLUUID &cat_id) const
void dumpInventory ()

Static Public Member Functions

static void bulkFetch (std::string url)
static void registerCallbacks (LLMessageSystem *msg)
static void startBackgroundFetch (const LLUUID &cat_id=LLUUID::null)
static void stopBackgroundFetch ()
static BOOL backgroundFetchActive ()
static bool isEverythingFetched ()
static void backgroundFetch (void *)
static void incrBulkFetch (S16 fetching)

Protected Types

typedef std::set< LLUUIDchanged_items_t
typedef std::map< LLUUID,
LLPointer
< LLViewerInventoryCategory > > 
cat_map_t
typedef std::map< LLUUID,
LLPointer
< LLViewerInventoryItem > > 
item_map_t
typedef std::map< LLUUID,
cat_array_t * > 
parent_cat_map_t
typedef std::map< LLUUID,
item_array_t * > 
parent_item_map_t
typedef std::set
< LLInventoryObserver * > 
observer_list_t

Protected Member Functions

void addCategory (LLViewerInventoryCategory *category)
void addItem (LLViewerInventoryItem *item)
LLUUID findCatUUID (LLAssetType::EType preferred_type)
void empty ()
bool messageUpdateCore (LLMessageSystem *msg, bool do_accounting)

Static Protected Member Functions

static bool loadFromFile (const char *filename, cat_array_t &categories, item_array_t &items)
static bool saveToFile (const char *filename, const cat_array_t &categories, const item_array_t &items)
static void processUpdateCreateInventoryItem (LLMessageSystem *msg, void **)
static void processRemoveInventoryItem (LLMessageSystem *msg, void **)
static void processUpdateInventoryFolder (LLMessageSystem *msg, void **)
static void processRemoveInventoryFolder (LLMessageSystem *msg, void **)
static void processSaveAssetIntoInventory (LLMessageSystem *msg, void **)
static void processBulkUpdateInventory (LLMessageSystem *msg, void **)
static void processInventoryDescendents (LLMessageSystem *msg, void **)
static void processMoveInventoryItem (LLMessageSystem *msg, void **)
static void processFetchInventoryReply (LLMessageSystem *msg, void **)
static bool isBulkFetchProcessingComplete ()

Protected Attributes

U32 mModifyMask
changed_items_t mChangedItemIDs
cat_map_t mCategoryMap
item_map_t mItemMap
LLPointer< LLViewerInventoryItemmLastItem
parent_cat_map_t mParentChildCategoryTree
parent_item_map_t mParentChildItemTree
observer_list_t mObservers
bool mIsAgentInvUsable

Static Protected Attributes

static cat_map_t sBulkFetchMap
static BOOL sBackgroundFetchActive = FALSE
static BOOL sTimelyFetchPending = FALSE
static BOOL sAllFoldersFetched = FALSE
static BOOL sFullFetchStarted = FALSE
static S32 sNumFetchRetries = 0
static LLFrameTimer sFetchTimer
static F32 sMinTimeBetweenFetches = 0.3f
static F32 sMaxTimeBetweenFetches = 10.f
static S16 sBulkFetchCount = 0

Classes

class  fetchDescendentsResponder
struct  LLCategoryUpdate
struct  LLInitializedS32


Detailed Description

Definition at line 96 of file llinventorymodel.h.


Member Typedef Documentation

Definition at line 107 of file llinventorymodel.h.

Definition at line 108 of file llinventorymodel.h.

typedef std::map<std::string, std::string> LLInventoryModel::response_t

Definition at line 312 of file llinventorymodel.h.

Definition at line 313 of file llinventorymodel.h.

Definition at line 336 of file llinventorymodel.h.

Definition at line 348 of file llinventorymodel.h.

typedef std::set<LLUUID> LLInventoryModel::changed_items_t [protected]

Definition at line 425 of file llinventorymodel.h.

Definition at line 433 of file llinventorymodel.h.

Definition at line 434 of file llinventorymodel.h.

typedef std::map<LLUUID, cat_array_t*> LLInventoryModel::parent_cat_map_t [protected]

Definition at line 443 of file llinventorymodel.h.

typedef std::map<LLUUID, item_array_t*> LLInventoryModel::parent_item_map_t [protected]

Definition at line 444 of file llinventorymodel.h.

Definition at line 448 of file llinventorymodel.h.


Member Enumeration Documentation

Enumerator:
CHILDREN_NO 
CHILDREN_YES 
CHILDREN_MAYBE 

Definition at line 99 of file llinventorymodel.h.

anonymous enum

Enumerator:
EXCLUDE_TRASH 
INCLUDE_TRASH 

Definition at line 172 of file llinventorymodel.h.


Constructor & Destructor Documentation

LLInventoryModel::LLInventoryModel (  ) 

Definition at line 181 of file llinventorymodel.cpp.

LLInventoryModel::~LLInventoryModel (  ) 

Definition at line 189 of file llinventorymodel.cpp.

References empty(), and mObservers.

Here is the call graph for this function:


Member Function Documentation

BOOL LLInventoryModel::isObjectDescendentOf ( const LLUUID obj_id,
const LLUUID cat_id 
)

LLInventoryObject * LLInventoryModel::getObject ( const LLUUID id  )  const

LLViewerInventoryItem * LLInventoryModel::getItem ( const LLUUID id  )  const

Definition at line 240 of file llinventorymodel.cpp.

References mItemMap, mLastItem, LLPointer< Type >::notNull(), and NULL.

Referenced by LLGestureManager::activateGesture(), LLAgent::addWearabletoAgentInventoryDone(), attach_label(), LLFloaterGesture::buildGestureList(), LLTracker::cacheLandmarkPosition(), LLInventoryExistenceObserver::changed(), LLInventoryFetchComboObserver::changed(), LLInventoryFetchObserver::changed(), LLInventoryCompletionObserver::changed(), confirm_replace_attachment_rez(), LLAgent::copyWearableToInventory(), LLGestureManager::deactivateSimilarGestures(), deleteFromServer(), detach_label(), LLDelayedGestureError::doDialog(), LLCategoryDropObserver::done(), LLOutfitObserver::done(), LLFloaterAvatarPicker::doSelectionChange(), LLViewerGesture::doTrigger(), LLCallingCardBridge::dragOrDrop(), enable_save_into_inventory(), LLInventoryFetchComboObserver::fetch(), LLInventoryFetchObserver::fetchItems(), LLFloaterProperties::findItem(), LLEmbeddedNotecardOpener::fire(), CreateGestureCallback::fire(), RezAttachmentCallback::fire(), WearOnAvatarCallback::fire(), LLPreview::getItem(), LLItemBridge::getItem(), getObject(), LLAgent::getWearableInventoryItem(), LLAgent::getWearablePermMask(), LLToolDragAndDrop::handleCopyProtectedItem(), LLPreviewGesture::handleDragAndDrop(), LLGroupDropTarget::handleDragAndDrop(), LLDropTarget::handleDragAndDrop(), LLAttachmentEnableDrop::handleEvent(), LLAttachObject::handleEvent(), LLBeginIMSession::handleEvent(), inventory_offer_callback(), LLAgent::isWearableCopyable(), LLAgent::isWearableModifiable(), landmark_menu_action(), LLPreviewLSL::loadAsset(), LLToolDragAndDrop::locateInventory(), LLAgent::makeNewOutfit(), messageUpdateCore(), moveObject(), LLFloaterLandmark::onBtnDelete(), LLFloaterLandmark::onBtnEdit(), LLFloaterGesture::onClickEdit(), LLFloaterClothing::onClickTakeOff(), LLFloaterClothing::onClickWear(), LLPreviewGesture::onCommitActive(), LLFloaterClothing::onCommitList(), LLFloaterWorldMap::onLandmarkComboCommit(), LLPreviewLSL::onLoadComplete(), LLPreviewLSL::onSaveComplete(), LLPreviewNotecard::onSaveComplete(), LLPreviewGesture::onSaveComplete(), LLFloaterTexturePicker::onSelectionChange(), LLFloaterLandmark::onSelectionChange(), LLAgent::onSetWearableDialog(), LLFloaterTexturePicker::onTextureSelect(), LLWearableBridge::onWearOnAvatarArrived(), open_offer(), LLFolderBridge::pasteFromClipboard(), LLObjectBridge::performAction(), LLGestureBridge::performAction(), LLItemBridge::performAction(), process_logout_reply(), processBulkUpdateInventory(), processMoveInventoryItem(), processRemoveInventoryItem(), processSaveAssetIntoInventory(), LLInvFVBridge::removeBatch(), LLInvFVBridge::removeBatchNoCheck(), LLAgent::saveWearable(), LLAgent::saveWearableAs(), LLSelectMgr::selectionSetImage(), LLFloaterTexturePicker::setImageID(), LLTracker::setLandmarkVisited(), LLAgent::setWearableName(), updateItem(), LLUpdateAgentInventoryResponder::uploadComplete(), wear_inventory_category_on_avatar_step3(), and LLWearable::writeToAvatar().

Here is the call graph for this function:

LLViewerInventoryCategory * LLInventoryModel::getCategory ( const LLUUID id  )  const

Definition at line 260 of file llinventorymodel.cpp.

References mCategoryMap, and NULL.

Referenced by accountForUpdate(), appendPath(), backgroundFetch(), LLToolDragAndDrop::beginDrag(), LLToolDragAndDrop::beginMultiDrag(), LLFolderBridge::buildContextMenu(), bulkFetch(), cache(), categoryHasChildren(), LLInventoryFetchComboObserver::changed(), LLInventoryFetchDescendentsObserver::changed(), LLInventoryCopyAndWearObserver::changed(), deleteFromServer(), LLOutfitObserver::done(), LLFolderBridge::dragCategoryIntoFolder(), LLCallingCardBridge::dragOrDrop(), LLInventoryFetchComboObserver::fetch(), LLInventoryFetchDescendentsObserver::fetchDescendents(), fetchDescendentsOf(), LLFolderBridge::folderOptionsMenu(), LLFolderBridge::getCategory(), getObject(), handle_take(), LLToolDragAndDrop::handleCopyProtectedCategory(), LLDropTarget::handleDragAndDrop(), inventory_offer_callback(), isCategoryComplete(), LLFolderBridge::isItemRemovable(), isObjectDescendentOf(), LLFolderBridge::isUpToDate(), LLToolDragAndDrop::locateInventory(), moveObject(), LLItemBridge::performAction(), processBulkUpdateInventory(), processInventoryDescendents(), processRemoveInventoryFolder(), processUpdateInventoryFolder(), purgeDescendentsOf(), LLInvFVBridge::removeBatch(), LLInvFVBridge::removeBatchNoCheck(), LLInventoryModel::fetchDescendentsResponder::result(), updateCategory(), wear_inventory_category_on_avatar_step2(), and LLWearInventoryCategoryCallback::~LLWearInventoryCategoryCallback().

Here is the caller graph for this function:

S32 LLInventoryModel::getItemCount (  )  const

Definition at line 271 of file llinventorymodel.cpp.

References mItemMap.

Referenced by LLInventoryView::changed(), and LLInventoryView::draw().

Here is the caller graph for this function:

S32 LLInventoryModel::getCategoryCount (  )  const

Definition at line 276 of file llinventorymodel.cpp.

References mCategoryMap.

void LLInventoryModel::getDirectDescendentsOf ( const LLUUID cat_id,
cat_array_t *&  categories,
item_array_t *&  items 
) const

Definition at line 286 of file llinventorymodel.cpp.

References get_ptr_in_map(), mParentChildCategoryTree, and mParentChildItemTree.

Referenced by accountForUpdate(), LLInventoryPanel::buildNewViews(), init_landmark_menu(), isCategoryComplete(), LLInventoryFetchDescendentsObserver::isComplete(), and LLCanCache::operator()().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLInventoryModel::collectDescendents ( const LLUUID id,
cat_array_t categories,
item_array_t items,
BOOL  include_trash 
)

void LLInventoryModel::collectDescendentsIf ( const LLUUID id,
cat_array_t categories,
item_array_t items,
BOOL  include_trash,
LLInventoryCollectFunctor add 
)

bool LLInventoryModel::isInventoryUsable (  ) 

Definition at line 488 of file llinventorymodel.cpp.

References gAgent, LLAgent::getInventoryRootID(), mIsAgentInvUsable, and LLUUID::notNull().

Referenced by createNewCategory(), findCategoryUUIDForType(), moveObject(), updateCategory(), and updateItem().

Here is the call graph for this function:

Here is the caller graph for this function:

U32 LLInventoryModel::updateItem ( const LLViewerInventoryItem item  ) 

Definition at line 501 of file llinventorymodel.cpp.

References LLInventoryObserver::ADD, addChangedMask(), addItem(), LLAssetType::AT_CALLINGCARD, LLAssetType::AT_LOST_AND_FOUND, LLInventoryObserver::CALLING_CARD, CATEGORIZE_LOST_AND_FOUND_ID, LLViewerInventoryItem::copyViewerItem(), findCategoryUUIDForType(), get_ptr_in_map(), getItem(), LLInventoryObject::getName(), LLInventoryObject::getParentUUID(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), LLInventoryObserver::INTERNAL, isInventoryUsable(), LLUUID::isNull(), LLInventoryObserver::LABEL, llendl, llinfos, llwarns, mParentChildItemTree, LLInventoryObserver::NONE, LLDynamicArray< Type, BlockSize >::put(), LLDynamicArray< Type, BlockSize >::removeObj(), LLInventoryObserver::STRUCTURE, and TRUE.

Referenced by LLInvFVBridge::changeItemParent(), container_inventory_arrived(), LLToolDragAndDrop::dad3dActivateGesture(), CreateGestureCallback::fire(), handle_grab_texture(), messageUpdateCore(), LLFloaterLandmark::onBtnDelete(), LLPreview::onCommit(), LLPreviewGesture::onCommitActive(), LLFloaterProperties::onCommitDescription(), LLFloaterProperties::onCommitName(), LLFloaterProperties::onCommitPermissions(), LLPreview::onDiscardBtn(), LLPreviewLSL::onSaveComplete(), LLPreviewNotecard::onSaveComplete(), LLPreviewGesture::onSaveComplete(), LLGestureBridge::performAction(), processBulkUpdateInventory(), processInventoryDescendents(), processMoveInventoryItem(), remove_inventory_category_from_avatar_step2(), LLObjectBridge::renameItem(), LLItemBridge::renameItem(), LLInventoryModel::fetchDescendentsResponder::result(), LLAgent::saveWearable(), LLFloaterProperties::updateSaleInfo(), LLUpdateAgentInventoryResponder::uploadComplete(), and LLNewAgentInventoryResponder::uploadComplete().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLInventoryModel::updateCategory ( const LLViewerInventoryCategory cat  ) 

void LLInventoryModel::moveObject ( const LLUUID object_id,
const LLUUID cat_id 
)

void LLInventoryModel::deleteObject ( const LLUUID id  ) 

void LLInventoryModel::purgeDescendentsOf ( const LLUUID id  ) 

void LLInventoryModel::deleteFromServer ( LLDynamicArray< LLUUID > &  category_ids,
LLDynamicArray< LLUUID > &  item_ids 
)

void LLInventoryModel::addObserver ( LLInventoryObserver observer  ) 

void LLInventoryModel::removeObserver ( LLInventoryObserver observer  ) 

BOOL LLInventoryModel::containsObserver ( LLInventoryObserver observer  ) 

Definition at line 933 of file llinventorymodel.cpp.

References mObservers.

LLUUID LLInventoryModel::findCategoryUUIDForType ( LLAssetType::EType  preferred_type,
bool  create_folder = true 
)

Definition at line 298 of file llinventorymodel.cpp.

References createNewCategory(), findCatUUID(), gAgent, LLAgent::getInventoryRootID(), isInventoryUsable(), LLUUID::isNull(), LLUUID::notNull(), and NULL.

Referenced by LLFolderBridge::buildContextMenu(), buildParentChildMap(), LLEmptyLostAndFound::callback_empty_lost_and_found(), LLEmptyTrash::callback_empty_trash(), callingcard_offer_callback(), LLTaskInvFVBridge::commitBuyItem(), LLSelectMgr::confirmDelete(), container_inventory_arrived(), copy_inventory_from_notecard(), create_new_landmark(), LLToolDragAndDrop::dad3dActivateGesture(), LLToolDragAndDrop::dad3dRezAttachmentFromInv(), LLToolDragAndDrop::dad3dRezObjectOnLand(), LLToolDragAndDrop::dad3dRezObjectOnObject(), LLToolDragAndDrop::dad3dWearCategory(), LLToolDragAndDrop::dad3dWearItem(), do_create(), LLDiscardAgentOffer::done(), LLOutfitObserver::done(), LLFolderBridge::dragCategoryIntoFolder(), LLFolderBridge::dragItemIntoFolder(), LLToolDragAndDrop::dropObject(), force_take_copy(), friendship_offer_callback(), handle_grab_texture(), handle_take(), LLWorldCreateLandmark::handleEvent(), LLToolsTakeCopy::handleEvent(), LLEmptyTrashFloater::handleEvent(), LLTextureCtrl::handleMouseDown(), init_landmark_menu(), LLInvFVBridge::isInTrash(), LLFolderViewFolder::isTrash(), LLAgent::makeNewOutfit(), LLFloaterOpenObject::moveToInventory(), LLFloaterLandmark::onBtnDelete(), LLFloaterLandmark::onBtnNew(), LLFloaterBuyContents::onClickBuy(), LLFloaterBuy::onClickBuy(), LLPreview::onDiscardBtn(), LLPanelEditWearable::onSelectAutoWearOption(), open_offer(), LLInventoryPanel::openDefaultFolderForType(), process_improved_im(), LLAgent::recoverMissingWearable(), LLInvFVBridge::removeBatchNoCheck(), LLFolderBridge::removeItem(), LLItemBridge::removeItem(), LLPanelFriends::requestFriendship(), LLFolderBridge::restoreItem(), LLItemBridge::restoreItem(), LLAgent::saveWearableAs(), LLPreviewGesture::show(), LLFloaterWorldMap::show(), LLPostTeleportNotifiers::tick(), updateItem(), upload_done_callback(), and upload_new_resource().

Here is the call graph for this function:

void LLInventoryModel::notifyObservers (  ) 

Definition at line 941 of file llinventorymodel.cpp.

References LLInventoryObserver::changed(), mChangedItemIDs, mModifyMask, mObservers, and LLInventoryObserver::NONE.

Referenced by LLAgent::addWearabletoAgentInventoryDone(), LLVOAvatar::attachObject(), LLEmptyLostAndFound::callback_empty_lost_and_found(), LLEmptyTrash::callback_empty_trash(), LLInvFVBridge::changeCategoryParent(), LLInvFVBridge::changeItemParent(), container_inventory_arrived(), LLFolderBridge::createNewCategory(), LLToolDragAndDrop::dad3dActivateGesture(), LLVOAvatar::detachObject(), do_create(), LLDiscardAgentOffer::done(), LLToolDragAndDrop::dropInventory(), LLToolDragAndDrop::dropObject(), LLToolDragAndDrop::dropScript(), LLInventoryModel::fetchDescendentsResponder::error(), CreateGestureCallback::fire(), handle_grab_texture(), LLToolDragAndDrop::handleCopyProtectedCategory(), LLToolDragAndDrop::handleCopyProtectedItem(), LLToolDragAndDrop::handleDropTextureProtections(), LLEmptyTrashFloater::handleEvent(), LLPanelFriends::handleRemove(), idle_startup(), LLAgent::makeNewOutfit(), messageUpdateCore(), LLFloaterLandmark::onBtnDelete(), LLPreview::onCommit(), LLPreviewGesture::onCommitActive(), LLFloaterProperties::onCommitDescription(), LLFloaterProperties::onCommitName(), LLFloaterProperties::onCommitPermissions(), LLPreview::onDiscardBtn(), LLAgent::onInitialWearableAssetArrived(), LLPreviewLSL::onSaveComplete(), LLPreviewNotecard::onSaveComplete(), LLPreviewGesture::onSaveComplete(), LLWearableBridge::onWearOnAvatarArrived(), LLGestureBridge::performAction(), LLFolderBridge::performAction(), LLItemBridge::performAction(), processBulkUpdateInventory(), processInventoryDescendents(), processMoveInventoryItem(), LLAvatarTracker::processNotify(), processRemoveInventoryFolder(), processRemoveInventoryItem(), processSaveAssetIntoInventory(), processUpdateInventoryFolder(), LLAgent::recoverMissingWearableDone(), remove_inventory_category_from_avatar_step2(), LLInvFVBridge::removeBatchNoCheck(), LLAgent::removeWearableFinal(), LLObjectBridge::renameItem(), LLFolderBridge::renameItem(), LLItemBridge::renameItem(), LLInventoryModel::fetchDescendentsResponder::result(), LLPreviewGesture::saveIfNeeded(), LLAgent::sendAgentWearablesUpdate(), LLTracker::setLandmarkVisited(), LLAgent::setWearableFinal(), LLAgent::setWearableOutfit(), LLFloaterProperties::updateSaleInfo(), LLUpdateAgentInventoryResponder::uploadComplete(), LLNewAgentInventoryResponder::uploadComplete(), wear_inventory_category_on_avatar_step2(), and wear_inventory_category_on_avatar_step3().

Here is the call graph for this function:

void LLInventoryModel::addChangedMask ( U32  mask,
const LLUUID referent 
)

const std::set<LLUUID>& LLInventoryModel::getChangedIDs (  )  [inline]

Definition at line 275 of file llinventorymodel.h.

References mChangedItemIDs.

Referenced by LLInventoryCopyAndWearObserver::changed(), and LLInventoryPanel::modelChanged().

Here is the caller graph for this function:

void LLInventoryModel::fetchDescendentsOf ( const LLUUID folder_id  ) 

cat_array_t* categories = get_ptr_in_map(mParentChildCategoryTree, folder_id);

Definition at line 989 of file llinventorymodel.cpp.

References LLViewerInventoryCategory::fetchDescendents(), getCategory(), llendl, and llwarns.

Referenced by LLFolderViewFolder::handleRightMouseDown(), and LLFolderBridge::openItem().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLInventoryModel::bulkFetch ( std::string  url  )  [static]

void LLInventoryModel::cache ( const LLUUID parent_folder_id,
const LLUUID agent_id 
)

void LLInventoryModel::appendPath ( const LLUUID id,
LLString path 
)

Definition at line 469 of file llinventorymodel.cpp.

References getCategory(), LLInventoryObject::getName(), getObject(), and LLInventoryObject::getParentUUID().

Referenced by LLPanelEditWearable::draw().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLInventoryModel::registerCallbacks ( LLMessageSystem msg  )  [static]

LLUUID LLInventoryModel::createNewCategory ( const LLUUID parent_id,
LLAssetType::EType  preferred_type,
const LLString name 
)

bool LLInventoryModel::loadSkeleton ( const options_t options,
const LLUUID owner_id 
)

bool LLInventoryModel::loadMeat ( const options_t options,
const LLUUID owner_id 
)

Definition at line 1955 of file llinventorymodel.cpp.

References addItem(), LLAssetType::AT_CALLINGCARD, LLPermissions::init(), LLPermissions::initMasks(), llendl, llinfos, llwarns, NULL, LLUUID::null, and PERM_NONE.

Here is the call graph for this function:

void LLInventoryModel::buildParentChildMap (  ) 

void LLInventoryModel::accountForUpdate ( const LLCategoryUpdate update  ) 

void LLInventoryModel::accountForUpdate ( const update_list_t updates  ) 

Definition at line 1619 of file llinventorymodel.cpp.

References accountForUpdate().

Here is the call graph for this function:

void LLInventoryModel::accountForUpdate ( const update_map_t updates  ) 

Definition at line 1630 of file llinventorymodel.cpp.

References accountForUpdate(), LLInventoryModel::LLCategoryUpdate::mCategoryID, and LLInventoryModel::LLCategoryUpdate::mDescendentDelta.

Here is the call graph for this function:

LLInventoryModel::EHasChildren LLInventoryModel::categoryHasChildren ( const LLUUID cat_id  )  const

bool LLInventoryModel::isCategoryComplete ( const LLUUID cat_id  )  const

void LLInventoryModel::startBackgroundFetch ( const LLUUID cat_id = LLUUID::null  )  [static]

void LLInventoryModel::stopBackgroundFetch (  )  [static]

BOOL LLInventoryModel::backgroundFetchActive (  )  [static]

bool LLInventoryModel::isEverythingFetched (  )  [static]

Definition at line 1302 of file llinventorymodel.cpp.

References sAllFoldersFetched.

Referenced by LLInventoryView::draw().

Here is the caller graph for this function:

void LLInventoryModel::backgroundFetch ( void *   )  [static]

static void LLInventoryModel::incrBulkFetch ( S16  fetching  )  [inline, static]

void LLInventoryModel::addCategory ( LLViewerInventoryCategory category  )  [protected]

Definition at line 1536 of file llinventorymodel.cpp.

References LLInventoryObject::getUUID(), and mCategoryMap.

Referenced by loadSkeleton(), and updateCategory().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLInventoryModel::addItem ( LLViewerInventoryItem item  )  [protected]

Definition at line 1547 of file llinventorymodel.cpp.

References LLInventoryObject::getUUID(), and mItemMap.

Referenced by loadMeat(), loadSkeleton(), and updateItem().

Here is the call graph for this function:

Here is the caller graph for this function:

LLUUID LLInventoryModel::findCatUUID ( LLAssetType::EType  preferred_type  )  [protected]

void LLInventoryModel::empty ( void   )  [protected]

Definition at line 1558 of file llinventorymodel.cpp.

References mCategoryMap, mItemMap, mLastItem, mParentChildCategoryTree, mParentChildItemTree, and NULL.

Referenced by ~LLInventoryModel().

Here is the caller graph for this function:

bool LLInventoryModel::loadFromFile ( const char *  filename,
LLInventoryModel::cat_array_t categories,
LLInventoryModel::item_array_t items 
) [static, protected]

Definition at line 2336 of file llinventorymodel.cpp.

References LLFile::fopen(), LLPointer< Type >::isNull(), llendl, llerrs, llinfos, llwarns, MAX_STRING, LLUUID::null, and LLDynamicArray< Type, BlockSize >::put().

Referenced by loadSkeleton().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLInventoryModel::saveToFile ( const char *  filename,
const cat_array_t categories,
const item_array_t items 
) [static, protected]

Definition at line 2409 of file llinventorymodel.cpp.

References LLDynamicArray< Type, BlockSize >::count(), LLViewerInventoryCategory::exportFileLocal(), LLFile::fopen(), LLViewerInventoryCategory::getVersion(), i, llendl, llerrs, llinfos, llwarns, S32, and LLViewerInventoryCategory::VERSION_UNKNOWN.

Referenced by cache().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLInventoryModel::processUpdateCreateInventoryItem ( LLMessageSystem msg,
void **   
) [static, protected]

Definition at line 2492 of file llinventorymodel.cpp.

References _PREHASH_CallbackID, _PREHASH_InventoryData, _PREHASH_ItemID, LLInventoryCallbackManager::fire(), LLMessageSystem::getU32Fast(), LLMessageSystem::getUUIDFast(), gInventoryCallbacks, and messageUpdateCore().

Referenced by registerCallbacks().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLInventoryModel::processRemoveInventoryItem ( LLMessageSystem msg,
void **   
) [static, protected]

void LLInventoryModel::processUpdateInventoryFolder ( LLMessageSystem msg,
void **   
) [static, protected]

void LLInventoryModel::processRemoveInventoryFolder ( LLMessageSystem msg,
void **   
) [static, protected]

void LLInventoryModel::processSaveAssetIntoInventory ( LLMessageSystem msg,
void **   
) [static, protected]

void LLInventoryModel::processBulkUpdateInventory ( LLMessageSystem msg,
void **   
) [static, protected]

void LLInventoryModel::processInventoryDescendents ( LLMessageSystem msg,
void **   
) [static, protected]

void LLInventoryModel::processMoveInventoryItem ( LLMessageSystem msg,
void **   
) [static, protected]

void LLInventoryModel::processFetchInventoryReply ( LLMessageSystem msg,
void **   
) [static, protected]

Definition at line 2508 of file llinventorymodel.cpp.

References messageUpdateCore().

Referenced by registerCallbacks().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLInventoryModel::isBulkFetchProcessingComplete (  )  [static, protected]

bool LLInventoryModel::messageUpdateCore ( LLMessageSystem msg,
bool  do_accounting 
) [protected]

void LLInventoryModel::dumpInventory (  ) 

Definition at line 3031 of file llinventorymodel.cpp.

References LLViewerInventoryCategory::getDescendentCount(), LLInventoryObject::getName(), LLInventoryObject::getUUID(), LLViewerInventoryCategory::getVersion(), llendl, llinfos, mCategoryMap, and mItemMap.

Referenced by dump_inventory().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 424 of file llinventorymodel.h.

Referenced by addChangedMask(), and notifyObservers().

Definition at line 426 of file llinventorymodel.h.

Referenced by addChangedMask(), getChangedIDs(), and notifyObservers().

Definition at line 440 of file llinventorymodel.h.

Referenced by deleteObject(), empty(), and getItem().

Definition at line 452 of file llinventorymodel.h.

Referenced by bulkFetch(), and isBulkFetchProcessingComplete().

BOOL LLInventoryModel::sBackgroundFetchActive = FALSE [static, protected]

BOOL LLInventoryModel::sTimelyFetchPending = FALSE [static, protected]

Definition at line 454 of file llinventorymodel.h.

Referenced by backgroundFetch().

BOOL LLInventoryModel::sAllFoldersFetched = FALSE [static, protected]

BOOL LLInventoryModel::sFullFetchStarted = FALSE [static, protected]

S32 LLInventoryModel::sNumFetchRetries = 0 [static, protected]

Definition at line 457 of file llinventorymodel.h.

Referenced by backgroundFetch().

Definition at line 458 of file llinventorymodel.h.

Referenced by backgroundFetch(), and bulkFetch().

F32 LLInventoryModel::sMinTimeBetweenFetches = 0.3f [static, protected]

F32 LLInventoryModel::sMaxTimeBetweenFetches = 10.f [static, protected]

Definition at line 460 of file llinventorymodel.h.

Referenced by backgroundFetch().

S16 LLInventoryModel::sBulkFetchCount = 0 [static, protected]

Definition at line 464 of file llinventorymodel.h.

Referenced by buildParentChildMap(), and isInventoryUsable().


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

Generated on Fri May 16 08:50:24 2008 for SecondLife by  doxygen 1.5.5