summaryrefslogtreecommitdiff
path: root/indra/newview/llnotificationmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llnotificationmanager.cpp')
-rw-r--r--indra/newview/llnotificationmanager.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/indra/newview/llnotificationmanager.cpp b/indra/newview/llnotificationmanager.cpp
index 81a6b32917..4401bb953f 100644
--- a/indra/newview/llnotificationmanager.cpp
+++ b/indra/newview/llnotificationmanager.cpp
@@ -36,9 +36,11 @@
#include "llnotificationmanager.h"
+
#include "llnearbychathandler.h"
+#include "llnotifications.h"
-#include "boost/bind.hpp"
+#include <boost/bind.hpp>
using namespace LLNotificationsUI;
@@ -63,6 +65,7 @@ void LLNotificationManager::init()
LLNotificationChannel::buildChannel("Alerts", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "alert"));
LLNotificationChannel::buildChannel("AlertModal", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "alertmodal"));
LLNotificationChannel::buildChannel("IM Notifications", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "notifytoast"));
+ LLNotificationChannel::buildChannel("Offer", "Visible", LLNotificationFilters::filterBy<std::string>(&LLNotification::getType, "offer"));
LLNotifications::instance().getChannel("Notifications")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1));
LLNotifications::instance().getChannel("NotificationTips")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1));
@@ -70,6 +73,7 @@ void LLNotificationManager::init()
LLNotifications::instance().getChannel("Alerts")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1));
LLNotifications::instance().getChannel("AlertModal")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1));
LLNotifications::instance().getChannel("IM Notifications")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1));
+ LLNotifications::instance().getChannel("Offer")->connectChanged(boost::bind(&LLNotificationManager::onNotification, this, _1));
mNotifyHandlers["notify"] = boost::shared_ptr<LLEventHandler>(new LLScriptHandler(NT_NOTIFY, LLSD()));
mNotifyHandlers["notifytip"] = boost::shared_ptr<LLEventHandler>(new LLTipHandler(NT_NOTIFY, LLSD()));
@@ -80,6 +84,7 @@ void LLNotificationManager::init()
mNotifyHandlers["notifytoast"] = boost::shared_ptr<LLEventHandler>(new LLIMHandler(NT_IMCHAT, LLSD()));
mNotifyHandlers["nearbychat"] = boost::shared_ptr<LLEventHandler>(new LLNearbyChatHandler(NT_NEARBYCHAT, LLSD()));
+ mNotifyHandlers["offer"] = boost::shared_ptr<LLEventHandler>(new LLOfferHandler(NT_OFFER, LLSD()));
}
//--------------------------------------------------------------------------
@@ -102,16 +107,17 @@ bool LLNotificationManager::onNotification(const LLSD& notify)
}
//--------------------------------------------------------------------------
-void LLNotificationManager::onChat(const LLChat& msg,ENotificationType type)
+void LLNotificationManager::onChat(const LLChat& msg, const LLSD &args)
{
- switch(type)
+ // check ENotificationType argument
+ switch(args["type"].asInteger())
{
case NT_NEARBYCHAT:
{
LLNearbyChatHandler* handle = dynamic_cast<LLNearbyChatHandler*>(mNotifyHandlers["nearbychat"].get());
if(handle)
- handle->processChat(msg);
+ handle->processChat(msg, args);
}
break;
default: //no need to handle all enum types