summaryrefslogtreecommitdiff
path: root/indra/newview/llavataractions.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llavataractions.h')
-rw-r--r--indra/newview/llavataractions.h86
1 files changed, 83 insertions, 3 deletions
diff --git a/indra/newview/llavataractions.h b/indra/newview/llavataractions.h
index 512f673b43..9d8b4b4e23 100644
--- a/indra/newview/llavataractions.h
+++ b/indra/newview/llavataractions.h
@@ -33,6 +33,13 @@
#ifndef LL_LLAVATARACTIONS_H
#define LL_LLAVATARACTIONS_H
+#include "lldarray.h"
+#include "llsd.h"
+#include "lluuid.h"
+
+#include <string>
+#include <vector>
+
/**
* Friend-related actions (add, remove, offer teleport, etc)
*/
@@ -53,13 +60,13 @@ public:
* Show a friend removal dialog.
*/
static void removeFriendDialog(const LLUUID& id);
- static void removeFriendsDialog(const std::vector<LLUUID>& ids);
+ static void removeFriendsDialog(const uuid_vec_t& ids);
/**
* Show teleport offer dialog.
*/
static void offerTeleport(const LLUUID& invitee);
- static void offerTeleport(const std::vector<LLUUID>& ids);
+ static void offerTeleport(const uuid_vec_t& ids);
/**
* Start instant messaging session.
@@ -67,9 +74,24 @@ public:
static void startIM(const LLUUID& id);
/**
+ * End instant messaging session.
+ */
+ static void endIM(const LLUUID& id);
+
+ /**
+ * Start an avatar-to-avatar voice call with another user
+ */
+ static void startCall(const LLUUID& id);
+
+ /**
+ * Start an ad-hoc conference voice call with multiple users
+ */
+ static void startAdhocCall(const uuid_vec_t& ids);
+
+ /**
* Start conference chat with the given avatars.
*/
- static void startConference(const std::vector<LLUUID>& ids);
+ static void startConference(const uuid_vec_t& ids);
/**
* Show avatar profile.
@@ -77,11 +99,21 @@ public:
static void showProfile(const LLUUID& id);
/**
+ * Show avatar on world map.
+ */
+ static void showOnMap(const LLUUID& id);
+
+ /**
* Give money to the avatar.
*/
static void pay(const LLUUID& id);
/**
+ * Share items with the avatar.
+ */
+ static void share(const LLUUID& id);
+
+ /**
* Block/unblock the avatar.
*/
static void toggleBlock(const LLUUID& id);
@@ -97,15 +129,63 @@ public:
static bool isBlocked(const LLUUID& id);
/**
+ * @return true if you can block the avatar
+ */
+ static bool canBlock(const LLUUID& id);
+
+ /**
+ * Return true if the avatar is in a P2P voice call with a given user
+ */
+ /* AD *TODO: Is this function needed any more?
+ I fixed it a bit(added check for canCall), but it appears that it is not used
+ anywhere. Maybe it should be removed?
+ static bool isCalling(const LLUUID &id);*/
+
+ /**
+ * @return true if call to the resident can be made
+ */
+
+ static bool canCall();
+ /**
* Invite avatar to a group.
*/
static void inviteToGroup(const LLUUID& id);
+ /**
+ * Kick avatar off grid
+ */
+ static void kick(const LLUUID& id);
+
+ /**
+ * Freeze avatar
+ */
+ static void freeze(const LLUUID& id);
+
+ /**
+ * Unfreeze avatar
+ */
+ static void unfreeze(const LLUUID& id);
+
+ /**
+ * Open csr page for avatar
+ */
+ static void csr(const LLUUID& id, std::string name);
+
+ /**
+ * Checks whether can offer teleport to the avatar
+ * Can't offer only for offline friends
+ */
+ static bool canOfferTeleport(const LLUUID& id);
+
+
private:
static bool callbackAddFriend(const LLSD& notification, const LLSD& response);
static bool callbackAddFriendWithMessage(const LLSD& notification, const LLSD& response);
static bool handleRemove(const LLSD& notification, const LLSD& response);
static bool handlePay(const LLSD& notification, const LLSD& response, LLUUID avatar_id);
+ static bool handleKick(const LLSD& notification, const LLSD& response);
+ static bool handleFreeze(const LLSD& notification, const LLSD& response);
+ static bool handleUnfreeze(const LLSD& notification, const LLSD& response);
static void callback_invite_to_group(LLUUID group_id, LLUUID id);
// Just request friendship, no dialog.