summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermessage.h
diff options
context:
space:
mode:
authorAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
committerAnsariel <ansariel.hiller@phoenixviewer.com>2024-05-22 19:04:52 +0200
commit1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch)
treeab243607f74f78200787bba5b9b88f07ef1b966f /indra/newview/llviewermessage.h
parent6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff)
parente1623bb276f83a43ce7a197e388720c05bdefe61 (diff)
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
Diffstat (limited to 'indra/newview/llviewermessage.h')
-rw-r--r--indra/newview/llviewermessage.h550
1 files changed, 275 insertions, 275 deletions
diff --git a/indra/newview/llviewermessage.h b/indra/newview/llviewermessage.h
index b5f7390ce5..ae2a33d640 100644
--- a/indra/newview/llviewermessage.h
+++ b/indra/newview/llviewermessage.h
@@ -1,275 +1,275 @@
-/**
- * @file llviewermessage.h
- * @brief Message system callbacks for viewer.
- *
- * $LicenseInfo:firstyear=2002&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, 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$
- */
-
-#ifndef LL_LLVIEWERMESSAGE_H
-#define LL_LLVIEWERMESSAGE_H
-
-#include "llassettype.h"
-#include "llinstantmessage.h"
-#include "llpointer.h"
-#include "lltransactiontypes.h"
-#include "lluuid.h"
-#include "message.h"
-#include "llnotifications.h"
-#include "llextendedstatus.h"
-
-#include <boost/function.hpp>
-#include <boost/signals2.hpp>
-
-//
-// Forward declarations
-//
-class LLColor4;
-class LLInventoryObject;
-class LLInventoryItem;
-class LLMeanCollisionData;
-class LLMessageSystem;
-class LLViewerObject;
-class LLViewerRegion;
-
-//
-// Prototypes
-//
-
-enum InventoryOfferResponse
-{
- IOR_ACCEPT,
- IOR_DECLINE,
- IOR_MUTE,
- IOR_SHOW
-};
-
-bool can_afford_transaction(S32 cost);
-void give_money(const LLUUID& uuid, LLViewerRegion* region, S32 amount, bool is_group = false,
- S32 trx_type = TRANS_GIFT, const std::string& desc = LLStringUtil::null);
-void send_join_group_response(LLUUID group_id,
- LLUUID transaction_id,
- bool accept_invite,
- S32 fee,
- bool use_offline_cap);
-
-void process_logout_reply(LLMessageSystem* msg, void**);
-void process_layer_data(LLMessageSystem *mesgsys, void **user_data);
-void process_derez_ack(LLMessageSystem*, void**);
-void process_places_reply(LLMessageSystem* msg, void** data);
-void send_sound_trigger(const LLUUID& sound_id, F32 gain);
-void process_improved_im(LLMessageSystem *msg, void **user_data);
-void process_script_question(LLMessageSystem *msg, void **user_data);
-void process_chat_from_simulator(LLMessageSystem *mesgsys, void **user_data);
-
-//void process_agent_to_new_region(LLMessageSystem *mesgsys, void **user_data);
-void send_agent_update(bool force_send, bool send_reliable = false);
-void process_object_update(LLMessageSystem *mesgsys, void **user_data);
-void process_compressed_object_update(LLMessageSystem *mesgsys, void **user_data);
-void process_cached_object_update(LLMessageSystem *mesgsys, void **user_data);
-void process_terse_object_update_improved(LLMessageSystem *mesgsys, void **user_data);
-
-void send_simulator_throttle_settings(const LLHost &host);
-void process_kill_object( LLMessageSystem *mesgsys, void **user_data);
-void process_time_synch( LLMessageSystem *mesgsys, void **user_data);
-void process_sound_trigger(LLMessageSystem *mesgsys, void **user_data);
-void process_preload_sound( LLMessageSystem *mesgsys, void **user_data);
-void process_attached_sound( LLMessageSystem *mesgsys, void **user_data);
-void process_attached_sound_gain_change( LLMessageSystem *mesgsys, void **user_data);
-void process_energy_statistics(LLMessageSystem *mesgsys, void **user_data);
-void process_health_message(LLMessageSystem *mesgsys, void **user_data);
-void process_sim_stats(LLMessageSystem *mesgsys, void **user_data);
-void process_shooter_agent_hit(LLMessageSystem* msg, void** user_data);
-void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data);
-void process_object_animation(LLMessageSystem *mesgsys, void **user_data);
-void process_avatar_appearance(LLMessageSystem *mesgsys, void **user_data);
-void process_camera_constraint(LLMessageSystem *mesgsys, void **user_data);
-void process_avatar_sit_response(LLMessageSystem *mesgsys, void **user_data);
-void process_set_follow_cam_properties(LLMessageSystem *mesgsys, void **user_data);
-void process_clear_follow_cam_properties(LLMessageSystem *mesgsys, void **user_data);
-void process_name_value(LLMessageSystem *mesgsys, void **user_data);
-void process_remove_name_value(LLMessageSystem *mesgsys, void **user_data);
-void process_kick_user(LLMessageSystem *msg, void** /*user_data*/);
-//void process_avatar_init_complete(LLMessageSystem *msg, void** /*user_data*/);
-
-void process_economy_data(LLMessageSystem *msg, void** /*user_data*/);
-void process_money_balance_reply(LLMessageSystem* msg_system, void**);
-void process_adjust_balance(LLMessageSystem* msg_system, void**);
-
-bool attempt_standard_notification(LLMessageSystem* msg);
-void process_alert_message(LLMessageSystem* msg, void**);
-void process_agent_alert_message(LLMessageSystem* msgsystem, void** user_data);
-void process_alert_core(const std::string& message, bool modal);
-
-// "Mean" or player-vs-player abuse
-typedef std::list<LLMeanCollisionData*> mean_collision_list_t;
-extern mean_collision_list_t gMeanCollisionList;
-
-void process_mean_collision_alert_message(LLMessageSystem* msg, void**);
-
-void process_frozen_message(LLMessageSystem* msg, void**);
-
-void process_derez_container(LLMessageSystem *msg, void**);
-void container_inventory_arrived(LLViewerObject* object,
- std::list<LLPointer<LLInventoryObject> >* inventory, //LLInventoryObject::object_list_t
- S32 serial_num,
- void* data);
-
-// agent movement
-void send_complete_agent_movement(const LLHost& sim_host);
-void process_agent_movement_complete(LLMessageSystem* msg, void**);
-void process_crossed_region(LLMessageSystem* msg, void**);
-void process_teleport_start(LLMessageSystem* msg, void**);
-void process_teleport_progress(LLMessageSystem* msg, void**);
-void process_teleport_failed(LLMessageSystem *msg,void**);
-void process_teleport_finish(LLMessageSystem *msg, void**);
-
-//void process_user_sim_location_reply(LLMessageSystem *msg,void**);
-void process_teleport_local(LLMessageSystem *msg,void**);
-void process_user_sim_location_reply(LLMessageSystem *msg,void**);
-
-void send_simple_im(const LLUUID& to_id,
- const std::string& message,
- EInstantMessage dialog = IM_NOTHING_SPECIAL,
- const LLUUID& id = LLUUID::null);
-
-void send_group_notice(const LLUUID& group_id,
- const std::string& subject,
- const std::string& message,
- const LLInventoryItem* item);
-
-void send_do_not_disturb_message (LLMessageSystem* msg, const LLUUID& from_id, const LLUUID& session_id = LLUUID::null);
-
-void handle_lure(const LLUUID& invitee);
-void handle_lure(const uuid_vec_t& ids);
-
-// always from gAgent and
-// routes through the gAgent's current simulator
-void send_improved_im(const LLUUID& to_id,
- const std::string& name,
- const std::string& message,
- U8 offline = IM_ONLINE,
- EInstantMessage dialog = IM_NOTHING_SPECIAL,
- const LLUUID& id = LLUUID::null,
- U32 timestamp = NO_TIMESTAMP,
- const U8* binary_bucket = (U8*)EMPTY_BINARY_BUCKET,
- S32 binary_bucket_size = EMPTY_BINARY_BUCKET_SIZE);
-
-void process_user_info_reply(LLMessageSystem* msg, void**);
-
-// method to format the time.
-std::string formatted_time(const time_t& the_time);
-
-void send_places_query(const LLUUID& query_id,
- const LLUUID& trans_id,
- const std::string& query_text,
- U32 query_flags,
- S32 category,
- const std::string& sim_name);
-void process_script_dialog(LLMessageSystem* msg, void**);
-void process_load_url(LLMessageSystem* msg, void**);
-void process_script_teleport_request(LLMessageSystem* msg, void**);
-void process_covenant_reply(LLMessageSystem* msg, void**);
-void onCovenantLoadComplete(const LLUUID& asset_uuid,
- LLAssetType::EType type,
- void* user_data, S32 status, LLExtStat ext_status);
-
-// calling cards
-void process_offer_callingcard(LLMessageSystem* msg, void**);
-void process_accept_callingcard(LLMessageSystem* msg, void**);
-void process_decline_callingcard(LLMessageSystem* msg, void**);
-
-// Message system exception prototypes
-void invalid_message_callback(LLMessageSystem*, void*, EMessageException);
-
-void process_initiate_download(LLMessageSystem* msg, void**);
-void start_new_inventory_observer();
-void open_inventory_offer(const uuid_vec_t& items, const std::string& from_name);
-
-// Returns true if item is not in certain "quiet" folder which don't need UI
-// notification (e.g. trash, cof, lost-and-found) and agent is not AFK, false otherwise.
-// Returns false if item is not found.
-bool highlight_offered_object(const LLUUID& obj_id);
-
-void set_dad_inventory_item(LLInventoryItem* inv_item, const LLUUID& into_folder_uuid);
-void set_dad_inbox_object(const LLUUID& object_id);
-
-class LLViewerMessage : public LLSingleton<LLViewerMessage>
-{
- LLSINGLETON_EMPTY_CTOR(LLViewerMessage);
-public:
- typedef boost::function<void()> teleport_started_callback_t;
- typedef boost::signals2::signal<void()> teleport_started_signal_t;
- boost::signals2::connection setTeleportStartedCallback(teleport_started_callback_t cb);
-
- teleport_started_signal_t mTeleportStartedSignal;
-};
-
-class LLOfferInfo : public LLNotificationResponderInterface
-{
-public:
- LLOfferInfo();
- LLOfferInfo(const LLSD& sd);
-
- LLOfferInfo(const LLOfferInfo& info);
-
- void forceResponse(InventoryOfferResponse response);
-
- static std::string mResponderType;
- EInstantMessage mIM;
- LLUUID mFromID;
- bool mFromGroup;
- bool mFromObject;
- LLUUID mTransactionID;
- LLUUID mFolderID;
- LLUUID mObjectID;
- LLAssetType::EType mType;
- std::string mFromName;
- std::string mDesc;
- LLHost mHost;
- bool mPersist;
-
- // LLNotificationResponderInterface implementation
- /*virtual*/ LLSD asLLSD();
- /*virtual*/ void fromLLSD(const LLSD& params);
- /*virtual*/ void handleRespond(const LLSD& notification, const LLSD& response);
-
- void send_auto_receive_response() { sendReceiveResponse(true, mFolderID); }
-
- // TODO - replace all references with handleRespond()
- bool inventory_offer_callback(const LLSD& notification, const LLSD& response);
- bool inventory_task_offer_callback(const LLSD& notification, const LLSD& response);
-
-private:
-
- void initRespondFunctionMap();
- std::string getSanitizedDescription();
- void sendReceiveResponse(bool accept, const LLUUID &destination_folder_id);
-
- typedef boost::function<bool (const LLSD&, const LLSD&)> respond_function_t;
- typedef std::map<std::string, respond_function_t> respond_function_map_t;
-
- respond_function_map_t mRespondFunctions;
-};
-
-void process_feature_disabled_message(LLMessageSystem* msg, void**);
-
-#endif
+/**
+ * @file llviewermessage.h
+ * @brief Message system callbacks for viewer.
+ *
+ * $LicenseInfo:firstyear=2002&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, 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$
+ */
+
+#ifndef LL_LLVIEWERMESSAGE_H
+#define LL_LLVIEWERMESSAGE_H
+
+#include "llassettype.h"
+#include "llinstantmessage.h"
+#include "llpointer.h"
+#include "lltransactiontypes.h"
+#include "lluuid.h"
+#include "message.h"
+#include "llnotifications.h"
+#include "llextendedstatus.h"
+
+#include <boost/function.hpp>
+#include <boost/signals2.hpp>
+
+//
+// Forward declarations
+//
+class LLColor4;
+class LLInventoryObject;
+class LLInventoryItem;
+class LLMeanCollisionData;
+class LLMessageSystem;
+class LLViewerObject;
+class LLViewerRegion;
+
+//
+// Prototypes
+//
+
+enum InventoryOfferResponse
+{
+ IOR_ACCEPT,
+ IOR_DECLINE,
+ IOR_MUTE,
+ IOR_SHOW
+};
+
+bool can_afford_transaction(S32 cost);
+void give_money(const LLUUID& uuid, LLViewerRegion* region, S32 amount, bool is_group = false,
+ S32 trx_type = TRANS_GIFT, const std::string& desc = LLStringUtil::null);
+void send_join_group_response(LLUUID group_id,
+ LLUUID transaction_id,
+ bool accept_invite,
+ S32 fee,
+ bool use_offline_cap);
+
+void process_logout_reply(LLMessageSystem* msg, void**);
+void process_layer_data(LLMessageSystem *mesgsys, void **user_data);
+void process_derez_ack(LLMessageSystem*, void**);
+void process_places_reply(LLMessageSystem* msg, void** data);
+void send_sound_trigger(const LLUUID& sound_id, F32 gain);
+void process_improved_im(LLMessageSystem *msg, void **user_data);
+void process_script_question(LLMessageSystem *msg, void **user_data);
+void process_chat_from_simulator(LLMessageSystem *mesgsys, void **user_data);
+
+//void process_agent_to_new_region(LLMessageSystem *mesgsys, void **user_data);
+void send_agent_update(bool force_send, bool send_reliable = false);
+void process_object_update(LLMessageSystem *mesgsys, void **user_data);
+void process_compressed_object_update(LLMessageSystem *mesgsys, void **user_data);
+void process_cached_object_update(LLMessageSystem *mesgsys, void **user_data);
+void process_terse_object_update_improved(LLMessageSystem *mesgsys, void **user_data);
+
+void send_simulator_throttle_settings(const LLHost &host);
+void process_kill_object( LLMessageSystem *mesgsys, void **user_data);
+void process_time_synch( LLMessageSystem *mesgsys, void **user_data);
+void process_sound_trigger(LLMessageSystem *mesgsys, void **user_data);
+void process_preload_sound( LLMessageSystem *mesgsys, void **user_data);
+void process_attached_sound( LLMessageSystem *mesgsys, void **user_data);
+void process_attached_sound_gain_change( LLMessageSystem *mesgsys, void **user_data);
+void process_energy_statistics(LLMessageSystem *mesgsys, void **user_data);
+void process_health_message(LLMessageSystem *mesgsys, void **user_data);
+void process_sim_stats(LLMessageSystem *mesgsys, void **user_data);
+void process_shooter_agent_hit(LLMessageSystem* msg, void** user_data);
+void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data);
+void process_object_animation(LLMessageSystem *mesgsys, void **user_data);
+void process_avatar_appearance(LLMessageSystem *mesgsys, void **user_data);
+void process_camera_constraint(LLMessageSystem *mesgsys, void **user_data);
+void process_avatar_sit_response(LLMessageSystem *mesgsys, void **user_data);
+void process_set_follow_cam_properties(LLMessageSystem *mesgsys, void **user_data);
+void process_clear_follow_cam_properties(LLMessageSystem *mesgsys, void **user_data);
+void process_name_value(LLMessageSystem *mesgsys, void **user_data);
+void process_remove_name_value(LLMessageSystem *mesgsys, void **user_data);
+void process_kick_user(LLMessageSystem *msg, void** /*user_data*/);
+//void process_avatar_init_complete(LLMessageSystem *msg, void** /*user_data*/);
+
+void process_economy_data(LLMessageSystem *msg, void** /*user_data*/);
+void process_money_balance_reply(LLMessageSystem* msg_system, void**);
+void process_adjust_balance(LLMessageSystem* msg_system, void**);
+
+bool attempt_standard_notification(LLMessageSystem* msg);
+void process_alert_message(LLMessageSystem* msg, void**);
+void process_agent_alert_message(LLMessageSystem* msgsystem, void** user_data);
+void process_alert_core(const std::string& message, bool modal);
+
+// "Mean" or player-vs-player abuse
+typedef std::list<LLMeanCollisionData*> mean_collision_list_t;
+extern mean_collision_list_t gMeanCollisionList;
+
+void process_mean_collision_alert_message(LLMessageSystem* msg, void**);
+
+void process_frozen_message(LLMessageSystem* msg, void**);
+
+void process_derez_container(LLMessageSystem *msg, void**);
+void container_inventory_arrived(LLViewerObject* object,
+ std::list<LLPointer<LLInventoryObject> >* inventory, //LLInventoryObject::object_list_t
+ S32 serial_num,
+ void* data);
+
+// agent movement
+void send_complete_agent_movement(const LLHost& sim_host);
+void process_agent_movement_complete(LLMessageSystem* msg, void**);
+void process_crossed_region(LLMessageSystem* msg, void**);
+void process_teleport_start(LLMessageSystem* msg, void**);
+void process_teleport_progress(LLMessageSystem* msg, void**);
+void process_teleport_failed(LLMessageSystem *msg,void**);
+void process_teleport_finish(LLMessageSystem *msg, void**);
+
+//void process_user_sim_location_reply(LLMessageSystem *msg,void**);
+void process_teleport_local(LLMessageSystem *msg,void**);
+void process_user_sim_location_reply(LLMessageSystem *msg,void**);
+
+void send_simple_im(const LLUUID& to_id,
+ const std::string& message,
+ EInstantMessage dialog = IM_NOTHING_SPECIAL,
+ const LLUUID& id = LLUUID::null);
+
+void send_group_notice(const LLUUID& group_id,
+ const std::string& subject,
+ const std::string& message,
+ const LLInventoryItem* item);
+
+void send_do_not_disturb_message (LLMessageSystem* msg, const LLUUID& from_id, const LLUUID& session_id = LLUUID::null);
+
+void handle_lure(const LLUUID& invitee);
+void handle_lure(const uuid_vec_t& ids);
+
+// always from gAgent and
+// routes through the gAgent's current simulator
+void send_improved_im(const LLUUID& to_id,
+ const std::string& name,
+ const std::string& message,
+ U8 offline = IM_ONLINE,
+ EInstantMessage dialog = IM_NOTHING_SPECIAL,
+ const LLUUID& id = LLUUID::null,
+ U32 timestamp = NO_TIMESTAMP,
+ const U8* binary_bucket = (U8*)EMPTY_BINARY_BUCKET,
+ S32 binary_bucket_size = EMPTY_BINARY_BUCKET_SIZE);
+
+void process_user_info_reply(LLMessageSystem* msg, void**);
+
+// method to format the time.
+std::string formatted_time(const time_t& the_time);
+
+void send_places_query(const LLUUID& query_id,
+ const LLUUID& trans_id,
+ const std::string& query_text,
+ U32 query_flags,
+ S32 category,
+ const std::string& sim_name);
+void process_script_dialog(LLMessageSystem* msg, void**);
+void process_load_url(LLMessageSystem* msg, void**);
+void process_script_teleport_request(LLMessageSystem* msg, void**);
+void process_covenant_reply(LLMessageSystem* msg, void**);
+void onCovenantLoadComplete(const LLUUID& asset_uuid,
+ LLAssetType::EType type,
+ void* user_data, S32 status, LLExtStat ext_status);
+
+// calling cards
+void process_offer_callingcard(LLMessageSystem* msg, void**);
+void process_accept_callingcard(LLMessageSystem* msg, void**);
+void process_decline_callingcard(LLMessageSystem* msg, void**);
+
+// Message system exception prototypes
+void invalid_message_callback(LLMessageSystem*, void*, EMessageException);
+
+void process_initiate_download(LLMessageSystem* msg, void**);
+void start_new_inventory_observer();
+void open_inventory_offer(const uuid_vec_t& items, const std::string& from_name);
+
+// Returns true if item is not in certain "quiet" folder which don't need UI
+// notification (e.g. trash, cof, lost-and-found) and agent is not AFK, false otherwise.
+// Returns false if item is not found.
+bool highlight_offered_object(const LLUUID& obj_id);
+
+void set_dad_inventory_item(LLInventoryItem* inv_item, const LLUUID& into_folder_uuid);
+void set_dad_inbox_object(const LLUUID& object_id);
+
+class LLViewerMessage : public LLSingleton<LLViewerMessage>
+{
+ LLSINGLETON_EMPTY_CTOR(LLViewerMessage);
+public:
+ typedef boost::function<void()> teleport_started_callback_t;
+ typedef boost::signals2::signal<void()> teleport_started_signal_t;
+ boost::signals2::connection setTeleportStartedCallback(teleport_started_callback_t cb);
+
+ teleport_started_signal_t mTeleportStartedSignal;
+};
+
+class LLOfferInfo : public LLNotificationResponderInterface
+{
+public:
+ LLOfferInfo();
+ LLOfferInfo(const LLSD& sd);
+
+ LLOfferInfo(const LLOfferInfo& info);
+
+ void forceResponse(InventoryOfferResponse response);
+
+ static std::string mResponderType;
+ EInstantMessage mIM;
+ LLUUID mFromID;
+ bool mFromGroup;
+ bool mFromObject;
+ LLUUID mTransactionID;
+ LLUUID mFolderID;
+ LLUUID mObjectID;
+ LLAssetType::EType mType;
+ std::string mFromName;
+ std::string mDesc;
+ LLHost mHost;
+ bool mPersist;
+
+ // LLNotificationResponderInterface implementation
+ /*virtual*/ LLSD asLLSD();
+ /*virtual*/ void fromLLSD(const LLSD& params);
+ /*virtual*/ void handleRespond(const LLSD& notification, const LLSD& response);
+
+ void send_auto_receive_response() { sendReceiveResponse(true, mFolderID); }
+
+ // TODO - replace all references with handleRespond()
+ bool inventory_offer_callback(const LLSD& notification, const LLSD& response);
+ bool inventory_task_offer_callback(const LLSD& notification, const LLSD& response);
+
+private:
+
+ void initRespondFunctionMap();
+ std::string getSanitizedDescription();
+ void sendReceiveResponse(bool accept, const LLUUID &destination_folder_id);
+
+ typedef boost::function<bool (const LLSD&, const LLSD&)> respond_function_t;
+ typedef std::map<std::string, respond_function_t> respond_function_map_t;
+
+ respond_function_map_t mRespondFunctions;
+};
+
+void process_feature_disabled_message(LLMessageSystem* msg, void**);
+
+#endif