PageRenderTime 9ms CodeModel.GetById 1ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 1ms

/indra/newview/llvoinventorylistener.cpp

https://bitbucket.org/lindenlab/viewer-beta/
C++ | 63 lines | 31 code | 6 blank | 26 comment | 4 complexity | e8d8e6493cde6933ed776d97f98d04da MD5 | raw file
 1/** 
 2 * @file llvoinventorylistener.cpp
 3 * @brief Interface for classes that wish to receive updates about viewer object inventory
 4 *
 5 * $LicenseInfo:firstyear=2001&license=viewerlgpl$
 6 * Second Life Viewer Source Code
 7 * Copyright (C) 2010, Linden Research, Inc.
 8 * 
 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation;
12 * version 2.1 of the License only.
13 * 
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 * Lesser General Public License for more details.
18 * 
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 * 
23 * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
24 * $/LicenseInfo$
25 */
26
27#include "llviewerprecompiledheaders.h"
28
29#include "llvoinventorylistener.h"
30#include "llviewerobject.h"
31
32void LLVOInventoryListener::removeVOInventoryListener()
33{
34	if (mListenerVObject)
35	{
36		mListenerVObject->removeInventoryListener(this);
37		mListenerVObject = NULL;
38	}
39}
40
41void LLVOInventoryListener::registerVOInventoryListener(LLViewerObject* object, void* user_data)
42{
43	removeVOInventoryListener();
44	if (object != NULL)
45	{
46		mListenerVObject = object;
47		object->registerInventoryListener(this,user_data);
48	}
49}
50
51void LLVOInventoryListener::requestVOInventory()
52{
53	if (mListenerVObject)
54	{
55		mListenerVObject->requestInventory();
56	}
57}
58
59// This assumes mListenerVObject is clearing it's own lists
60void LLVOInventoryListener::clearVOInventoryListener()
61{
62	mListenerVObject = NULL;
63}