Add LLIMProcessing and support for new message caps! And UserInfo cap!

Also delayed sound support!
Fixed memory leaks and pass by values that LL likes to introduce.
Extended LLCoroResponder to have a responder for Raw strings, also clean it
Adds friend request message logging.
This commit is contained in:
Liru Færs
2020-02-25 02:32:14 -05:00
parent 6a56d048c0
commit 842d1b8d93
17 changed files with 3221 additions and 2369 deletions

View File

@@ -33,8 +33,6 @@
#ifndef LL_LLAGENT_H
#define LL_LLAGENT_H
#include <set>
#include "indra_constants.h"
#include "llevent.h" // LLObservable base class
#include "llagentconstants.h"
@@ -46,7 +44,6 @@
#include "llinventorymodel.h"
#include "v3dmath.h"
#include <boost/function.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/signals2.hpp>
@@ -70,6 +67,7 @@ class LLAgentAccess;
class LLSLURL;
class LLSimInfo;
class LLTeleportRequest;
struct LLCoroResponder;
typedef boost::shared_ptr<LLTeleportRequest> LLTeleportRequestPtr;
@@ -100,7 +98,7 @@ struct LLGroupData
//------------------------------------------------------------------------
// LLAgent
//------------------------------------------------------------------------
class LLAgent : public LLOldEvents::LLObservable
class LLAgent final : public LLOldEvents::LLObservable
{
LOG_CLASS(LLAgent);
@@ -248,7 +246,7 @@ public:
void changeParcels(); // called by LLViewerParcelMgr when we cross a parcel boundary
// Register a boost callback to be called when the agent changes parcels
typedef boost::function<void()> parcel_changed_callback_t;
typedef std::function<void()> parcel_changed_callback_t;
boost::signals2::connection addParcelChangedCallback(parcel_changed_callback_t);
private:
@@ -786,7 +784,7 @@ public:
void requestEnterGodMode();
void requestLeaveGodMode();
typedef boost::function<void (U8)> god_level_change_callback_t;
typedef std::function<void (U8)> god_level_change_callback_t;
typedef boost::signals2::signal<void (U8)> god_level_change_signal_t;
typedef boost::signals2::connection god_level_change_slot_t;
@@ -808,7 +806,7 @@ public:
bool canAccessMature() const;
bool canAccessAdult() const;
bool canAccessMaturityInRegion( U64 region_handle ) const;
bool canAccessMaturityAtGlobal( LLVector3d pos_global ) const;
bool canAccessMaturityAtGlobal( const LLVector3d& pos_global ) const;
bool prefersPG() const;
bool prefersMature() const;
bool prefersAdult() const;
@@ -965,9 +963,17 @@ public:
void sendAgentSetAppearance();
void sendAgentDataUpdateRequest();
void sendAgentUserInfoRequest();
// IM to Email and Online visibility
// IM to Email and Online visibility
void sendAgentUpdateUserInfo(bool im_to_email, const std::string& directory_visibility);
private:
void requestAgentUserInfoCoro(const LLCoroResponder& responder);
void updateAgentUserInfoCoro(const LLCoroResponder& responder);
// DEPRECATED: may be removed when User Info cap propagates
void sendAgentUserInfoRequestMessage();
void sendAgentUpdateUserInfoMessage(bool im_via_email, const std::string& directory_visibility);
//--------------------------------------------------------------------
// Receive
//--------------------------------------------------------------------