PageRenderTime 86ms CodeModel.GetById 40ms app.highlight 3ms RepoModel.GetById 38ms app.codeStats 0ms

/indra/newview/llnotificationstorage.h

https://bitbucket.org/lindenlab/viewer-beta/
C++ Header | 59 lines | 15 code | 10 blank | 34 comment | 0 complexity | e820ed201c939872695d6355847f5a0d MD5 | raw file
 1/**
 2* @file llnotificationstorage.h
 3* @brief LLNotificationStorage class declaration
 4*
 5* $LicenseInfo:firstyear=2010&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#ifndef LL_NOTIFICATIONSTORAGE_H
28#define LL_NOTIFICATIONSTORAGE_H
29
30#include "llnotifications.h"
31
32// Class that saves not responded(unread) notifications.
33// Unread notifications are saved in open_notifications.xml in SL account folder
34//
35// Notifications that should be saved(if unread) are marked with persist="true" in notifications.xml
36// Notifications using functor responders are saved automatically (see llviewermessage.cpp
37// lure_callback_reg for example).
38// Notifications using object responders(LLOfferInfo) need additional tuning. Responder object should
39// be a) serializable(implement LLNotificationResponderInterface),
40// b) registered with LLResponderRegistry (found in llnotificationstorage.cpp).
41class LLPersistentNotificationStorage : public LLSingleton<LLPersistentNotificationStorage>
42{
43	LOG_CLASS(LLPersistentNotificationStorage);
44public:
45
46	LLPersistentNotificationStorage();
47
48	void saveNotifications();
49
50	void loadNotifications();
51
52private:
53
54	bool onPersistentChannelChanged(const LLSD& payload);
55
56	std::string mFileName;
57};
58
59#endif // LL_NOTIFICATIONSTORAGE_H