summaryrefslogtreecommitdiff
path: root/indra/newview/llnotificationhandlerutil.cpp
diff options
context:
space:
mode:
authorbea@american.lindenlab.com <bea@american.lindenlab.com>2009-12-09 12:53:35 -0800
committerbea@american.lindenlab.com <bea@american.lindenlab.com>2009-12-09 12:53:35 -0800
commit874f53230dbe40e599e8903fae87a60816508fd6 (patch)
tree6affd304d74261bd45f13eff4c1521b580ae8bc1 /indra/newview/llnotificationhandlerutil.cpp
parent0bf7917ae848388a3e1bc6ad13e300880fed12d0 (diff)
parent431bfca2ade364dc1165e402537e5e2d3616ebfd (diff)
merge
Diffstat (limited to 'indra/newview/llnotificationhandlerutil.cpp')
-rw-r--r--indra/newview/llnotificationhandlerutil.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/indra/newview/llnotificationhandlerutil.cpp b/indra/newview/llnotificationhandlerutil.cpp
index 857b7e9796..6748bd7982 100644
--- a/indra/newview/llnotificationhandlerutil.cpp
+++ b/indra/newview/llnotificationhandlerutil.cpp
@@ -43,14 +43,27 @@ using namespace LLNotificationsUI;
const static std::string GRANTED_MODIFY_RIGHTS("GrantedModifyRights"),
REVOKED_MODIFY_RIGHTS("RevokedModifyRights"), OBJECT_GIVE_ITEM(
"ObjectGiveItem"), OBJECT_GIVE_ITEM_UNKNOWN_USER(
- "ObjectGiveItemUnknownUser"), PAYMENT_RECIVED("PaymentRecived");
+ "ObjectGiveItemUnknownUser"), PAYMENT_RECIVED("PaymentRecived"),
+ ADD_FRIEND_WITH_MESSAGE("AddFriendWithMessage"),
+ USER_GIVE_ITEM("UserGiveItem"), OFFER_FRIENDSHIP("OfferFriendship"),
+ FRIENDSHIP_ACCEPTED("FriendshipAccepted"),
+ FRIENDSHIP_OFFERED("FriendshipOffered");
// static
bool LLHandlerUtil::canLogToIM(const LLNotificationPtr& notification)
{
return GRANTED_MODIFY_RIGHTS == notification->getName()
|| REVOKED_MODIFY_RIGHTS == notification->getName()
- || PAYMENT_RECIVED == notification->getName();
+ || PAYMENT_RECIVED == notification->getName()
+ || FRIENDSHIP_OFFERED == notification->getName();
+}
+
+// static
+bool LLHandlerUtil::canSpawnIMSession(const LLNotificationPtr& notification)
+{
+ return ADD_FRIEND_WITH_MESSAGE == notification->getName()
+ || OFFER_FRIENDSHIP == notification->getName()
+ || FRIENDSHIP_ACCEPTED == notification->getName();
}
// static
@@ -92,13 +105,16 @@ void LLHandlerUtil::logToIMP2P(const LLNotificationPtr& notification)
notification->getSubstitutions().has("NAME") ? notification->getSubstitutions()["NAME"]
: notification->getSubstitutions()["[NAME]"];
+ const std::string session_name = notification->getPayload().has(
+ "SESSION_NAME") ? notification->getPayload()["SESSION_NAME"].asString() : name;
+
// don't create IM p2p session with objects, it's necessary condition to log
if (notification->getName() != OBJECT_GIVE_ITEM && notification->getName()
!= OBJECT_GIVE_ITEM_UNKNOWN_USER)
{
LLUUID from_id = notification->getPayload()["from_id"];
- logToIM(IM_NOTHING_SPECIAL, name, name, notification->getMessage(),
+ logToIM(IM_NOTHING_SPECIAL, session_name, name, notification->getMessage(),
from_id, from_id);
}
}