LLIMMgr Class Reference

#include <llimview.h>

Inheritance diagram for LLIMMgr:

Inheritance graph
[legend]
Collaboration diagram for LLIMMgr:

Collaboration graph
[legend]

List of all members.

Public Types

enum  EInvitationType { INVITATION_TYPE_INSTANT_MESSAGE = 0, INVITATION_TYPE_VOICE = 1, INVITATION_TYPE_IMMEDIATE = 2 }

Public Member Functions

 LLIMMgr ()
virtual ~LLIMMgr ()
void addMessage (const LLUUID &session_id, const LLUUID &target_id, const char *from, const char *msg, const char *session_name=NULL, EInstantMessage dialog=IM_NOTHING_SPECIAL, U32 parent_estate_id=0, const LLUUID &region_id=LLUUID::null, const LLVector3 &position=LLVector3::zero, bool link_name=false)
void addSystemMessage (const LLUUID &session_id, const LLString &message_name, const LLString::format_map_t &args)
BOOL isIMSessionOpen (const LLUUID &uuid)
LLUUID addSession (const std::string &name, EInstantMessage dialog, const LLUUID &other_participant_id)
LLUUID addSession (const std::string &name, EInstantMessage dialog, const LLUUID &other_participant_id, const LLDynamicArray< LLUUID > &ids)
LLUUID addP2PSession (const std::string &name, const LLUUID &other_participant_id, const LLString &voice_session_handle)
void removeSession (const LLUUID &session_id)
void inviteToSession (const LLUUID &session_id, const LLString &session_name, const LLUUID &caller, const LLString &caller_name, EInstantMessage type, EInvitationType inv_type, const LLString &session_handle=LLString::null)
void updateFloaterSessionID (const LLUUID &old_session_id, const LLUUID &new_session_id)
void processIMTypingStart (const LLIMInfo *im_info)
void processIMTypingStop (const LLIMInfo *im_info)
void refresh ()
void notifyNewIM ()
void clearNewIMNotification ()
BOOL getIMReceived () const
void setFloaterOpen (BOOL open)
BOOL getFloaterOpen ()
LLFloaterChatterBoxgetFloater ()
void disconnectAllSessions ()
BOOL hasSession (const LLUUID &session_id)
LLFloaterIMPanelfindFloaterBySession (const LLUUID &session_id)
void clearPendingInviation (const LLUUID &session_id)
LLSD getPendingAgentListUpdates (const LLUUID &session_id)
void addPendingAgentListUpdates (const LLUUID &sessioN_id, const LLSD &updates)
void clearPendingAgentListUpdates (const LLUUID &session_id)
const std::set< LLHandle
< LLFloater > > & 
getIMFloaterHandles ()

Static Public Member Functions

static void toggle (void *)
static EInstantMessage defaultIMTypeForAgent (const LLUUID &agent_id)
static LLUUID computeSessionID (EInstantMessage dialog, const LLUUID &other_participant_id)

Private Member Functions

LLFloaterIMPanelcreateFloater (const LLUUID &session_id, const LLUUID &target_id, const std::string &name, EInstantMessage dialog, BOOL user_initiated=FALSE)
LLFloaterIMPanelcreateFloater (const LLUUID &session_id, const LLUUID &target_id, const std::string &name, const LLDynamicArray< LLUUID > &ids, EInstantMessage dialog, BOOL user_initiated=FALSE)
void noteOfflineUsers (LLFloaterIMPanel *panel, const LLDynamicArray< LLUUID > &ids)
void noteMutedUsers (LLFloaterIMPanel *panel, const LLDynamicArray< LLUUID > &ids)
void processIMTypingCore (const LLIMInfo *im_info, BOOL typing)

Static Private Member Functions

static void inviteUserResponse (S32 option, void *user_data)
static void onInviteNameLookup (const LLUUID &id, const char *first, const char *last, BOOL is_group, void *userdata)

Private Attributes

std::set< LLHandle< LLFloater > > mFloaters
LLFriendObservermFriendObserver
BOOL mIMReceived
LLSD mPendingInvitations
LLSD mPendingAgentListUpdates

Classes

class  LLIMSessionInvite


Detailed Description

Definition at line 45 of file llimview.h.


Member Enumeration Documentation

Enumerator:
INVITATION_TYPE_INSTANT_MESSAGE 
INVITATION_TYPE_VOICE 
INVITATION_TYPE_IMMEDIATE 

Definition at line 48 of file llimview.h.


Constructor & Destructor Documentation

LLIMMgr::LLIMMgr (  ) 

Definition at line 372 of file llimview.cpp.

References LLAvatarTracker::addObserver(), LLSD::emptyMap(), LLAvatarTracker::instance(), mFriendObserver, mPendingAgentListUpdates, and mPendingInvitations.

Here is the call graph for this function:

LLIMMgr::~LLIMMgr (  )  [virtual]

Definition at line 388 of file llimview.cpp.

References LLAvatarTracker::instance(), mFriendObserver, and LLAvatarTracker::removeObserver().

Here is the call graph for this function:


Member Function Documentation

void LLIMMgr::addMessage ( const LLUUID session_id,
const LLUUID target_id,
const char *  from,
const char *  msg,
const char *  session_name = NULL,
EInstantMessage  dialog = IM_NOTHING_SPECIAL,
U32  parent_estate_id = 0,
const LLUUID region_id = LLUUID::null,
const LLVector3 position = LLVector3::zero,
bool  link_name = false 
)

void LLIMMgr::addSystemMessage ( const LLUUID session_id,
const LLString message_name,
const LLString::format_map_t args 
)

BOOL LLIMMgr::isIMSessionOpen ( const LLUUID uuid  ) 

Definition at line 570 of file llimview.cpp.

References FALSE, findFloaterBySession(), and TRUE.

Here is the call graph for this function:

LLUUID LLIMMgr::addSession ( const std::string &  name,
EInstantMessage  dialog,
const LLUUID other_participant_id 
)

LLUUID LLIMMgr::addSession ( const std::string &  name,
EInstantMessage  dialog,
const LLUUID other_participant_id,
const LLDynamicArray< LLUUID > &  ids 
)

LLUUID LLIMMgr::addP2PSession ( const std::string &  name,
const LLUUID other_participant_id,
const LLString voice_session_handle 
)

Definition at line 577 of file llimview.cpp.

References addSession(), findFloaterBySession(), LLFloaterIMPanel::getVoiceChannel(), IM_NOTHING_SPECIAL, and LLVoiceChannelP2P::setSessionHandle().

Referenced by inviteUserResponse().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::removeSession ( const LLUUID session_id  ) 

void LLIMMgr::inviteToSession ( const LLUUID session_id,
const LLString session_name,
const LLUUID caller,
const LLString caller_name,
EInstantMessage  type,
EInvitationType  inv_type,
const LLString session_handle = LLString::null 
)

void LLIMMgr::updateFloaterSessionID ( const LLUUID old_session_id,
const LLUUID new_session_id 
)

Definition at line 1285 of file llimview.cpp.

References findFloaterBySession(), and LLFloaterIMPanel::sessionInitReplyReceived().

Referenced by LLViewerChatterBoxSessionStartReply::post().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::processIMTypingStart ( const LLIMInfo im_info  ) 

Definition at line 1265 of file llimview.cpp.

References processIMTypingCore(), and TRUE.

Referenced by process_improved_im().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::processIMTypingStop ( const LLIMInfo im_info  ) 

Definition at line 1270 of file llimview.cpp.

References FALSE, and processIMTypingCore().

Referenced by process_improved_im().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::refresh (  ) 

Definition at line 998 of file llimview.cpp.

Referenced by set_god_level(), and update_group_floaters().

Here is the caller graph for this function:

void LLIMMgr::notifyNewIM (  ) 

Definition at line 550 of file llimview.cpp.

References getFloaterOpen(), mIMReceived, and TRUE.

Referenced by addMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::clearNewIMNotification (  ) 

Definition at line 558 of file llimview.cpp.

References FALSE, and mIMReceived.

Referenced by LLFloaterChatterBox::draw().

Here is the caller graph for this function:

BOOL LLIMMgr::getIMReceived (  )  const

Definition at line 563 of file llimview.cpp.

References mIMReceived.

Referenced by addMessage(), and LLOverlayBar::refresh().

Here is the caller graph for this function:

void LLIMMgr::setFloaterOpen ( BOOL  open  ) 

BOOL LLIMMgr::getFloaterOpen (  ) 

Definition at line 1015 of file llimview.cpp.

References LLUIFactory< LLFloaterChatterBox, LLUISingleton< LLFloaterChatterBox, LLFloaterChatterBox >, LLFloaterChatterBox >::instanceVisible().

Referenced by notifyNewIM(), and toggle().

Here is the call graph for this function:

Here is the caller graph for this function:

LLFloaterChatterBox * LLIMMgr::getFloater (  ) 

void LLIMMgr::disconnectAllSessions (  ) 

Definition at line 1020 of file llimview.cpp.

References LLFloater::close(), FALSE, mFloaters, NULL, LLView::setEnabled(), and TRUE.

Referenced by LLAppViewer::idleShutdown().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::toggle ( void *   )  [static]

Definition at line 328 of file llimview.cpp.

References LLAgent::cameraMouselook(), LLAgent::cameraThirdPerson(), LLAgent::changeCameraToDefault(), LLAgent::changeCameraToMouselook(), FALSE, gAgent, getFloaterOpen(), llassert, setFloaterOpen(), and TRUE.

Referenced by LLFloaterIMPanel::handleKeyHere(), and LLFloaterNewIM::handleKeyHere().

Here is the call graph for this function:

Here is the caller graph for this function:

EInstantMessage LLIMMgr::defaultIMTypeForAgent ( const LLUUID agent_id  )  [static]

Definition at line 307 of file llimview.cpp.

References IM_NOTHING_SPECIAL, IM_SESSION_CONFERENCE_START, LLAvatarTracker::instance(), and is_agent_friend().

Referenced by LLFloaterNewIM::onStart().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLIMMgr::hasSession ( const LLUUID session_id  ) 

Definition at line 1064 of file llimview.cpp.

References findFloaterBySession(), and NULL.

Referenced by process_improved_im().

Here is the call graph for this function:

Here is the caller graph for this function:

LLFloaterIMPanel * LLIMMgr::findFloaterBySession ( const LLUUID session_id  ) 

LLUUID LLIMMgr::computeSessionID ( EInstantMessage  dialog,
const LLUUID other_participant_id 
) [static]

Definition at line 108 of file llimview.cpp.

References gAgent, LLUUID::generate(), LLAgent::getID(), IM_SESSION_CONFERENCE_START, IM_SESSION_GROUP_START, and IM_SESSION_INVITE.

Referenced by addMessage(), addSession(), processIMTypingCore(), LLAvatarTracker::processNotify(), and LLVoiceClient::sessionNewEvent().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::clearPendingInviation ( const LLUUID session_id  ) 

Definition at line 1069 of file llimview.cpp.

References LLUUID::asString(), LLSD::erase(), LLSD::has(), and mPendingInvitations.

Referenced by LLViewerChatterBoxInvitationAcceptResponder::error(), inviteUserResponse(), removeSession(), and LLViewerChatterBoxInvitationAcceptResponder::result().

Here is the call graph for this function:

Here is the caller graph for this function:

LLSD LLIMMgr::getPendingAgentListUpdates ( const LLUUID session_id  ) 

Definition at line 1077 of file llimview.cpp.

References LLUUID::asString(), LLSD::has(), and mPendingAgentListUpdates.

Referenced by LLViewerChatterBoxSessionStartReply::post(), and LLViewerChatterBoxInvitationAcceptResponder::result().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::addPendingAgentListUpdates ( const LLUUID sessioN_id,
const LLSD updates 
)

Definition at line 1089 of file llimview.cpp.

References LLSD::append(), LLUUID::asString(), LLSD::beginArray(), LLSD::beginMap(), LLSD::emptyArray(), LLSD::emptyMap(), LLSD::endArray(), LLSD::endMap(), LLSD::has(), LLSD::isMap(), and mPendingAgentListUpdates.

Referenced by LLViewerChatterBoxSessionAgentListUpdates::post().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::clearPendingAgentListUpdates ( const LLUUID session_id  ) 

const std::set<LLHandle<LLFloater> >& LLIMMgr::getIMFloaterHandles (  )  [inline]

Definition at line 169 of file llimview.h.

References mFloaters.

Referenced by LLToolBar::onClickCommunicate(), and LLToolBar::updateCommunicateList().

Here is the caller graph for this function:

LLFloaterIMPanel * LLIMMgr::createFloater ( const LLUUID session_id,
const LLUUID target_id,
const std::string &  name,
EInstantMessage  dialog,
BOOL  user_initiated = FALSE 
) [private]

LLFloaterIMPanel * LLIMMgr::createFloater ( const LLUUID session_id,
const LLUUID target_id,
const std::string &  name,
const LLDynamicArray< LLUUID > &  ids,
EInstantMessage  dialog,
BOOL  user_initiated = FALSE 
) [private]

void LLIMMgr::noteOfflineUsers ( LLFloaterIMPanel panel,
const LLDynamicArray< LLUUID > &  ids 
) [private]

void LLIMMgr::noteMutedUsers ( LLFloaterIMPanel panel,
const LLDynamicArray< LLUUID > &  ids 
) [private]

void LLIMMgr::processIMTypingCore ( const LLIMInfo im_info,
BOOL  typing 
) [private]

Definition at line 1275 of file llimview.cpp.

References computeSessionID(), findFloaterBySession(), LLIMInfo::mFromID, LLIMInfo::mIMType, and LLFloaterIMPanel::processIMTyping().

Referenced by processIMTypingStart(), and processIMTypingStop().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLIMMgr::inviteUserResponse ( S32  option,
void *  user_data 
) [static, private]

void LLIMMgr::onInviteNameLookup ( const LLUUID id,
const char *  first,
const char *  last,
BOOL  is_group,
void *  userdata 
) [static, private]

Definition at line 795 of file llimview.cpp.

References inviteUserResponse(), llformat(), LLIMMgr::LLIMSessionInvite::mCallerName, LLIMMgr::LLIMSessionInvite::mNotifyBox, LLIMMgr::LLIMSessionInvite::mSessionName, and LLNotifyBox::showXml().

Referenced by inviteToSession().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

std::set<LLHandle<LLFloater> > LLIMMgr::mFloaters [private]

Definition at line 205 of file llimview.h.

Referenced by LLIMMgr(), and ~LLIMMgr().

Definition at line 208 of file llimview.h.

Referenced by clearNewIMNotification(), getIMReceived(), and notifyNewIM().

Definition at line 210 of file llimview.h.

Referenced by clearPendingInviation(), inviteToSession(), and LLIMMgr().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:49:58 2008 for SecondLife by  doxygen 1.5.5