00001
00032 #ifndef LL_LLVIEWERMESSAGE_H
00033 #define LL_LLVIEWERMESSAGE_H
00034
00035 #include "llinstantmessage.h"
00036 #include "lltransactiontypes.h"
00037 #include "lluuid.h"
00038 #include "stdenums.h"
00039
00040
00041
00042
00043 class LLColor4;
00044 class LLViewerObject;
00045 class LLInventoryObject;
00046 class LLInventoryItem;
00047 class LLMessageSystem;
00048 class LLViewerRegion;
00049
00050
00051
00052
00053
00054 enum InventoryOfferResponse
00055 {
00056 IOR_ACCEPT,
00057 IOR_DECLINE,
00058 IOR_MUTE,
00059 IOR_BUSY
00060 };
00061
00062 BOOL can_afford_transaction(S32 cost);
00063 void give_money(const LLUUID& uuid, LLViewerRegion* region, S32 amount, BOOL is_group = FALSE,
00064 S32 trx_type = TRANS_GIFT, const LLString& desc = LLString::null);
00065 void busy_message (LLMessageSystem* msg, LLUUID from_id);
00066
00067 void process_logout_reply(LLMessageSystem* msg, void**);
00068 void process_layer_data(LLMessageSystem *mesgsys, void **user_data);
00069 void process_derez_ack(LLMessageSystem*, void**);
00070 void process_places_reply(LLMessageSystem* msg, void** data);
00071 void send_sound_trigger(const LLUUID& sound_id, F32 gain);
00072 void process_improved_im(LLMessageSystem *msg, void **user_data);
00073 void process_script_question(LLMessageSystem *msg, void **user_data);
00074 void process_chat_from_simulator(LLMessageSystem *mesgsys, void **user_data);
00075
00076
00077 void send_agent_update(BOOL force_send, BOOL send_reliable = FALSE);
00078 void process_object_update(LLMessageSystem *mesgsys, void **user_data);
00079 void process_compressed_object_update(LLMessageSystem *mesgsys, void **user_data);
00080 void process_cached_object_update(LLMessageSystem *mesgsys, void **user_data);
00081 void process_terse_object_update_improved(LLMessageSystem *mesgsys, void **user_data);
00082
00083 void send_simulator_throttle_settings(const LLHost &host);
00084 void process_kill_object( LLMessageSystem *mesgsys, void **user_data);
00085 void process_time_synch( LLMessageSystem *mesgsys, void **user_data);
00086 void process_sound_trigger(LLMessageSystem *mesgsys, void **user_data);
00087 void process_preload_sound( LLMessageSystem *mesgsys, void **user_data);
00088 void process_attached_sound( LLMessageSystem *mesgsys, void **user_data);
00089 void process_attached_sound_gain_change( LLMessageSystem *mesgsys, void **user_data);
00090
00091 void process_energy_statistics(LLMessageSystem *mesgsys, void **user_data);
00092 void process_health_message(LLMessageSystem *mesgsys, void **user_data);
00093 void process_sim_stats(LLMessageSystem *mesgsys, void **user_data);
00094 void process_shooter_agent_hit(LLMessageSystem* msg, void** user_data);
00095 void process_avatar_info_request(LLMessageSystem *mesgsys, void **user_data);
00096 void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data);
00097 void process_avatar_appearance(LLMessageSystem *mesgsys, void **user_data);
00098 void process_camera_constraint(LLMessageSystem *mesgsys, void **user_data);
00099 void process_avatar_sit_response(LLMessageSystem *mesgsys, void **user_data);
00100 void process_set_follow_cam_properties(LLMessageSystem *mesgsys, void **user_data);
00101 void process_clear_follow_cam_properties(LLMessageSystem *mesgsys, void **user_data);
00102 void process_name_value(LLMessageSystem *mesgsys, void **user_data);
00103 void process_remove_name_value(LLMessageSystem *mesgsys, void **user_data);
00104 void process_kick_user(LLMessageSystem *msg, void** );
00105
00106
00107 void process_economy_data(LLMessageSystem *msg, void** );
00108 void process_money_balance_reply(LLMessageSystem* msg_system, void**);
00109 void process_adjust_balance(LLMessageSystem* msg_system, void**);
00110
00111 void process_alert_message(LLMessageSystem* msg, void**);
00112 void process_agent_alert_message(LLMessageSystem* msgsystem, void** user_data);
00113 void process_alert_core(const char* buffer, BOOL modal);
00114
00115
00116 void handle_show_mean_events(void *);
00117 void process_mean_collision_alert_message(LLMessageSystem* msg, void**);
00118
00119 void process_frozen_message(LLMessageSystem* msg, void**);
00120
00121 void process_derez_container(LLMessageSystem *msg, void**);
00122 void container_inventory_arrived(LLViewerObject* object,
00123 std::list<LLPointer<LLInventoryObject> >* inventory,
00124 S32 serial_num,
00125 void* data);
00126
00127
00128 void send_complete_agent_movement(const LLHost& sim_host);
00129 void process_agent_movement_complete(LLMessageSystem* msg, void**);
00130 void process_crossed_region(LLMessageSystem* msg, void**);
00131 void process_teleport_start(LLMessageSystem* msg, void**);
00132 void process_teleport_progress(LLMessageSystem* msg, void**);
00133 void process_teleport_failed(LLMessageSystem *msg,void**);
00134 void process_teleport_finish(LLMessageSystem *msg, void**);
00135
00136
00137 void process_teleport_local(LLMessageSystem *msg,void**);
00138 void process_user_sim_location_reply(LLMessageSystem *msg,void**);
00139
00140 void send_simple_im(const LLUUID& to_id,
00141 const char* message,
00142 EInstantMessage dialog = IM_NOTHING_SPECIAL,
00143 const LLUUID& id = LLUUID::null);
00144
00145 void send_group_notice(const LLUUID& group_id,
00146 const char* subject,
00147 const char* message,
00148 const LLInventoryItem* item);
00149
00150 void handle_lure(const LLUUID& invitee);
00151 void handle_lure(LLDynamicArray<LLUUID>& ids);
00152
00153
00154
00155 void send_improved_im(const LLUUID& to_id,
00156 const char* name,
00157 const char* message,
00158 U8 offline = IM_ONLINE,
00159 EInstantMessage dialog = IM_NOTHING_SPECIAL,
00160 const LLUUID& id = LLUUID::null,
00161 U32 timestamp = NO_TIMESTAMP,
00162 const U8* binary_bucket = (U8*)EMPTY_BINARY_BUCKET,
00163 S32 binary_bucket_size = EMPTY_BINARY_BUCKET_SIZE);
00164
00165 void process_user_info_reply(LLMessageSystem* msg, void**);
00166
00167
00168
00169
00170 const S32 TIME_STR_LENGTH = 30;
00171 char* formatted_time(const time_t& the_time, char* buffer);
00172
00173 void send_places_query(const LLUUID& query_id,
00174 const LLUUID& trans_id,
00175 const char* query_text,
00176 U32 query_flags,
00177 S32 category,
00178 const char* sim_name);
00179 void process_script_dialog(LLMessageSystem* msg, void**);
00180 void process_load_url(LLMessageSystem* msg, void**);
00181 void process_script_teleport_request(LLMessageSystem* msg, void**);
00182 void process_covenant_reply(LLMessageSystem* msg, void**);
00183 void onCovenantLoadComplete(LLVFS *vfs,
00184 const LLUUID& asset_uuid,
00185 LLAssetType::EType type,
00186 void* user_data, S32 status, LLExtStat ext_status);
00187 void callbackCacheEstateOwnerName(
00188 const LLUUID& id,
00189 const char* first,
00190 const char* last,
00191 BOOL is_group,
00192 void*);
00193
00194
00195 void process_offer_callingcard(LLMessageSystem* msg, void**);
00196 void process_accept_callingcard(LLMessageSystem* msg, void**);
00197 void process_decline_callingcard(LLMessageSystem* msg, void**);
00198
00199
00200 void invalid_message_callback(LLMessageSystem*, void*, EMessageException);
00201
00202 void process_initiate_download(LLMessageSystem* msg, void**);
00203 void inventory_offer_callback(S32 option, void* user_data);
00204 void start_new_inventory_observer();
00205
00206 struct LLOfferInfo
00207 {
00208 EInstantMessage mIM;
00209 LLUUID mFromID;
00210 BOOL mFromGroup;
00211 BOOL mFromObject;
00212 LLUUID mTransactionID;
00213 LLUUID mFolderID;
00214 LLUUID mObjectID;
00215 LLAssetType::EType mType;
00216 LLString mFromName;
00217 LLString mDesc;
00218 LLHost mHost;
00219 };
00220
00221 void process_feature_disabled_message(LLMessageSystem* msg, void**);
00222
00223 #endif
00224
00225