From e9f6de28b2e2be98bd8bb9e62fcffafebd29a939 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 12 Apr 2011 11:04:19 -0400 Subject: CHOP-581: Preliminary attempt to add enter/leave group chat hooks. Unstable! Using present "startIM" is known to crash the Mac viewer. Committing to migrate to different dev box for further debugging. --- indra/newview/groupchatlistener.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 indra/newview/groupchatlistener.cpp (limited to 'indra/newview/groupchatlistener.cpp') diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp new file mode 100644 index 0000000000..9b463c9a3f --- /dev/null +++ b/indra/newview/groupchatlistener.cpp @@ -0,0 +1,36 @@ +/** + * @file groupchatlistener.cpp + * @author Nat Goodspeed + * @date 2011-04-11 + * @brief Implementation for groupchatlistener. + * + * $LicenseInfo:firstyear=2011&license=internal$ + * Copyright (c) 2011, Linden Research, Inc. + * $/LicenseInfo$ + */ + +// Precompiled header +#include "llviewerprecompiledheaders.h" +// associated header +#include "groupchatlistener.h" +// STL headers +// std headers +// external library headers +// other Linden headers +#include "llgroupactions.h" + +GroupChatListener::GroupChatListener(): + LLEventAPI("GroupChat", + "API to enter, leave, send and intercept group chat messages") +{ + add("startIM", + "Enter a group chat in group with UUID [\"id\"]\n" + "Assumes the logged-in agent is already a member of this group.", + &LLGroupActions::startIM, + LLSDArray("id")); + add("endIM", + "Leave a group chat in group with UUID [\"id\"]\n" + "Assumes a prior successful startIM request.", + &LLGroupActions::endIM, + LLSDArray("id")); +} -- cgit v1.2.3 From 96f5a8e19cf36a59cd3b5afe413ec8e2d5fc33ce Mon Sep 17 00:00:00 2001 From: "Andrew A. de Laix" Date: Thu, 14 Apr 2011 15:23:09 -0700 Subject: add testing hook to send a group chat IM. --- indra/newview/groupchatlistener.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'indra/newview/groupchatlistener.cpp') diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp index 9b463c9a3f..d9c705adf0 100644 --- a/indra/newview/groupchatlistener.cpp +++ b/indra/newview/groupchatlistener.cpp @@ -18,6 +18,22 @@ // external library headers // other Linden headers #include "llgroupactions.h" +#include "llimview.h" + + +namespace { + void startIm_wrapper(LLSD const & event) + { + LLUUID session_id = LLGroupActions::startIM(event["id"].asUUID()); + sendReply(LLSDMap("session_id", LLSD(session_id)), event); + } + + void send_message_wrapper(const std::string& text, const LLUUID& session_id, const LLUUID& group_id) + { + LLIMModel::sendMessage(text, session_id, group_id, IM_SESSION_GROUP_START); + } +} + GroupChatListener::GroupChatListener(): LLEventAPI("GroupChat", @@ -26,11 +42,18 @@ GroupChatListener::GroupChatListener(): add("startIM", "Enter a group chat in group with UUID [\"id\"]\n" "Assumes the logged-in agent is already a member of this group.", - &LLGroupActions::startIM, - LLSDArray("id")); + &startIm_wrapper); add("endIM", "Leave a group chat in group with UUID [\"id\"]\n" "Assumes a prior successful startIM request.", &LLGroupActions::endIM, LLSDArray("id")); + add("sendIM", + "send a groupchat IM", + &send_message_wrapper, + LLSDArray("text")("session_id")("group_id")); } +/* + static void sendMessage(const std::string& utf8_text, const LLUUID& im_session_id, + const LLUUID& other_participant_id, EInstantMessage dialog); +*/ \ No newline at end of file -- cgit v1.2.3 From 7187698f32031bf0e3cdb198aa0caa188038b88e Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Tue, 19 Apr 2011 21:47:34 -0400 Subject: Add newline to final line of groupchatlistener.cpp. The Linux compiler isn't happy when source files don't end with newline. --- indra/newview/groupchatlistener.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/groupchatlistener.cpp') diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp index d9c705adf0..3758896b85 100644 --- a/indra/newview/groupchatlistener.cpp +++ b/indra/newview/groupchatlistener.cpp @@ -56,4 +56,4 @@ GroupChatListener::GroupChatListener(): /* static void sendMessage(const std::string& utf8_text, const LLUUID& im_session_id, const LLUUID& other_participant_id, EInstantMessage dialog); -*/ \ No newline at end of file +*/ -- cgit v1.2.3 From 7ef5a015de031145d4e246bc66332facc7d6fcb4 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Fri, 20 May 2011 17:21:44 -0400 Subject: correct license headers --- indra/newview/groupchatlistener.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'indra/newview/groupchatlistener.cpp') diff --git a/indra/newview/groupchatlistener.cpp b/indra/newview/groupchatlistener.cpp index 3758896b85..ef015a950d 100644 --- a/indra/newview/groupchatlistener.cpp +++ b/indra/newview/groupchatlistener.cpp @@ -4,8 +4,25 @@ * @date 2011-04-11 * @brief Implementation for groupchatlistener. * - * $LicenseInfo:firstyear=2011&license=internal$ - * Copyright (c) 2011, Linden Research, Inc. + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ -- cgit v1.2.3