llinstantmessage.h File Reference

Constants and declarations used by instant messages. More...

#include "llhost.h"
#include "lluuid.h"
#include "llsd.h"
#include "llmemory.h"
#include "v3math.h"

Include dependency graph for llinstantmessage.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  LLIMInfo

Enumerations

enum  EInstantMessage {
  IM_NOTHING_SPECIAL = 0, IM_MESSAGEBOX = 1, IM_GROUP_INVITATION = 3, IM_INVENTORY_OFFERED = 4,
  IM_INVENTORY_ACCEPTED = 5, IM_INVENTORY_DECLINED = 6, IM_GROUP_VOTE = 7, IM_GROUP_MESSAGE_DEPRECATED = 8,
  IM_TASK_INVENTORY_OFFERED = 9, IM_TASK_INVENTORY_ACCEPTED = 10, IM_TASK_INVENTORY_DECLINED = 11, IM_NEW_USER_DEFAULT = 12,
  IM_SESSION_INVITE = 13, IM_SESSION_P2P_INVITE = 14, IM_SESSION_GROUP_START = 15, IM_SESSION_CONFERENCE_START = 16,
  IM_SESSION_SEND = 17, IM_SESSION_LEAVE = 18, IM_FROM_TASK = 19, IM_BUSY_AUTO_RESPONSE = 20,
  IM_CONSOLE_AND_CHAT_HISTORY = 21, IM_LURE_USER = 22, IM_LURE_ACCEPTED = 23, IM_LURE_DECLINED = 24,
  IM_GODLIKE_LURE_USER = 25, IM_YET_TO_BE_USED = 26, IM_GROUP_ELECTION_DEPRECATED = 27, IM_GOTO_URL = 28,
  IM_FROM_TASK_AS_ALERT = 31, IM_GROUP_NOTICE = 32, IM_GROUP_NOTICE_INVENTORY_ACCEPTED = 33, IM_GROUP_NOTICE_INVENTORY_DECLINED = 34,
  IM_GROUP_INVITATION_ACCEPT = 35, IM_GROUP_INVITATION_DECLINE = 36, IM_GROUP_NOTICE_REQUESTED = 37, IM_FRIENDSHIP_OFFERED = 38,
  IM_FRIENDSHIP_ACCEPTED = 39, IM_FRIENDSHIP_DECLINED = 40, IM_TYPING_START = 41, IM_TYPING_STOP = 42,
  IM_COUNT
}
enum  EGodlikeRequest {
  GOD_WANTS_NOTHING, GOD_WANTS_HAVOK_INFO, GOD_WANTS_FOO, GOD_WANTS_BAR,
  GOD_WANTS_TERRAIN_SAVE, GOD_WANTS_TERRAIN_LOAD, GOD_WANTS_TOGGLE_AVATAR_GEOMETRY, GOD_WANTS_TELEHUB_INFO,
  GOD_WANTS_CONNECT_TELEHUB, GOD_WANTS_DELETE_TELEHUB, GOD_WANTS_ADD_TELEHUB_SPAWNPOINT, GOD_WANTS_REMOVE_TELEHUB_SPAWNPOINT
}
enum  EIMSource { IM_FROM_VIEWER, IM_FROM_DATASERVER, IM_FROM_SIM }

Functions

LLPointer< LLIMInfollsd_to_im_info (const LLSD &im_info_sd)
LLSD im_info_to_llsd (LLPointer< LLIMInfo > im_info)
void pack_instant_message (LLMessageSystem *msgsystem, const LLUUID &from_id, BOOL from_group, const LLUUID &session_id, const LLUUID &to_id, const char *name, const char *message, U8 offline=IM_ONLINE, EInstantMessage dialog=IM_NOTHING_SPECIAL, const LLUUID &id=LLUUID::null, U32 parent_estate_id=0, const LLUUID &region_id=LLUUID::null, const LLVector3 &position=LLVector3::zero, U32 timestamp=NO_TIMESTAMP, const U8 *binary_bucket=(U8 *) EMPTY_BINARY_BUCKET, S32 binary_bucket_size=EMPTY_BINARY_BUCKET_SIZE)
void pack_instant_message_block (LLMessageSystem *msgsystem, const LLUUID &from_id, BOOL from_group, const LLUUID &session_id, const LLUUID &to_id, const char *name, const char *message, U8 offline=IM_ONLINE, EInstantMessage dialog=IM_NOTHING_SPECIAL, const LLUUID &id=LLUUID::null, U32 parent_estate_id=0, const LLUUID &region_id=LLUUID::null, const LLVector3 &position=LLVector3::zero, U32 timestamp=NO_TIMESTAMP, const U8 *binary_bucket=(U8 *) EMPTY_BINARY_BUCKET, S32 binary_bucket_size=EMPTY_BINARY_BUCKET_SIZE)

Variables

const U8 IM_ONLINE
const U8 IM_OFFLINE
const S32 VOTE_YES
const S32 VOTE_NO
const S32 VOTE_ABSTAIN
const S32 VOTE_MAJORITY
const S32 VOTE_SUPER_MAJORITY
const S32 VOTE_UNANIMOUS
const char EMPTY_BINARY_BUCKET []
const S32 EMPTY_BINARY_BUCKET_SIZE
const U32 NO_TIMESTAMP
const char SYSTEM_FROM []
const S32 IM_TTL


Detailed Description

Constants and declarations used by instant messages.

LicenseInfo
firstyear=2002&license=viewergpl

Copyright (c) 2002-2007, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlife.com/developers/opensource/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlife.com/developers/opensource/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file llinstantmessage.h.


Enumeration Type Documentation

enum EGodlikeRequest

Enumerator:
GOD_WANTS_NOTHING 
GOD_WANTS_HAVOK_INFO 
GOD_WANTS_FOO 
GOD_WANTS_BAR 
GOD_WANTS_TERRAIN_SAVE 
GOD_WANTS_TERRAIN_LOAD 
GOD_WANTS_TOGGLE_AVATAR_GEOMETRY 
GOD_WANTS_TELEHUB_INFO 
GOD_WANTS_CONNECT_TELEHUB 
GOD_WANTS_DELETE_TELEHUB 
GOD_WANTS_ADD_TELEHUB_SPAWNPOINT 
GOD_WANTS_REMOVE_TELEHUB_SPAWNPOINT 

Definition at line 175 of file llinstantmessage.h.

enum EIMSource

Enumerator:
IM_FROM_VIEWER 
IM_FROM_DATASERVER 
IM_FROM_SIM 

Definition at line 203 of file llinstantmessage.h.

enum EInstantMessage

Enumerator:
IM_NOTHING_SPECIAL 
IM_MESSAGEBOX 
IM_GROUP_INVITATION 
IM_INVENTORY_OFFERED 
IM_INVENTORY_ACCEPTED 
IM_INVENTORY_DECLINED 
IM_GROUP_VOTE 
IM_GROUP_MESSAGE_DEPRECATED 
IM_TASK_INVENTORY_OFFERED 
IM_TASK_INVENTORY_ACCEPTED 
IM_TASK_INVENTORY_DECLINED 
IM_NEW_USER_DEFAULT 
IM_SESSION_INVITE 
IM_SESSION_P2P_INVITE 
IM_SESSION_GROUP_START 
IM_SESSION_CONFERENCE_START 
IM_SESSION_SEND 
IM_SESSION_LEAVE 
IM_FROM_TASK 
IM_BUSY_AUTO_RESPONSE 
IM_CONSOLE_AND_CHAT_HISTORY 
IM_LURE_USER 
IM_LURE_ACCEPTED 
IM_LURE_DECLINED 
IM_GODLIKE_LURE_USER 
IM_YET_TO_BE_USED 
IM_GROUP_ELECTION_DEPRECATED 
IM_GOTO_URL 
IM_FROM_TASK_AS_ALERT 
IM_GROUP_NOTICE 
IM_GROUP_NOTICE_INVENTORY_ACCEPTED 
IM_GROUP_NOTICE_INVENTORY_DECLINED 
IM_GROUP_INVITATION_ACCEPT 
IM_GROUP_INVITATION_DECLINE 
IM_GROUP_NOTICE_REQUESTED 
IM_FRIENDSHIP_OFFERED 
IM_FRIENDSHIP_ACCEPTED 
IM_FRIENDSHIP_DECLINED 
IM_TYPING_START 
IM_TYPING_STOP 
IM_COUNT 

Definition at line 45 of file llinstantmessage.h.


Function Documentation

LLSD im_info_to_llsd ( LLPointer< LLIMInfo im_info  ) 

Definition at line 317 of file llinstantmessage.cpp.

References ll_sd_from_vector3(), params, and S32.

LLPointer<LLIMInfo> llsd_to_im_info ( const LLSD im_info_sd  ) 

Definition at line 349 of file llinstantmessage.cpp.

References ll_vector3_from_sd().

void pack_instant_message ( LLMessageSystem msgsystem,
const LLUUID from_id,
BOOL  from_group,
const LLUUID session_id,
const LLUUID to_id,
const char *  name,
const char *  message,
U8  offline = IM_ONLINE,
EInstantMessage  dialog = IM_NOTHING_SPECIAL,
const LLUUID id = LLUUID::null,
U32  parent_estate_id = 0,
const LLUUID region_id = LLUUID::null,
const LLVector3 position = LLVector3::zero,
U32  timestamp = NO_TIMESTAMP,
const U8 binary_bucket = (U8 *) EMPTY_BINARY_BUCKET,
S32  binary_bucket_size = EMPTY_BINARY_BUCKET_SIZE 
)

Definition at line 160 of file llinstantmessage.cpp.

References _PREHASH_ImprovedInstantMessage, lldebugs, llendl, LLMessageSystem::newMessageFast(), and pack_instant_message_block().

Referenced by busy_message(), LLToolDragAndDrop::commitGiveInventoryCategory(), LLToolDragAndDrop::commitGiveInventoryItem(), deliver_message(), LLFloaterIMPanel::onClose(), process_improved_im(), send_improved_im(), and LLFloaterIMPanel::sendTypingState().

void pack_instant_message_block ( LLMessageSystem msgsystem,
const LLUUID from_id,
BOOL  from_group,
const LLUUID session_id,
const LLUUID to_id,
const char *  name,
const char *  message,
U8  offline = IM_ONLINE,
EInstantMessage  dialog = IM_NOTHING_SPECIAL,
const LLUUID id = LLUUID::null,
U32  parent_estate_id = 0,
const LLUUID region_id = LLUUID::null,
const LLVector3 position = LLVector3::zero,
U32  timestamp = NO_TIMESTAMP,
const U8 binary_bucket = (U8 *) EMPTY_BINARY_BUCKET,
S32  binary_bucket_size = EMPTY_BINARY_BUCKET_SIZE 
)

Definition at line 199 of file llinstantmessage.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_BinaryBucket, _PREHASH_Dialog, _PREHASH_FromAgentName, _PREHASH_FromGroup, _PREHASH_ID, _PREHASH_Message, _PREHASH_MessageBlock, _PREHASH_Offline, _PREHASH_ParentEstateID, _PREHASH_Position, _PREHASH_RegionID, _PREHASH_SessionID, _PREHASH_Timestamp, _PREHASH_ToAgentID, LLMessageSystem::addBinaryDataFast(), LLMessageSystem::addBOOLFast(), LLMessageSystem::addStringFast(), LLMessageSystem::addU32Fast(), LLMessageSystem::addU8Fast(), LLMessageSystem::addUUIDFast(), LLMessageSystem::addVector3Fast(), EMPTY_BINARY_BUCKET, EMPTY_BINARY_BUCKET_SIZE, llendl, llmax(), llmin(), llwarns, MTUBYTES, LLMessageSystem::nextBlockFast(), NULL, and S32.

Referenced by pack_instant_message(), and LLIMInfo::packMessageBlock().


Variable Documentation

const char EMPTY_BINARY_BUCKET[]

Definition at line 59 of file llinstantmessage.cpp.

Referenced by inventory_offer_callback(), pack_instant_message_block(), send_group_notice(), send_simple_im(), and send_start_session_messages().

const S32 EMPTY_BINARY_BUCKET_SIZE

Definition at line 60 of file llinstantmessage.cpp.

Referenced by inventory_offer_callback(), pack_instant_message_block(), send_group_notice(), send_simple_im(), and send_start_session_messages().

const U8 IM_OFFLINE

Definition at line 49 of file llinstantmessage.cpp.

Referenced by deliver_message(), LLViewerChatterBoxInvitation::post(), and process_improved_im().

const U8 IM_ONLINE

Definition at line 48 of file llinstantmessage.cpp.

Referenced by busy_message(), LLToolDragAndDrop::commitGiveInventoryCategory(), LLToolDragAndDrop::commitGiveInventoryItem(), deliver_message(), inventory_offer_callback(), join_group_callback(), LLFloaterIMPanel::onClose(), process_improved_im(), LLPanelFriends::requestFriendship(), send_group_notice(), send_simple_im(), LLFloaterIMPanel::sendTypingState(), and session_starter_helper().

const S32 IM_TTL

Definition at line 63 of file llinstantmessage.cpp.

const U32 NO_TIMESTAMP

Definition at line 61 of file llinstantmessage.cpp.

Referenced by LLToolDragAndDrop::commitGiveInventoryCategory(), LLToolDragAndDrop::commitGiveInventoryItem(), inventory_offer_callback(), send_group_notice(), send_simple_im(), and session_starter_helper().

const char SYSTEM_FROM[]

Definition at line 62 of file llinstantmessage.cpp.

Referenced by LLIMMgr::addSystemMessage(), busy_message(), LLVoiceChannelGroup::handleError(), and process_improved_im().

const S32 VOTE_ABSTAIN

Definition at line 53 of file llinstantmessage.cpp.

const S32 VOTE_MAJORITY

Definition at line 55 of file llinstantmessage.cpp.

const S32 VOTE_NO

Definition at line 52 of file llinstantmessage.cpp.

const S32 VOTE_SUPER_MAJORITY

Definition at line 56 of file llinstantmessage.cpp.

const S32 VOTE_UNANIMOUS

Definition at line 57 of file llinstantmessage.cpp.

const S32 VOTE_YES

Definition at line 51 of file llinstantmessage.cpp.


Generated on Thu Jul 1 06:10:29 2010 for Second Life Viewer by  doxygen 1.4.7