LLInventoryModel Class Reference

#include <llinventorymodel.h>

Collaboration diagram for LLInventoryModel:

Collaboration graph
[legend]
List of all members.

Public Types

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< LLCategoryUpdateupdate_list_t
typedef std::map< LLUUID,
LLInitializedS32
update_map_t
 CHILDREN_NO
 CHILDREN_YES
 CHILDREN_MAYBE
 EXCLUDE_TRASH = FALSE
 INCLUDE_TRASH = TRUE
enum  e_has_children { CHILDREN_NO, CHILDREN_YES, CHILDREN_MAYBE }
enum  { EXCLUDE_TRASH = FALSE, INCLUDE_TRASH = TRUE }

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)
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 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 *)

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 **)

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 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

Classes

struct  LLCategoryUpdate
struct  LLInitializedS32

Detailed Description

Definition at line 95 of file llinventorymodel.h.


Member Typedef Documentation

typedef LLDynamicArray<LLPointer<LLViewerInventoryCategory> > LLInventoryModel::cat_array_t

Definition at line 106 of file llinventorymodel.h.

typedef std::map<LLUUID, LLPointer<LLViewerInventoryCategory> > LLInventoryModel::cat_map_t [protected]

Definition at line 412 of file llinventorymodel.h.

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

Definition at line 404 of file llinventorymodel.h.

typedef enum LLInventoryModel::e_has_children LLInventoryModel::EHasChildren

typedef LLDynamicArray<LLPointer<LLViewerInventoryItem> > LLInventoryModel::item_array_t

Definition at line 107 of file llinventorymodel.h.

typedef std::map<LLUUID, LLPointer<LLViewerInventoryItem> > LLInventoryModel::item_map_t [protected]

Definition at line 413 of file llinventorymodel.h.

typedef std::set<LLInventoryObserver*> LLInventoryModel::observer_list_t [protected]

Definition at line 429 of file llinventorymodel.h.

typedef std::vector<response_t> LLInventoryModel::options_t

Definition at line 293 of file llinventorymodel.h.

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

Definition at line 424 of file llinventorymodel.h.

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

Definition at line 425 of file llinventorymodel.h.

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

Definition at line 292 of file llinventorymodel.h.

typedef std::vector<LLCategoryUpdate> LLInventoryModel::update_list_t

Definition at line 316 of file llinventorymodel.h.

typedef std::map<LLUUID, LLInitializedS32> LLInventoryModel::update_map_t

Definition at line 328 of file llinventorymodel.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
EXCLUDE_TRASH 
INCLUDE_TRASH 

Definition at line 156 of file llinventorymodel.h.

enum LLInventoryModel::e_has_children

Enumerator:
CHILDREN_NO 
CHILDREN_YES 
CHILDREN_MAYBE 

Definition at line 98 of file llinventorymodel.h.


Constructor & Destructor Documentation

LLInventoryModel::LLInventoryModel (  ) 

Definition at line 176 of file llinventorymodel.cpp.

LLInventoryModel::~LLInventoryModel (  ) 

Definition at line 184 of file llinventorymodel.cpp.

References empty(), and mObservers.


Member Function Documentation

void LLInventoryModel::accountForUpdate ( const update_map_t updates  ) 

Definition at line 1315 of file llinventorymodel.cpp.

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

void LLInventoryModel::accountForUpdate ( const update_list_t updates  ) 

Definition at line 1304 of file llinventorymodel.cpp.

References accountForUpdate(), and end.

void LLInventoryModel::accountForUpdate ( const LLCategoryUpdate update  ) 

Definition at line 1262 of file llinventorymodel.cpp.

References LLDynamicArray< Type, BlockSize >::count(), getCategory(), LLViewerInventoryCategory::getDescendentCount(), getDirectDescendentsOf(), LLInventoryObject::getName(), LLViewerInventoryCategory::getVersion(), lldebugs, llendl, llinfos, llwarns, LLInventoryModel::LLCategoryUpdate::mCategoryID, LLInventoryModel::LLCategoryUpdate::mDescendentDelta, S32, LLViewerInventoryCategory::setDescendentCount(), LLViewerInventoryCategory::setVersion(), and LLViewerInventoryCategory::VERSION_UNKNOWN.

Referenced by accountForUpdate(), LLInvFVBridge::changeCategoryParent(), LLInvFVBridge::changeItemParent(), createNewCategory(), deleteFromServer(), LLDiscardAgentOffer::done(), messageUpdateCore(), LLFloaterLandmark::onBtnDelete(), LLPreview::onDiscardBtn(), process_logout_reply(), processBulkUpdateInventory(), processMoveInventoryItem(), processRemoveInventoryFolder(), processRemoveInventoryItem(), processSaveAssetIntoInventory(), processUpdateInventoryFolder(), purgeDescendentsOf(), LLInvFVBridge::removeBatchNoCheck(), LLViewerInventoryCategory::removeFromServer(), LLViewerInventoryItem::removeFromServer(), LLTracker::setLandmarkVisited(), LLViewerInventoryCategory::updateServer(), and LLViewerInventoryItem::updateServer().

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

Definition at line 1221 of file llinventorymodel.cpp.

References LLInventoryObject::getUUID(), and mCategoryMap.

Referenced by loadSkeleton(), and updateCategory().

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

Definition at line 948 of file llinventorymodel.cpp.

References mChangedItemIDs, mModifyMask, and LLUUID::notNull().

Referenced by LLAgent::addWearabletoAgentInventoryDone(), LLVOAvatar::attachObject(), LLGestureManager::deactivateGesture(), LLGestureManager::deactivateSimilarGestures(), deleteFromServer(), deleteObject(), LLVOAvatar::detachObject(), LLPanelFriends::handleRemove(), idle_startup(), moveObject(), LLAgent::onInitialWearableAssetArrived(), LLGestureManager::onLoadComplete(), process_logout_reply(), LLAvatarTracker::processNotify(), processSaveAssetIntoInventory(), LLAgent::recoverMissingWearableDone(), LLAgent::removeWearableFinal(), LLAgent::sendAgentWearablesUpdate(), LLTracker::setLandmarkVisited(), LLAgent::setWearableFinal(), LLAgent::setWearableOutfit(), updateCategory(), and updateItem().

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

Definition at line 1232 of file llinventorymodel.cpp.

References LLInventoryObject::getUUID(), and mItemMap.

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

void LLInventoryModel::addObserver ( LLInventoryObserver observer  ) 

Definition at line 918 of file llinventorymodel.cpp.

References mObservers.

Referenced by LLFolderBridge::buildContextMenu(), LLToolDragAndDrop::dad3dUpdateInventoryCategory(), LLCategoryDropDescendentsObserver::done(), LLOutfitFetch::done(), LLAttachmentEnableDrop::handleEvent(), idle_startup(), LLInventoryView::init(), inventory_offer_callback(), LLFloaterClothing::LLFloaterClothing(), LLFloaterCustomize::LLFloaterCustomize(), LLFloaterProperties::LLFloaterProperties(), LLLandmarkObserver::LLLandmarkObserver(), move_task_inventory_callback(), LLFloaterWorldMap::observeInventory(), LLInventoryPanel::postBuild(), LLPreviewGesture::show(), start_new_inventory_observer(), LLPostTeleportNotifiers::tick(), and wear_inventory_category().

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

Definition at line 464 of file llinventorymodel.cpp.

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

Referenced by LLPanelEditWearable::draw().

void LLInventoryModel::backgroundFetch ( void  )  [static]

Definition at line 1056 of file llinventorymodel.cpp.

References f, FALSE, LLViewerInventoryCategory::fetchDescendents(), gDisconnected, getCategory(), LLFrameTimer::getElapsedTimeF32(), LLInventoryObject::getUUID(), LLViewerInventoryCategory::getVersion(), gInventory, isCategoryComplete(), lerp(), llendl, llinfos, llmax(), llmin(), MAX_FETCH_RETRIES, mParentChildCategoryTree, LLFrameTimer::reset(), S32, sAllFoldersFetched, sBackgroundFetchActive, sFetchQueue, sFetchTimer, sFullFetchStarted, sMaxTimeBetweenFetches, sMinTimeBetweenFetches, sNumFetchRetries, sTimelyFetchPending, stopBackgroundFetch(), TRUE, and LLViewerInventoryCategory::VERSION_UNKNOWN.

Referenced by startBackgroundFetch(), and stopBackgroundFetch().

BOOL LLInventoryModel::backgroundFetchActive (  )  [static]

Definition at line 1012 of file llinventorymodel.cpp.

References sBackgroundFetchActive.

Referenced by LLFloaterClothing::buildClothingList(), LLInventoryView::changed(), LLFolderView::draw(), LLInventoryFilter::getFilterText(), and LLInventoryPanel::handleHover().

void LLInventoryModel::buildParentChildMap (  ) 

Definition at line 1726 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_FolderID, _PREHASH_InventoryData, _PREHASH_ItemID, _PREHASH_MoveInventoryItem, _PREHASH_SessionID, _PREHASH_Stamp, LLMessageSystem::addBOOLFast(), LLMessageSystem::addString(), LLMessageSystem::addUUIDFast(), LLAssetType::AT_CATEGORY, LLAssetType::AT_LOST_AND_FOUND, LLAssetType::AT_NONE, LLDynamicArray< Type, BlockSize >::count(), count, FALSE, findCategoryUUIDForType(), gAgent, LLDynamicArray< Type, BlockSize >::get(), get_ptr_in_map(), LLAgent::getID(), LLAgent::getInventoryRootID(), LLInventoryObject::getName(), LLInventoryObject::getParentUUID(), LLInventoryCategory::getPreferredType(), LLAgent::getSessionID(), LLInventoryObject::getUUID(), gMessageSystem, i, LLMessageSystem::isSendFull(), llendl, llinfos, llwarns, mCategoryMap, mIsAgentInvUsable, mItemMap, mParentChildCategoryTree, mParentChildItemTree, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), LLUUID::notNull(), NULL, LLUUID::null, LLDynamicArray< Type, BlockSize >::put(), S32, LLAgent::sendReliableMessage(), LLInventoryObject::setParent(), TRUE, and LLViewerInventoryCategory::updateServer().

Referenced by idle_startup().

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

Definition at line 1177 of file llinventorymodel.cpp.

References CACHE_FORMAT_STRING, collectDescendentsIf(), gDirUtilp, getCategory(), LLDir::getExpandedFilename(), gzip_file(), INCLUDE_TRASH, LL_MAX_PATH, LL_PATH_CACHE, lldebugs, llendl, llwarns, NULL, LLDynamicArray< Type, BlockSize >::put(), LLFile::remove(), saveToFile(), LLUUID::toString(), and UUID_STR_LENGTH.

Referenced by disconnect_viewer().

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

Definition at line 1370 of file llinventorymodel.cpp.

References CHILDREN_MAYBE, CHILDREN_NO, CHILDREN_YES, LLViewerInventoryCategory::DESCENDENT_COUNT_UNKNOWN, getCategory(), LLViewerInventoryCategory::getDescendentCount(), LLInventoryObject::getUUID(), LLViewerInventoryCategory::getVersion(), mParentChildCategoryTree, mParentChildItemTree, and LLViewerInventoryCategory::VERSION_UNKNOWN.

Referenced by LLFolderBridge::hasChildren(), and purgeDescendentsOf().

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

Definition at line 408 of file llinventorymodel.cpp.

References collectDescendentsIf().

Referenced by LLCategoryDropDescendentsObserver::done(), LLOutfitFetch::done(), LLRightClickInventoryFetchDescendentsObserver::done(), LLFolderBridge::dragCategoryIntoFolder(), LLFolderBridge::isItemRemovable(), purgeDescendentsOf(), and LLFolderBridge::removeItem().

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

Definition at line 417 of file llinventorymodel.cpp.

References LLAssetType::AT_TRASH, LLDynamicArray< Type, BlockSize >::count(), count, findCatUUID(), LLDynamicArray< Type, BlockSize >::get(), get_ptr_in_map(), i, mParentChildCategoryTree, mParentChildItemTree, LLUUID::notNull(), NULL, LLDynamicArray< Type, BlockSize >::put(), and S32.

Referenced by LLPreviewGesture::addAnimations(), LLPreviewGesture::addSounds(), LLToolDragAndDrop::beginDrag(), LLToolDragAndDrop::beginMultiDrag(), LLFloaterClothing::buildClothingList(), LLFloaterWorldMap::buildLandmarkIDLists(), cache(), callback_choose_gender(), LLVOAvatar::canGrabLocalTexture(), LLFolderBridge::checkFolderForContentsOfType(), collectDescendents(), LLToolDragAndDrop::commitGiveInventoryCategory(), LLToolDragAndDrop::dad3dUpdateInventoryCategory(), LLFetchInWelcomeArea::done(), LLFloaterIMPanel::dropCategory(), LLFloaterTexturePicker::findItemID(), LLFloaterLandmark::findItemID(), LLToolDragAndDrop::giveInventoryCategory(), LLToolDragAndDrop::handleCopyProtectedCategory(), LLBeginIMSession::handleEvent(), remove_inventory_category_from_avatar_step2(), wear_inventory_category_on_avatar_step2(), and wear_outfit_by_name().

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

Definition at line 339 of file llinventorymodel.cpp.

References _PREHASH_SessionID, accountForUpdate(), LLMessageSystem::addUUID(), LLAssetType::AT_COUNT, LLAssetType::AT_TEXTURE, gAgent, LLUUID::generate(), LLAgent::getID(), LLAgent::getSessionID(), gMessageSystem, isInventoryUsable(), llendl, llwarns, NEW_CATEGORY_NAME, NEW_CATEGORY_NAMES, LLMessageSystem::newMessage(), LLMessageSystem::nextBlock(), pname, LLAgent::sendReliableMessage(), updateCategory(), and LLViewerInventoryCategory::VERSION_INITIAL.

Referenced by container_inventory_arrived(), LLFolderBridge::createNewCategory(), do_create(), LLOutfitObserver::done(), findCategoryUUIDForType(), LLAgent::makeNewOutfit(), and LLFloaterOpenObject::moveToInventory().

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

Definition at line 824 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_FolderData, _PREHASH_FolderID, _PREHASH_ItemData, _PREHASH_ItemID, _PREHASH_RemoveInventoryObjects, _PREHASH_SessionID, accountForUpdate(), addChangedMask(), LLMessageSystem::addUUIDFast(), LLDynamicArray< Type, BlockSize >::count(), count, FALSE, gAgent, LLDynamicArray< Type, BlockSize >::get(), getCategory(), LLAgent::getID(), getItem(), LLAgent::getSessionID(), gMessageSystem, i, LLMessageSystem::isSendFullFast(), LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), LLPointer< Type >::notNull(), LLUUID::null, LLInventoryObserver::REMOVE, S32, LLAgent::sendReliableMessage(), LLInventoryObserver::STRUCTURE, and TRUE.

void LLInventoryModel::deleteObject ( const LLUUID id  ) 

Definition at line 721 of file llinventorymodel.cpp.

References addChangedMask(), get_ptr_in_map(), getObject(), lldebugs, llendl, mCategoryMap, mItemMap, mLastItem, mParentChildCategoryTree, mParentChildItemTree, NULL, LLInventoryObserver::REMOVE, and LLDynamicArray< Type, BlockSize >::removeObj().

Referenced by LLToolDragAndDrop::dropInventory(), LLToolDragAndDrop::dropObject(), LLToolDragAndDrop::dropScript(), LLToolDragAndDrop::handleCopyProtectedCategory(), LLToolDragAndDrop::handleCopyProtectedItem(), LLToolDragAndDrop::handleDropTextureProtections(), LLFolderBridge::performAction(), LLItemBridge::performAction(), processRemoveInventoryFolder(), processRemoveInventoryItem(), and purgeDescendentsOf().

void LLInventoryModel::dumpInventory (  ) 

Definition at line 2716 of file llinventorymodel.cpp.

References llendl, llinfos, mCategoryMap, and mItemMap.

Referenced by dump_inventory().

void LLInventoryModel::empty (  )  [protected]

Definition at line 1243 of file llinventorymodel.cpp.

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

Referenced by ~LLInventoryModel().

void LLInventoryModel::fetchDescendentsOf ( const LLUUID folder_id  ) 

Definition at line 979 of file llinventorymodel.cpp.

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

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

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

Definition at line 293 of file llinventorymodel.cpp.

References createNewCategory(), findCatUUID(), gAgent, LLAgent::getInventoryRootID(), isInventoryUsable(), LLUUID::isNull(), 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().

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

Definition at line 309 of file llinventorymodel.cpp.

References LLAssetType::AT_CATEGORY, count, gAgent, get_ptr_in_map(), LLAgent::getInventoryRootID(), i, mParentChildCategoryTree, LLUUID::notNull(), LLUUID::null, NULL, and S32.

Referenced by collectDescendentsIf(), and findCategoryUUIDForType().

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

Definition at line 255 of file llinventorymodel.cpp.

References mCategoryMap, and NULL.

Referenced by accountForUpdate(), appendPath(), backgroundFetch(), LLToolDragAndDrop::beginDrag(), LLToolDragAndDrop::beginMultiDrag(), LLFolderBridge::buildContextMenu(), 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::removeBatchNoCheck(), updateCategory(), wear_inventory_category_on_avatar_step2(), and LLWearInventoryCategoryCallback::~LLWearInventoryCategoryCallback().

S32 LLInventoryModel::getCategoryCount (  )  const

Definition at line 271 of file llinventorymodel.cpp.

References mCategoryMap.

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

Definition at line 258 of file llinventorymodel.h.

References mChangedItemIDs.

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

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

Definition at line 281 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()().

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

Definition at line 235 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(), LLCategoryDropObserver::done(), LLOutfitObserver::done(), LLFloaterAvatarPicker::doSelectionChange(), LLViewerGesture::doTrigger(), LLCallingCardBridge::dragOrDrop(), enable_save_into_inventory(), LLInventoryFetchComboObserver::fetch(), LLInventoryFetchObserver::fetchItems(), LLFloaterProperties::findItem(), LLEmbeddedNotecardOpener::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::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().

S32 LLInventoryModel::getItemCount (  )  const

Definition at line 266 of file llinventorymodel.cpp.

References mItemMap.

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

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

Definition at line 219 of file llinventorymodel.cpp.

References getCategory(), getItem(), and NULL.

Referenced by appendPath(), LLInventoryPanel::buildNewViews(), deleteObject(), LLDiscardAgentOffer::done(), LLInvFVBridge::getInventoryObject(), isObjectDescendentOf(), LLInventoryPanel::modelChanged(), LLFolderBridge::performAction(), and LLItemBridge::performAction().

bool LLInventoryModel::isCategoryComplete ( const LLUUID cat_id  )  const

Definition at line 1404 of file llinventorymodel.cpp.

References LLDynamicArray< Type, BlockSize >::count(), getCategory(), LLViewerInventoryCategory::getDescendentCount(), getDirectDescendentsOf(), LLViewerInventoryCategory::getVersion(), S32, and LLViewerInventoryCategory::VERSION_UNKNOWN.

Referenced by backgroundFetch(), LLInventoryFetchComboObserver::changed(), LLToolDragAndDrop::dad3dUpdateInventoryCategory(), LLInventoryFetchComboObserver::fetch(), LLFolderViewFolder::filter(), and LLToolDragAndDrop::giveInventoryCategory().

bool LLInventoryModel::isEverythingFetched (  )  [static]

Definition at line 1006 of file llinventorymodel.cpp.

References sAllFoldersFetched.

Referenced by LLInventoryView::draw().

bool LLInventoryModel::isInventoryUsable (  ) 

Definition at line 483 of file llinventorymodel.cpp.

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

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

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

Definition at line 196 of file llinventorymodel.cpp.

References FALSE, getCategory(), getObject(), LLInventoryObject::getParentUUID(), LLUUID::isNull(), and TRUE.

Referenced by LLFolderBridge::buildContextMenu(), LLToolDragAndDrop::dad3dActivateGesture(), LLToolDragAndDrop::dad3dRezAttachmentFromInv(), LLToolDragAndDrop::dad3dRezObjectOnLand(), LLToolDragAndDrop::dad3dRezObjectOnObject(), LLToolDragAndDrop::dad3dWearCategory(), LLToolDragAndDrop::dad3dWearItem(), LLFolderBridge::dragCategoryIntoFolder(), LLFolderBridge::dragItemIntoFolder(), LLToolDragAndDrop::dropObject(), handle_take(), LLAttachObject::handleEvent(), LLFolderViewItem::handleHover(), LLInvFVBridge::isAgentInventory(), LLInvFVBridge::isClipboardPasteable(), LLInvFVBridge::isInTrash(), LLFolderBridge::isItemRemovable(), LLInvFVBridge::isItemRemovable(), LLPreviewLSL::loadAsset(), open_offer(), LLObjectBridge::performAction(), and LLItemBridge::removeItem().

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

Definition at line 2021 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().

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

Definition at line 1640 of file llinventorymodel.cpp.

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

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

Definition at line 1426 of file llinventorymodel.cpp.

References addCategory(), addItem(), LLAssetType::AT_NONE, CACHE_FORMAT_STRING, LLDynamicArray< Type, BlockSize >::count(), count, LLFile::fopen(), gDirUtilp, LLDir::getExpandedFilename(), LLInventoryObject::getName(), LLInventoryObject::getUUID(), LLViewerInventoryCategory::getVersion(), gunzip_file(), i, LL_MAX_PATH, LL_PATH_CACHE, lldebugs, llendl, llinfos, llwarns, loadFromFile(), mCategoryMap, NULL, LLFile::remove(), LLInventoryObject::rename(), S32, LLViewerInventoryCategory::setDescendentCount(), LLInventoryObject::setParent(), LLInventoryCategory::setPreferredType(), LLInventoryObject::setUUID(), LLViewerInventoryCategory::setVersion(), t, LLUUID::toString(), UUID_STR_LENGTH, and LLViewerInventoryCategory::VERSION_UNKNOWN.

Referenced by idle_startup().

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

Definition at line 2200 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_InventoryData, accountForUpdate(), count, LLWindow::decBusyCount(), gAgent, LLAgent::getID(), getItem(), LLMessageSystem::getNumberOfBlocksFast(), LLInventoryObject::getParentUUID(), LLMessageSystem::getUUIDFast(), LLViewerWindow::getWindow(), gInventory, gViewerWindow, i, LLUUID::isNull(), lldebugs, llendl, llwarns, notifyObservers(), S32, start_new_inventory_observer(), and updateItem().

Referenced by processFetchInventoryReply(), and processUpdateCreateInventoryItem().

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

Definition at line 679 of file llinventorymodel.cpp.

References addChangedMask(), get_ptr_in_map(), getCategory(), getItem(), LLInventoryObject::getParentUUID(), is_in_map(), isInventoryUsable(), lldebugs, llendl, llwarns, mCategoryMap, mParentChildCategoryTree, mParentChildItemTree, LLDynamicArray< Type, BlockSize >::put(), LLDynamicArray< Type, BlockSize >::removeObj(), and LLInventoryObserver::STRUCTURE.

Referenced by LLDiscardAgentOffer::done(), and LLInvFVBridge::removeBatchNoCheck().

void LLInventoryModel::notifyObservers (  ) 

Definition at line 931 of file llinventorymodel.cpp.

References 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(), handle_grab_texture(), LLToolDragAndDrop::handleCopyProtectedCategory(), LLToolDragAndDrop::handleCopyProtectedItem(), LLToolDragAndDrop::handleDropTextureProtections(), LLEmptyTrashFloater::handleEvent(), LLPanelFriends::handleRemove(), idle_startup(), LLAgent::makeNewOutfit(), messageUpdateCore(), LLFloaterLandmark::onBtnDelete(), 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(), process_logout_reply(), 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(), 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().

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

Definition at line 2449 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_CallbackID, _PREHASH_FolderData, _PREHASH_ItemData, _PREHASH_TransactionID, accountForUpdate(), count, FALSE, LLInventoryCallbackManager::fire(), gAgent, getCategory(), LLAgent::getID(), getItem(), LLMessageSystem::getNumberOfBlocksFast(), LLInventoryObject::getParentUUID(), LLMessageSystem::getUUIDFast(), gInventory, gInventoryCallbacks, i, LLInventoryType::IT_WEARABLE, llendl, llinfos, llwarns, notifyObservers(), LLUUID::null, S32, LLInventoryView::sWearNewClothing, LLInventoryView::sWearNewClothingTransactionID, updateCategory(), updateItem(), and wear_inventory_item_on_avatar().

Referenced by registerCallbacks().

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

Definition at line 2193 of file llinventorymodel.cpp.

References gInventory, and messageUpdateCore().

Referenced by registerCallbacks().

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

Definition at line 2614 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_FolderData, _PREHASH_ItemData, count, gAgent, getCategory(), LLAgent::getID(), LLMessageSystem::getNumberOfBlocksFast(), LLMessageSystem::getS32(), LLMessageSystem::getUUID(), LLMessageSystem::getUUIDFast(), gInventory, i, llendl, llwarns, notifyObservers(), S32, LLViewerInventoryCategory::setDescendentCount(), LLViewerInventoryCategory::setVersion(), updateCategory(), and updateItem().

Referenced by registerCallbacks().

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

Definition at line 2660 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_FolderID, _PREHASH_InventoryData, _PREHASH_ItemID, accountForUpdate(), count, gAgent, LLAgent::getID(), getItem(), LLMessageSystem::getNumberOfBlocksFast(), LLInventoryObject::getParentUUID(), LLMessageSystem::getString(), LLMessageSystem::getUUIDFast(), gInventory, i, lldebugs, llendl, llinfos, llwarns, MAX_STRING, notifyObservers(), S32, and updateItem().

Referenced by registerCallbacks().

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

Definition at line 2367 of file llinventorymodel.cpp.

References _PREHASH_AgentID, _PREHASH_FolderData, _PREHASH_FolderID, accountForUpdate(), count, deleteObject(), gAgent, getCategory(), LLAgent::getID(), LLMessageSystem::getNumberOfBlocksFast(), LLInventoryObject::getParentUUID(), LLMessageSystem::getUUIDFast(), gInventory, i, lldebugs, llendl, llwarns, notifyObservers(), and S32.

Referenced by registerCallbacks().

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

Definition at line 2271 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_InventoryData, _PREHASH_ItemID, accountForUpdate(), count, deleteObject(), gAgent, LLAgent::getID(), getItem(), LLMessageSystem::getNumberOfBlocksFast(), LLInventoryObject::getParentUUID(), LLMessageSystem::getUUIDFast(), gInventory, i, lldebugs, llendl, llwarns, notifyObservers(), and S32.

Referenced by registerCallbacks().

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

Definition at line 2401 of file llinventorymodel.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_InventoryData, _PREHASH_ItemID, accountForUpdate(), addChangedMask(), LLWindow::decBusyCount(), gAgent, LLAgent::getID(), getItem(), LLInventoryObject::getParentUUID(), LLMessageSystem::getUUIDFast(), LLViewerWindow::getWindow(), gInventory, gViewerWindow, LLInventoryObserver::INTERNAL, lldebugs, llendl, llinfos, llwarns, and notifyObservers().

Referenced by registerCallbacks().

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

Definition at line 2177 of file llinventorymodel.cpp.

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

Referenced by registerCallbacks().

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

Definition at line 2307 of file llinventorymodel.cpp.

References _PREHASH_AgentID, _PREHASH_FolderData, accountForUpdate(), LLAssetType::AT_NONE, count, gAgent, LLInventoryView::getActiveInventory(), getCategory(), LLAgent::getID(), LLMessageSystem::getNumberOfBlocksFast(), LLInventoryView::getPanel(), LLInventoryObject::getParentUUID(), LLMessageSystem::getUUIDFast(), gInventory, i, lldebugs, llendl, llwarns, notifyObservers(), S32, LLInventoryPanel::setSelection(), TAKE_FOCUS_NO, and updateCategory().

Referenced by registerCallbacks().

void LLInventoryModel::purgeDescendentsOf ( const LLUUID id  ) 

Definition at line 767 of file llinventorymodel.cpp.

References accountForUpdate(), LLMessageSystem::addUUID(), categoryHasChildren(), CHILDREN_NO, collectDescendents(), LLDynamicArray< Type, BlockSize >::count(), count, deleteObject(), gAgent, LLDynamicArray< Type, BlockSize >::get(), getCategory(), LLAgent::getID(), LLAgent::getSessionID(), gMessageSystem, i, INCLUDE_TRASH, llendl, llinfos, LLMessageSystem::newMessage(), LLMessageSystem::nextBlock(), LLPointer< Type >::notNull(), S32, and LLAgent::sendReliableMessage().

Referenced by LLEmptyLostAndFound::callback_empty_lost_and_found(), LLEmptyTrash::callback_empty_trash(), LLEmptyTrashFloater::handleEvent(), LLFolderBridge::performAction(), and LLItemBridge::performAction().

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

Definition at line 2135 of file llinventorymodel.cpp.

References _PREHASH_BulkUpdateInventory, _PREHASH_RemoveInventoryFolder, _PREHASH_RemoveInventoryItem, _PREHASH_SaveAssetIntoInventory, _PREHASH_UpdateCreateInventoryItem, _PREHASH_UpdateInventoryFolder, NULL, processBulkUpdateInventory(), processFetchInventoryReply(), processInventoryDescendents(), processMoveInventoryItem(), processRemoveInventoryFolder(), processRemoveInventoryItem(), processSaveAssetIntoInventory(), processUpdateCreateInventoryItem(), processUpdateInventoryFolder(), LLMessageSystem::setHandlerFunc(), and LLMessageSystem::setHandlerFuncFast().

Referenced by idle_startup().

void LLInventoryModel::removeObserver ( LLInventoryObserver observer  ) 

Definition at line 923 of file llinventorymodel.cpp.

References mObservers.

Referenced by LLInventoryCopyAndWearObserver::changed(), LLFetchInWelcomeArea::done(), LLDiscardAgentOffer::done(), LLOpenAgentOffer::done(), LLWornItemFetchedObserver::done(), LLCategoryDropDescendentsObserver::done(), LLCategoryDropObserver::done(), LLTextureFetchDescendentsObserver::done(), LLGestureInventoryFetchObserver::done(), LLInventoryGestureAvailable::done(), LLOutfitFetch::done(), LLRightClickInventoryFetchDescendentsObserver::done(), LLRightClickInventoryFetchObserver::done(), LLFloaterWorldMap::observeInventory(), LLFloaterClothing::~LLFloaterClothing(), LLFloaterCustomize::~LLFloaterCustomize(), LLInventoryPanel::~LLInventoryPanel(), LLInventoryView::~LLInventoryView(), and LLLandmarkObserver::~LLLandmarkObserver().

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

Definition at line 2094 of file llinventorymodel.cpp.

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

Referenced by cache().

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

Definition at line 1018 of file llinventorymodel.cpp.

References LLCallbackList::addFunction(), backgroundFetch(), gAgent, LLAgent::getInventoryRootID(), gIdleCallbacks, gInventoryLibraryRoot, LLUUID::isNull(), NULL, sAllFoldersFetched, sBackgroundFetchActive, sFetchQueue, sFullFetchStarted, and TRUE.

Referenced by LLTextureFetchDescendentsObserver::done(), LLFolderViewFolder::filter(), LLTextureCtrl::handleMouseDown(), LLFloaterClothing::LLFloaterClothing(), LLInventoryView::onFilterSelected(), LLInventoryView::onSearchEdit(), LLPreviewGesture::show(), LLFloaterWorldMap::show(), LLInvFVBridge::startDrag(), and LLInventoryView::toggleFindOptions().

void LLInventoryModel::stopBackgroundFetch (  )  [static]

Definition at line 1046 of file llinventorymodel.cpp.

References backgroundFetch(), LLCallbackList::deleteFunction(), FALSE, gIdleCallbacks, NULL, and sBackgroundFetchActive.

Referenced by backgroundFetch().

void LLInventoryModel::updateCategory ( const LLViewerInventoryCategory cat  ) 

Definition at line 612 of file llinventorymodel.cpp.

References LLInventoryObserver::ADD, addCategory(), addChangedMask(), LLViewerInventoryCategory::copy(), get_ptr_in_map(), getCategory(), LLInventoryObject::getName(), LLInventoryObject::getParentUUID(), LLInventoryObject::getUUID(), isInventoryUsable(), LLUUID::isNull(), LLInventoryObserver::LABEL, llendl, llwarns, mask, mParentChildCategoryTree, mParentChildItemTree, LLInventoryObserver::NONE, LLDynamicArray< Type, BlockSize >::put(), LLDynamicArray< Type, BlockSize >::removeObj(), and LLInventoryObserver::STRUCTURE.

Referenced by LLInvFVBridge::changeCategoryParent(), createNewCategory(), processBulkUpdateInventory(), processInventoryDescendents(), processUpdateInventoryFolder(), LLFolderBridge::renameItem(), and wear_inventory_category_on_avatar_step2().

U32 LLInventoryModel::updateItem ( const LLViewerInventoryItem item  ) 

Definition at line 496 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::copy(), findCategoryUUIDForType(), get_ptr_in_map(), getItem(), LLInventoryObject::getName(), LLInventoryObject::getParentUUID(), LLInventoryObject::getType(), LLInventoryObject::getUUID(), LLInventoryObserver::INTERNAL, isInventoryUsable(), LLUUID::isNull(), LLInventoryObserver::LABEL, llendl, llinfos, llwarns, mask, mParentChildItemTree, LLInventoryObserver::NONE, LLDynamicArray< Type, BlockSize >::put(), LLDynamicArray< Type, BlockSize >::removeObj(), LLInventoryObserver::STRUCTURE, and TRUE.

Referenced by LLInvFVBridge::changeItemParent(), container_inventory_arrived(), LLToolDragAndDrop::dad3dActivateGesture(), 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(), LLAgent::saveWearable(), LLFloaterProperties::updateSaleInfo(), LLUpdateAgentInventoryResponder::uploadComplete(), and LLNewAgentInventoryResponder::uploadComplete().


Member Data Documentation

cat_map_t LLInventoryModel::mCategoryMap [protected]

Definition at line 415 of file llinventorymodel.h.

Referenced by addCategory(), buildParentChildMap(), deleteObject(), dumpInventory(), empty(), getCategory(), getCategoryCount(), loadSkeleton(), and moveObject().

changed_items_t LLInventoryModel::mChangedItemIDs [protected]

Definition at line 405 of file llinventorymodel.h.

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

bool LLInventoryModel::mIsAgentInvUsable [protected]

Definition at line 443 of file llinventorymodel.h.

Referenced by buildParentChildMap(), and isInventoryUsable().

item_map_t LLInventoryModel::mItemMap [protected]

Definition at line 416 of file llinventorymodel.h.

Referenced by addItem(), buildParentChildMap(), deleteObject(), dumpInventory(), empty(), getItem(), and getItemCount().

LLPointer<LLViewerInventoryItem> LLInventoryModel::mLastItem [mutable, protected]

Definition at line 419 of file llinventorymodel.h.

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

U32 LLInventoryModel::mModifyMask [protected]

Definition at line 403 of file llinventorymodel.h.

Referenced by addChangedMask(), and notifyObservers().

observer_list_t LLInventoryModel::mObservers [protected]

Definition at line 430 of file llinventorymodel.h.

Referenced by addObserver(), notifyObservers(), removeObserver(), and ~LLInventoryModel().

parent_cat_map_t LLInventoryModel::mParentChildCategoryTree [protected]

Definition at line 426 of file llinventorymodel.h.

Referenced by backgroundFetch(), buildParentChildMap(), categoryHasChildren(), collectDescendentsIf(), deleteObject(), empty(), findCatUUID(), getDirectDescendentsOf(), moveObject(), and updateCategory().

parent_item_map_t LLInventoryModel::mParentChildItemTree [protected]

Definition at line 427 of file llinventorymodel.h.

Referenced by buildParentChildMap(), categoryHasChildren(), collectDescendentsIf(), deleteObject(), empty(), getDirectDescendentsOf(), moveObject(), updateCategory(), and updateItem().

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

Definition at line 435 of file llinventorymodel.h.

Referenced by backgroundFetch(), isEverythingFetched(), and startBackgroundFetch().

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

Definition at line 433 of file llinventorymodel.h.

Referenced by backgroundFetch(), backgroundFetchActive(), startBackgroundFetch(), and stopBackgroundFetch().

LLFrameTimer LLInventoryModel::sFetchTimer [static, protected]

Definition at line 438 of file llinventorymodel.h.

Referenced by backgroundFetch().

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

Definition at line 436 of file llinventorymodel.h.

Referenced by backgroundFetch(), and startBackgroundFetch().

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

Definition at line 440 of file llinventorymodel.h.

Referenced by backgroundFetch().

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

Definition at line 439 of file llinventorymodel.h.

Referenced by backgroundFetch().

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

Definition at line 437 of file llinventorymodel.h.

Referenced by backgroundFetch().

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

Definition at line 434 of file llinventorymodel.h.

Referenced by backgroundFetch().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:26 2010 for Second Life Viewer by  doxygen 1.4.7