diff options
author | Jacek Antonelli | 2008-08-15 23:45:07 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-08-15 23:45:07 -0500 |
commit | 8465910c79b8e746e04fd581cca2d60399e569b9 (patch) | |
tree | f43fec3e83c46e0d6190dca923d6fb268b52ffdd /linden/indra/llmessage | |
parent | Second Life viewer sources 1.18.2.1 (diff) | |
download | meta-impy-8465910c79b8e746e04fd581cca2d60399e569b9.zip meta-impy-8465910c79b8e746e04fd581cca2d60399e569b9.tar.gz meta-impy-8465910c79b8e746e04fd581cca2d60399e569b9.tar.bz2 meta-impy-8465910c79b8e746e04fd581cca2d60399e569b9.tar.xz |
Second Life viewer sources 1.18.3.2-RC
Diffstat (limited to '')
27 files changed, 104 insertions, 83 deletions
diff --git a/linden/indra/llmessage/llassetstorage.cpp b/linden/indra/llmessage/llassetstorage.cpp index 8696438..b1d7fef 100644 --- a/linden/indra/llmessage/llassetstorage.cpp +++ b/linden/indra/llmessage/llassetstorage.cpp | |||
@@ -365,11 +365,11 @@ void LLAssetStorage::_cleanupRequests(BOOL all, S32 error) | |||
365 | LLAssetRequest* tmp = *curiter; | 365 | LLAssetRequest* tmp = *curiter; |
366 | if (tmp->mUpCallback) | 366 | if (tmp->mUpCallback) |
367 | { | 367 | { |
368 | tmp->mUpCallback(tmp->getUUID(), tmp->mUserData, error); | 368 | tmp->mUpCallback(tmp->getUUID(), tmp->mUserData, error, LL_EXSTAT_NONE); |
369 | } | 369 | } |
370 | if (tmp->mDownCallback) | 370 | if (tmp->mDownCallback) |
371 | { | 371 | { |
372 | tmp->mDownCallback(mVFS, tmp->getUUID(), tmp->getType(), tmp->mUserData, error); | 372 | tmp->mDownCallback(mVFS, tmp->getUUID(), tmp->getType(), tmp->mUserData, error, LL_EXSTAT_NONE); |
373 | } | 373 | } |
374 | if (tmp->mInfoCallback) | 374 | if (tmp->mInfoCallback) |
375 | { | 375 | { |
@@ -390,7 +390,7 @@ BOOL LLAssetStorage::hasLocalAsset(const LLUUID &uuid, const LLAssetType::EType | |||
390 | /////////////////////////////////////////////////////////////////////////// | 390 | /////////////////////////////////////////////////////////////////////////// |
391 | 391 | ||
392 | // IW - uuid is passed by value to avoid side effects, please don't re-add & | 392 | // IW - uuid is passed by value to avoid side effects, please don't re-add & |
393 | void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *,S32), void *user_data, BOOL is_priority) | 393 | void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *, S32, LLExtStat), void *user_data, BOOL is_priority) |
394 | { | 394 | { |
395 | lldebugs << "LLAssetStorage::getAssetData() - " << uuid << "," << LLAssetType::lookup(type) << llendl; | 395 | lldebugs << "LLAssetStorage::getAssetData() - " << uuid << "," << LLAssetType::lookup(type) << llendl; |
396 | 396 | ||
@@ -404,7 +404,7 @@ void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, vo | |||
404 | // Special case early out for NULL uuid | 404 | // Special case early out for NULL uuid |
405 | if (callback) | 405 | if (callback) |
406 | { | 406 | { |
407 | callback(mVFS, uuid, type, user_data, LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE); | 407 | callback(mVFS, uuid, type, user_data, LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE, LL_EXSTAT_NULL_UUID); |
408 | } | 408 | } |
409 | return; | 409 | return; |
410 | } | 410 | } |
@@ -459,7 +459,7 @@ void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, vo | |||
459 | // unless there's a weird error | 459 | // unless there's a weird error |
460 | if (callback) | 460 | if (callback) |
461 | { | 461 | { |
462 | callback(mVFS, uuid, type, user_data, LL_ERR_NOERR); | 462 | callback(mVFS, uuid, type, user_data, LL_ERR_NOERR, LL_EXSTAT_VFS_CACHED); |
463 | } | 463 | } |
464 | } | 464 | } |
465 | } | 465 | } |
@@ -502,7 +502,7 @@ void LLAssetStorage::_queueDataRequest(const LLUUID& uuid, LLAssetType::EType at | |||
502 | llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl; | 502 | llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl; |
503 | if (callback) | 503 | if (callback) |
504 | { | 504 | { |
505 | callback(mVFS, uuid, atype, user_data, LL_ERR_CIRCUIT_GONE); | 505 | callback(mVFS, uuid, atype, user_data, LL_ERR_CIRCUIT_GONE, LL_EXSTAT_NO_UPSTREAM); |
506 | } | 506 | } |
507 | } | 507 | } |
508 | } | 508 | } |
@@ -512,7 +512,7 @@ void LLAssetStorage::downloadCompleteCallback( | |||
512 | S32 result, | 512 | S32 result, |
513 | const LLUUID& file_id, | 513 | const LLUUID& file_id, |
514 | LLAssetType::EType file_type, | 514 | LLAssetType::EType file_type, |
515 | void* user_data) | 515 | void* user_data, LLExtStat ext_status) |
516 | { | 516 | { |
517 | lldebugs << "LLAssetStorage::downloadCompleteCallback() for " << file_id | 517 | lldebugs << "LLAssetStorage::downloadCompleteCallback() for " << file_id |
518 | << "," << LLAssetType::lookup(file_type) << llendl; | 518 | << "," << LLAssetType::lookup(file_type) << llendl; |
@@ -566,7 +566,7 @@ void LLAssetStorage::downloadCompleteCallback( | |||
566 | LLAssetRequest* tmp = *curiter; | 566 | LLAssetRequest* tmp = *curiter; |
567 | if (tmp->mDownCallback) | 567 | if (tmp->mDownCallback) |
568 | { | 568 | { |
569 | tmp->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), tmp->mUserData, result); | 569 | tmp->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), tmp->mUserData, result, ext_status); |
570 | } | 570 | } |
571 | delete tmp; | 571 | delete tmp; |
572 | } | 572 | } |
@@ -586,7 +586,7 @@ void LLAssetStorage::getEstateAsset(const LLHost &object_sim, const LLUUID &agen | |||
586 | // Special case early out for NULL uuid | 586 | // Special case early out for NULL uuid |
587 | if (callback) | 587 | if (callback) |
588 | { | 588 | { |
589 | callback(mVFS, asset_id, atype, user_data, LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE); | 589 | callback(mVFS, asset_id, atype, user_data, LL_ERR_ASSET_REQUEST_NOT_IN_DATABASE, LL_EXSTAT_NULL_UUID); |
590 | } | 590 | } |
591 | return; | 591 | return; |
592 | } | 592 | } |
@@ -642,7 +642,7 @@ void LLAssetStorage::getEstateAsset(const LLHost &object_sim, const LLUUID &agen | |||
642 | llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl; | 642 | llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl; |
643 | if (callback) | 643 | if (callback) |
644 | { | 644 | { |
645 | callback(mVFS, asset_id, atype, user_data, LL_ERR_CIRCUIT_GONE); | 645 | callback(mVFS, asset_id, atype, user_data, LL_ERR_CIRCUIT_GONE, LL_EXSTAT_NO_UPSTREAM); |
646 | } | 646 | } |
647 | } | 647 | } |
648 | } | 648 | } |
@@ -653,7 +653,7 @@ void LLAssetStorage::getEstateAsset(const LLHost &object_sim, const LLUUID &agen | |||
653 | // unless there's a weird error | 653 | // unless there's a weird error |
654 | if (callback) | 654 | if (callback) |
655 | { | 655 | { |
656 | callback(mVFS, asset_id, atype, user_data, LL_ERR_NOERR); | 656 | callback(mVFS, asset_id, atype, user_data, LL_ERR_NOERR, LL_EXSTAT_VFS_CACHED); |
657 | } | 657 | } |
658 | } | 658 | } |
659 | } | 659 | } |
@@ -662,7 +662,8 @@ void LLAssetStorage::downloadEstateAssetCompleteCallback( | |||
662 | S32 result, | 662 | S32 result, |
663 | const LLUUID& file_id, | 663 | const LLUUID& file_id, |
664 | LLAssetType::EType file_type, | 664 | LLAssetType::EType file_type, |
665 | void* user_data) | 665 | void* user_data, |
666 | LLExtStat ext_status) | ||
666 | { | 667 | { |
667 | LLEstateAssetRequest *req = (LLEstateAssetRequest*)user_data; | 668 | LLEstateAssetRequest *req = (LLEstateAssetRequest*)user_data; |
668 | if(!req) | 669 | if(!req) |
@@ -693,7 +694,7 @@ void LLAssetStorage::downloadEstateAssetCompleteCallback( | |||
693 | } | 694 | } |
694 | } | 695 | } |
695 | 696 | ||
696 | req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getAType(), req->mUserData, result); | 697 | req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getAType(), req->mUserData, result, ext_status); |
697 | } | 698 | } |
698 | 699 | ||
699 | void LLAssetStorage::getInvItemAsset(const LLHost &object_sim, const LLUUID &agent_id, const LLUUID &session_id, | 700 | void LLAssetStorage::getInvItemAsset(const LLHost &object_sim, const LLUUID &agent_id, const LLUUID &session_id, |
@@ -777,7 +778,7 @@ void LLAssetStorage::getInvItemAsset(const LLHost &object_sim, const LLUUID &age | |||
777 | llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl; | 778 | llwarns << "Attempt to move asset data request upstream w/o valid upstream provider" << llendl; |
778 | if (callback) | 779 | if (callback) |
779 | { | 780 | { |
780 | callback(mVFS, asset_id, atype, user_data, LL_ERR_CIRCUIT_GONE); | 781 | callback(mVFS, asset_id, atype, user_data, LL_ERR_CIRCUIT_GONE, LL_EXSTAT_NO_UPSTREAM); |
781 | } | 782 | } |
782 | } | 783 | } |
783 | } | 784 | } |
@@ -788,7 +789,7 @@ void LLAssetStorage::getInvItemAsset(const LLHost &object_sim, const LLUUID &age | |||
788 | // unless there's a weird error | 789 | // unless there's a weird error |
789 | if (callback) | 790 | if (callback) |
790 | { | 791 | { |
791 | callback(mVFS, asset_id, atype, user_data, LL_ERR_NOERR); | 792 | callback(mVFS, asset_id, atype, user_data, LL_ERR_NOERR, LL_EXSTAT_VFS_CACHED); |
792 | } | 793 | } |
793 | } | 794 | } |
794 | } | 795 | } |
@@ -798,7 +799,8 @@ void LLAssetStorage::downloadInvItemCompleteCallback( | |||
798 | S32 result, | 799 | S32 result, |
799 | const LLUUID& file_id, | 800 | const LLUUID& file_id, |
800 | LLAssetType::EType file_type, | 801 | LLAssetType::EType file_type, |
801 | void* user_data) | 802 | void* user_data, |
803 | LLExtStat ext_status) | ||
802 | { | 804 | { |
803 | LLInvItemRequest *req = (LLInvItemRequest*)user_data; | 805 | LLInvItemRequest *req = (LLInvItemRequest*)user_data; |
804 | if(!req) | 806 | if(!req) |
@@ -828,7 +830,7 @@ void LLAssetStorage::downloadInvItemCompleteCallback( | |||
828 | } | 830 | } |
829 | } | 831 | } |
830 | 832 | ||
831 | req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), req->mUserData, result); | 833 | req->mDownCallback(gAssetStorage->mVFS, req->getUUID(), req->getType(), req->mUserData, result, ext_status); |
832 | } | 834 | } |
833 | 835 | ||
834 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// | 836 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
@@ -836,7 +838,7 @@ void LLAssetStorage::downloadInvItemCompleteCallback( | |||
836 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// | 838 | ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
837 | 839 | ||
838 | // static | 840 | // static |
839 | void LLAssetStorage::uploadCompleteCallback(const LLUUID& uuid, void *user_data, S32 result) // StoreAssetData callback (fixed) | 841 | void LLAssetStorage::uploadCompleteCallback(const LLUUID& uuid, void *user_data, S32 result, LLExtStat ext_status) // StoreAssetData callback (fixed) |
840 | { | 842 | { |
841 | if (!gAssetStorage) | 843 | if (!gAssetStorage) |
842 | { | 844 | { |
@@ -876,10 +878,10 @@ void LLAssetStorage::processUploadComplete(LLMessageSystem *msg, void **user_dat | |||
876 | msg->getBOOLFast(_PREHASH_AssetBlock, _PREHASH_Success, success); | 878 | msg->getBOOLFast(_PREHASH_AssetBlock, _PREHASH_Success, success); |
877 | 879 | ||
878 | asset_type = (LLAssetType::EType)asset_type_s8; | 880 | asset_type = (LLAssetType::EType)asset_type_s8; |
879 | this_ptr->_callUploadCallbacks(uuid, asset_type, success); | 881 | this_ptr->_callUploadCallbacks(uuid, asset_type, success, LL_EXSTAT_NONE); |
880 | } | 882 | } |
881 | 883 | ||
882 | void LLAssetStorage::_callUploadCallbacks(const LLUUID &uuid, LLAssetType::EType asset_type, BOOL success) | 884 | void LLAssetStorage::_callUploadCallbacks(const LLUUID &uuid, LLAssetType::EType asset_type, BOOL success, LLExtStat ext_status ) |
883 | { | 885 | { |
884 | // SJB: We process the callbacks in reverse order, I do not know if this is important, | 886 | // SJB: We process the callbacks in reverse order, I do not know if this is important, |
885 | // but I didn't want to mess with it. | 887 | // but I didn't want to mess with it. |
@@ -913,7 +915,7 @@ void LLAssetStorage::_callUploadCallbacks(const LLUUID &uuid, LLAssetType::EType | |||
913 | LLAssetRequest* req = *curiter; | 915 | LLAssetRequest* req = *curiter; |
914 | if (req->mUpCallback) | 916 | if (req->mUpCallback) |
915 | { | 917 | { |
916 | req->mUpCallback(uuid, req->mUserData, (success ? LL_ERR_NOERR : LL_ERR_ASSET_REQUEST_FAILED )); | 918 | req->mUpCallback(uuid, req->mUserData, (success ? LL_ERR_NOERR : LL_ERR_ASSET_REQUEST_FAILED ), ext_status ); |
917 | } | 919 | } |
918 | delete req; | 920 | delete req; |
919 | } | 921 | } |
@@ -1136,11 +1138,11 @@ bool LLAssetStorage::deletePendingRequest(LLAssetStorage::request_list_t* reques | |||
1136 | // Run callbacks. | 1138 | // Run callbacks. |
1137 | if (req->mUpCallback) | 1139 | if (req->mUpCallback) |
1138 | { | 1140 | { |
1139 | req->mUpCallback(req->getUUID(), req->mUserData, error); | 1141 | req->mUpCallback(req->getUUID(), req->mUserData, error, LL_EXSTAT_REQUEST_DROPPED); |
1140 | } | 1142 | } |
1141 | if (req->mDownCallback) | 1143 | if (req->mDownCallback) |
1142 | { | 1144 | { |
1143 | req->mDownCallback(mVFS, req->getUUID(), req->getType(), req->mUserData, error); | 1145 | req->mDownCallback(mVFS, req->getUUID(), req->getType(), req->mUserData, error, LL_EXSTAT_REQUEST_DROPPED); |
1144 | } | 1146 | } |
1145 | if (req->mInfoCallback) | 1147 | if (req->mInfoCallback) |
1146 | { | 1148 | { |
@@ -1193,7 +1195,7 @@ const char* LLAssetStorage::getErrorString(S32 status) | |||
1193 | 1195 | ||
1194 | 1196 | ||
1195 | 1197 | ||
1196 | void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, void (*callback)(const char*, const LLUUID&, void *, S32), void *user_data, BOOL is_priority) | 1198 | void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, void (*callback)(const char*, const LLUUID&, void *, S32, LLExtStat), void *user_data, BOOL is_priority) |
1197 | { | 1199 | { |
1198 | // check for duplicates here, since we're about to fool the normal duplicate checker | 1200 | // check for duplicates here, since we're about to fool the normal duplicate checker |
1199 | for (request_list_t::iterator iter = mPendingDownloads.begin(); | 1201 | for (request_list_t::iterator iter = mPendingDownloads.begin(); |
@@ -1223,7 +1225,7 @@ void LLAssetStorage::getAssetData(const LLUUID uuid, LLAssetType::EType type, vo | |||
1223 | } | 1225 | } |
1224 | 1226 | ||
1225 | // static | 1227 | // static |
1226 | void LLAssetStorage::legacyGetDataCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 status) | 1228 | void LLAssetStorage::legacyGetDataCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 status, LLExtStat ext_status) |
1227 | { | 1229 | { |
1228 | LLLegacyAssetRequest *legacy = (LLLegacyAssetRequest *)user_data; | 1230 | LLLegacyAssetRequest *legacy = (LLLegacyAssetRequest *)user_data; |
1229 | char filename[LL_MAX_PATH] = ""; /* Flawfinder: ignore */ | 1231 | char filename[LL_MAX_PATH] = ""; /* Flawfinder: ignore */ |
@@ -1259,7 +1261,7 @@ void LLAssetStorage::legacyGetDataCallback(LLVFS *vfs, const LLUUID &uuid, LLAss | |||
1259 | } | 1261 | } |
1260 | } | 1262 | } |
1261 | 1263 | ||
1262 | legacy->mDownCallback(filename, uuid, legacy->mUserData, status); | 1264 | legacy->mDownCallback(filename, uuid, legacy->mUserData, status, ext_status); |
1263 | delete legacy; | 1265 | delete legacy; |
1264 | } | 1266 | } |
1265 | 1267 | ||
@@ -1329,12 +1331,12 @@ void LLAssetStorage::storeAssetData( | |||
1329 | } | 1331 | } |
1330 | 1332 | ||
1331 | // static | 1333 | // static |
1332 | void LLAssetStorage::legacyStoreDataCallback(const LLUUID &uuid, void *user_data, S32 status) | 1334 | void LLAssetStorage::legacyStoreDataCallback(const LLUUID &uuid, void *user_data, S32 status, LLExtStat ext_status) |
1333 | { | 1335 | { |
1334 | LLLegacyAssetRequest *legacy = (LLLegacyAssetRequest *)user_data; | 1336 | LLLegacyAssetRequest *legacy = (LLLegacyAssetRequest *)user_data; |
1335 | if (legacy && legacy->mUpCallback) | 1337 | if (legacy && legacy->mUpCallback) |
1336 | { | 1338 | { |
1337 | legacy->mUpCallback(uuid, legacy->mUserData, status); | 1339 | legacy->mUpCallback(uuid, legacy->mUserData, status, ext_status); |
1338 | } | 1340 | } |
1339 | delete legacy; | 1341 | delete legacy; |
1340 | } | 1342 | } |
diff --git a/linden/indra/llmessage/llassetstorage.h b/linden/indra/llmessage/llassetstorage.h index ab12b7a..630268d 100644 --- a/linden/indra/llmessage/llassetstorage.h +++ b/linden/indra/llmessage/llassetstorage.h | |||
@@ -40,6 +40,7 @@ | |||
40 | #include "lltransfermanager.h" // For LLTSCode enum | 40 | #include "lltransfermanager.h" // For LLTSCode enum |
41 | #include "llassettype.h" | 41 | #include "llassettype.h" |
42 | #include "llstring.h" | 42 | #include "llstring.h" |
43 | #include "llextendedstatus.h" | ||
43 | 44 | ||
44 | // Forward declarations | 45 | // Forward declarations |
45 | class LLMessageSystem; | 46 | class LLMessageSystem; |
@@ -102,8 +103,8 @@ protected: | |||
102 | LLAssetType::EType mType; | 103 | LLAssetType::EType mType; |
103 | 104 | ||
104 | public: | 105 | public: |
105 | void (*mDownCallback)(LLVFS*, const LLUUID&, LLAssetType::EType, void *, S32); | 106 | void (*mDownCallback)(LLVFS*, const LLUUID&, LLAssetType::EType, void *, S32, LLExtStat); |
106 | void (*mUpCallback)(const LLUUID&, void *, S32); | 107 | void (*mUpCallback)(const LLUUID&, void *, S32, LLExtStat); |
107 | void (*mInfoCallback)(LLAssetInfo *, void *, S32); | 108 | void (*mInfoCallback)(LLAssetInfo *, void *, S32); |
108 | 109 | ||
109 | void *mUserData; | 110 | void *mUserData; |
@@ -150,7 +151,7 @@ protected: | |||
150 | LLAssetType::EType mType; | 151 | LLAssetType::EType mType; |
151 | 152 | ||
152 | public: | 153 | public: |
153 | void (*mDownCallback)(LLVFS*, const LLUUID&, LLAssetType::EType, void *, S32); | 154 | void (*mDownCallback)(LLVFS*, const LLUUID&, LLAssetType::EType, void *, S32, LLExtStat); |
154 | 155 | ||
155 | void *mUserData; | 156 | void *mUserData; |
156 | LLHost mHost; | 157 | LLHost mHost; |
@@ -180,7 +181,7 @@ protected: | |||
180 | EstateAssetType mEstateAssetType; | 181 | EstateAssetType mEstateAssetType; |
181 | 182 | ||
182 | public: | 183 | public: |
183 | void (*mDownCallback)(LLVFS*, const LLUUID&, LLAssetType::EType, void *, S32); | 184 | void (*mDownCallback)(LLVFS*, const LLUUID&, LLAssetType::EType, void *, S32, LLExtStat); |
184 | 185 | ||
185 | void *mUserData; | 186 | void *mUserData; |
186 | LLHost mHost; | 187 | LLHost mHost; |
@@ -196,14 +197,14 @@ public: | |||
196 | 197 | ||
197 | 198 | ||
198 | typedef void (*LLGetAssetCallback)(LLVFS *vfs, const LLUUID &asset_id, | 199 | typedef void (*LLGetAssetCallback)(LLVFS *vfs, const LLUUID &asset_id, |
199 | LLAssetType::EType asset_type, void *user_data, S32 status); | 200 | LLAssetType::EType asset_type, void *user_data, S32 status, LLExtStat ext_status); |
200 | 201 | ||
201 | class LLAssetStorage | 202 | class LLAssetStorage |
202 | { | 203 | { |
203 | public: | 204 | public: |
204 | // VFS member is public because static child methods need it :( | 205 | // VFS member is public because static child methods need it :( |
205 | LLVFS *mVFS; | 206 | LLVFS *mVFS; |
206 | typedef void (*LLStoreAssetCallback)(const LLUUID &asset_id, void *user_data, S32 status); | 207 | typedef void (*LLStoreAssetCallback)(const LLUUID &asset_id, void *user_data, S32 status, LLExtStat ext_status); |
207 | 208 | ||
208 | enum ERequestType | 209 | enum ERequestType |
209 | { | 210 | { |
@@ -335,27 +336,27 @@ public: | |||
335 | S32 result, | 336 | S32 result, |
336 | const LLUUID& file_id, | 337 | const LLUUID& file_id, |
337 | LLAssetType::EType file_type, | 338 | LLAssetType::EType file_type, |
338 | void* user_data); | 339 | void* user_data, LLExtStat ext_status); |
339 | static void downloadEstateAssetCompleteCallback( | 340 | static void downloadEstateAssetCompleteCallback( |
340 | S32 result, | 341 | S32 result, |
341 | const LLUUID& file_id, | 342 | const LLUUID& file_id, |
342 | LLAssetType::EType file_type, | 343 | LLAssetType::EType file_type, |
343 | void* user_data); | 344 | void* user_data, LLExtStat ext_status); |
344 | static void downloadInvItemCompleteCallback( | 345 | static void downloadInvItemCompleteCallback( |
345 | S32 result, | 346 | S32 result, |
346 | const LLUUID& file_id, | 347 | const LLUUID& file_id, |
347 | LLAssetType::EType file_type, | 348 | LLAssetType::EType file_type, |
348 | void* user_data); | 349 | void* user_data, LLExtStat ext_status); |
349 | 350 | ||
350 | // upload process callbacks | 351 | // upload process callbacks |
351 | static void uploadCompleteCallback(const LLUUID&, void *user_data, S32 result); | 352 | static void uploadCompleteCallback(const LLUUID&, void *user_data, S32 result, LLExtStat ext_status); |
352 | static void processUploadComplete(LLMessageSystem *msg, void **this_handle); | 353 | static void processUploadComplete(LLMessageSystem *msg, void **this_handle); |
353 | 354 | ||
354 | // debugging | 355 | // debugging |
355 | static const char* getErrorString( S32 status ); | 356 | static const char* getErrorString( S32 status ); |
356 | 357 | ||
357 | // deprecated file-based methods | 358 | // deprecated file-based methods |
358 | void getAssetData(const LLUUID uuid, LLAssetType::EType type, void (*callback)(const char*, const LLUUID&, void *, S32), void *user_data, BOOL is_priority = FALSE); | 359 | void getAssetData(const LLUUID uuid, LLAssetType::EType type, void (*callback)(const char*, const LLUUID&, void *, S32, LLExtStat), void *user_data, BOOL is_priority = FALSE); |
359 | 360 | ||
360 | /* | 361 | /* |
361 | * AssetID version. | 362 | * AssetID version. |
@@ -385,8 +386,8 @@ public: | |||
385 | bool user_waiting = false, | 386 | bool user_waiting = false, |
386 | F64 timeout = LL_ASSET_STORAGE_TIMEOUT); | 387 | F64 timeout = LL_ASSET_STORAGE_TIMEOUT); |
387 | 388 | ||
388 | static void legacyGetDataCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType, void *user_data, S32 status); | 389 | static void legacyGetDataCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType, void *user_data, S32 status, LLExtStat ext_status); |
389 | static void legacyStoreDataCallback(const LLUUID &uuid, void *user_data, S32 status); | 390 | static void legacyStoreDataCallback(const LLUUID &uuid, void *user_data, S32 status, LLExtStat ext_status); |
390 | 391 | ||
391 | // Temp assets are stored on sim nodes, they have agent ID and location data associated with them. | 392 | // Temp assets are stored on sim nodes, they have agent ID and location data associated with them. |
392 | // This is a no-op for non-http asset systems | 393 | // This is a no-op for non-http asset systems |
@@ -404,10 +405,10 @@ public: | |||
404 | 405 | ||
405 | protected: | 406 | protected: |
406 | void _cleanupRequests(BOOL all, S32 error); | 407 | void _cleanupRequests(BOOL all, S32 error); |
407 | void _callUploadCallbacks(const LLUUID &uuid, const LLAssetType::EType asset_type, BOOL success); | 408 | void _callUploadCallbacks(const LLUUID &uuid, const LLAssetType::EType asset_type, BOOL success, LLExtStat ext_status); |
408 | 409 | ||
409 | virtual void _queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, | 410 | virtual void _queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, |
410 | void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *, S32), | 411 | void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *, S32, LLExtStat), |
411 | void *user_data, BOOL duplicate, | 412 | void *user_data, BOOL duplicate, |
412 | BOOL is_priority); | 413 | BOOL is_priority); |
413 | 414 | ||
@@ -425,7 +426,7 @@ private: | |||
425 | class LLLegacyAssetRequest | 426 | class LLLegacyAssetRequest |
426 | { | 427 | { |
427 | public: | 428 | public: |
428 | void (*mDownCallback)(const char *, const LLUUID&, void *, S32); | 429 | void (*mDownCallback)(const char *, const LLUUID&, void *, S32, LLExtStat); |
429 | LLAssetStorage::LLStoreAssetCallback mUpCallback; | 430 | LLAssetStorage::LLStoreAssetCallback mUpCallback; |
430 | 431 | ||
431 | void *mUserData; | 432 | void *mUserData; |
diff --git a/linden/indra/llmessage/llcircuit.cpp b/linden/indra/llmessage/llcircuit.cpp index 239c1df..3c947d9 100644 --- a/linden/indra/llmessage/llcircuit.cpp +++ b/linden/indra/llmessage/llcircuit.cpp | |||
@@ -1158,7 +1158,7 @@ std::ostream& operator<<(std::ostream& s, LLCircuitData& circuit) | |||
1158 | s << S32(circuit.mBytesInLastPeriod * 8.f / circuit.mLastPeriodLength / 1024.f); | 1158 | s << S32(circuit.mBytesInLastPeriod * 8.f / circuit.mLastPeriodLength / 1024.f); |
1159 | s << "/"; | 1159 | s << "/"; |
1160 | s << S32(circuit.mBytesOutLastPeriod * 8.f / circuit.mLastPeriodLength / 1024.f); | 1160 | s << S32(circuit.mBytesOutLastPeriod * 8.f / circuit.mLastPeriodLength / 1024.f); |
1161 | s << " Peak Kbps: "; | 1161 | s << " Peak kbps: "; |
1162 | s << S32(circuit.mPeakBPSIn / 1024.f); | 1162 | s << S32(circuit.mPeakBPSIn / 1024.f); |
1163 | s << "/"; | 1163 | s << "/"; |
1164 | s << S32(circuit.mPeakBPSOut / 1024.f); | 1164 | s << S32(circuit.mPeakBPSOut / 1024.f); |
diff --git a/linden/indra/llmessage/llhttpassetstorage.cpp b/linden/indra/llmessage/llhttpassetstorage.cpp index b6c20b9..924d903 100644 --- a/linden/indra/llmessage/llhttpassetstorage.cpp +++ b/linden/indra/llmessage/llhttpassetstorage.cpp | |||
@@ -464,7 +464,7 @@ void LLHTTPAssetStorage::storeAssetData( | |||
464 | llwarns << "AssetStorage: attempt to upload non-existent vfile " << uuid << ":" << LLAssetType::lookup(type) << llendl; | 464 | llwarns << "AssetStorage: attempt to upload non-existent vfile " << uuid << ":" << LLAssetType::lookup(type) << llendl; |
465 | if (callback) | 465 | if (callback) |
466 | { | 466 | { |
467 | callback(uuid, user_data, LL_ERR_ASSET_REQUEST_NONEXISTENT_FILE ); | 467 | callback(uuid, user_data, LL_ERR_ASSET_REQUEST_NONEXISTENT_FILE, LL_EXSTAT_NONEXISTENT_FILE); |
468 | } | 468 | } |
469 | } | 469 | } |
470 | } | 470 | } |
@@ -529,7 +529,7 @@ void LLHTTPAssetStorage::storeAssetData( | |||
529 | { | 529 | { |
530 | if (callback) | 530 | if (callback) |
531 | { | 531 | { |
532 | callback(LLUUID::null, user_data, LL_ERR_CANNOT_OPEN_FILE); | 532 | callback(LLUUID::null, user_data, LL_ERR_CANNOT_OPEN_FILE, LL_EXSTAT_BLOCKED_FILE); |
533 | } | 533 | } |
534 | } | 534 | } |
535 | // Coverity CID-269 says there's a leak of 'legacy' here, but | 535 | // Coverity CID-269 says there's a leak of 'legacy' here, but |
@@ -631,7 +631,7 @@ bool LLHTTPAssetStorage::deletePendingRequest(LLAssetStorage::ERequestType rt, | |||
631 | { | 631 | { |
632 | if (pending_req->mUpCallback) //Clean up here rather than _callUploadCallbacks because this request is already cleared the req. | 632 | if (pending_req->mUpCallback) //Clean up here rather than _callUploadCallbacks because this request is already cleared the req. |
633 | { | 633 | { |
634 | pending_req->mUpCallback(pending_req->getUUID(), pending_req->mUserData, -1); | 634 | pending_req->mUpCallback(pending_req->getUUID(), pending_req->mUserData, -1, LL_EXSTAT_REQUEST_DROPPED); |
635 | } | 635 | } |
636 | 636 | ||
637 | } | 637 | } |
@@ -657,7 +657,7 @@ bool LLHTTPAssetStorage::deletePendingRequest(LLAssetStorage::ERequestType rt, | |||
657 | 657 | ||
658 | // internal requester, used by getAssetData in superclass | 658 | // internal requester, used by getAssetData in superclass |
659 | void LLHTTPAssetStorage::_queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, | 659 | void LLHTTPAssetStorage::_queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, |
660 | void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *, S32), | 660 | void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *, S32, LLExtStat), |
661 | void *user_data, BOOL duplicate, | 661 | void *user_data, BOOL duplicate, |
662 | BOOL is_priority) | 662 | BOOL is_priority) |
663 | { | 663 | { |
@@ -922,7 +922,7 @@ void LLHTTPAssetStorage::checkForTimeouts() | |||
922 | { | 922 | { |
923 | // shared upload finished callback | 923 | // shared upload finished callback |
924 | // in the base class, this is called from processUploadComplete | 924 | // in the base class, this is called from processUploadComplete |
925 | _callUploadCallbacks(req->getUUID(), req->getType(), (xfer_result == 0)); | 925 | _callUploadCallbacks(req->getUUID(), req->getType(), (xfer_result == 0), LL_EXSTAT_CURL_RESULT | curl_result); |
926 | // Pending upload flag will get cleared when the request is deleted | 926 | // Pending upload flag will get cleared when the request is deleted |
927 | } | 927 | } |
928 | } | 928 | } |
@@ -964,7 +964,8 @@ void LLHTTPAssetStorage::checkForTimeouts() | |||
964 | xfer_result, | 964 | xfer_result, |
965 | req->getUUID(), | 965 | req->getUUID(), |
966 | req->getType(), | 966 | req->getType(), |
967 | (void *)req); | 967 | (void *)req, |
968 | LL_EXSTAT_CURL_RESULT | curl_result); | ||
968 | // Pending download flag will get cleared when the request is deleted | 969 | // Pending download flag will get cleared when the request is deleted |
969 | } | 970 | } |
970 | else | 971 | else |
@@ -1389,3 +1390,4 @@ void LLHTTPAssetStorage::clearTempAssetData() | |||
1389 | mTempAssets.clear(); | 1390 | mTempAssets.clear(); |
1390 | } | 1391 | } |
1391 | 1392 | ||
1393 | |||
diff --git a/linden/indra/llmessage/llhttpassetstorage.h b/linden/indra/llmessage/llhttpassetstorage.h index 962bece..7fee143 100644 --- a/linden/indra/llmessage/llhttpassetstorage.h +++ b/linden/indra/llmessage/llhttpassetstorage.h | |||
@@ -128,7 +128,7 @@ public: | |||
128 | 128 | ||
129 | protected: | 129 | protected: |
130 | void _queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, | 130 | void _queueDataRequest(const LLUUID& uuid, LLAssetType::EType type, |
131 | void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *, S32), | 131 | void (*callback)(LLVFS *vfs, const LLUUID&, LLAssetType::EType, void *, S32, LLExtStat), |
132 | void *user_data, BOOL duplicate, BOOL is_priority); | 132 | void *user_data, BOOL duplicate, BOOL is_priority); |
133 | 133 | ||
134 | private: | 134 | private: |
diff --git a/linden/indra/llmessage/llmessageconfig.cpp b/linden/indra/llmessage/llmessageconfig.cpp index 6ecb1ad..a619e80 100644 --- a/linden/indra/llmessage/llmessageconfig.cpp +++ b/linden/indra/llmessage/llmessageconfig.cpp | |||
@@ -163,7 +163,7 @@ void LLMessageConfigFile::loadMessageBans(const LLSD& data) | |||
163 | 163 | ||
164 | bool LLMessageConfigFile::isCapBanned(const std::string& cap_name) const | 164 | bool LLMessageConfigFile::isCapBanned(const std::string& cap_name) const |
165 | { | 165 | { |
166 | llinfos << "mCapBans is " << LLSDXMLStreamer(mCapBans) << llendl; | 166 | lldebugs << "mCapBans is " << LLSDNotationStreamer(mCapBans) << llendl; |
167 | return mCapBans[cap_name]; | 167 | return mCapBans[cap_name]; |
168 | } | 168 | } |
169 | 169 | ||
diff --git a/linden/indra/llmessage/llsdmessagebuilder.cpp b/linden/indra/llmessage/llsdmessagebuilder.cpp index d3dcd5b..f8fb30e 100755 --- a/linden/indra/llmessage/llsdmessagebuilder.cpp +++ b/linden/indra/llmessage/llsdmessagebuilder.cpp | |||
@@ -276,7 +276,7 @@ void LLSDMessageBuilder::copyFromMessageData(const LLMsgData& data) | |||
276 | void LLSDMessageBuilder::copyFromLLSD(const LLSD& msg) | 276 | void LLSDMessageBuilder::copyFromLLSD(const LLSD& msg) |
277 | { | 277 | { |
278 | mCurrentMessage = msg; | 278 | mCurrentMessage = msg; |
279 | lldebugs << LLSDXMLStreamer(mCurrentMessage) << llendl; | 279 | lldebugs << LLSDNotationStreamer(mCurrentMessage) << llendl; |
280 | } | 280 | } |
281 | 281 | ||
282 | const LLSD& LLSDMessageBuilder::getMessage() const | 282 | const LLSD& LLSDMessageBuilder::getMessage() const |
diff --git a/linden/indra/llmessage/llteleportflags.h b/linden/indra/llmessage/llteleportflags.h index 60916bd..a40b081 100644 --- a/linden/indra/llmessage/llteleportflags.h +++ b/linden/indra/llmessage/llteleportflags.h | |||
@@ -45,6 +45,7 @@ const U32 TELEPORT_FLAGS_DISABLE_CANCEL = 1 << 11; // Used for llTeleportAgentH | |||
45 | const U32 TELEPORT_FLAGS_VIA_REGION_ID = 1 << 12; | 45 | const U32 TELEPORT_FLAGS_VIA_REGION_ID = 1 << 12; |
46 | const U32 TELEPORT_FLAGS_IS_FLYING = 1 << 13; | 46 | const U32 TELEPORT_FLAGS_IS_FLYING = 1 << 13; |
47 | const U32 TELEPORT_FLAGS_SHOW_RESET_HOME = 1 << 14; | 47 | const U32 TELEPORT_FLAGS_SHOW_RESET_HOME = 1 << 14; |
48 | const U32 TELEPORT_FLAGS_FORCE_REDIRECT = 1 << 15; // used to force a redirect to some random location - used when kicking someone from land. | ||
48 | 49 | ||
49 | const U32 TELEPORT_FLAGS_MASK_VIA = TELEPORT_FLAGS_VIA_LURE | 50 | const U32 TELEPORT_FLAGS_MASK_VIA = TELEPORT_FLAGS_VIA_LURE |
50 | | TELEPORT_FLAGS_VIA_LANDMARK | 51 | | TELEPORT_FLAGS_VIA_LANDMARK |
diff --git a/linden/indra/llmessage/lltemplatemessagereader.cpp b/linden/indra/llmessage/lltemplatemessagereader.cpp index 329d2a8..4cde483 100644 --- a/linden/indra/llmessage/lltemplatemessagereader.cpp +++ b/linden/indra/llmessage/lltemplatemessagereader.cpp | |||
@@ -502,12 +502,15 @@ BOOL LLTemplateMessageReader::decodeTemplate( | |||
502 | return(TRUE); | 502 | return(TRUE); |
503 | } | 503 | } |
504 | 504 | ||
505 | void LLTemplateMessageReader::logRanOffEndOfPacket( const LLHost& host ) | 505 | void LLTemplateMessageReader::logRanOffEndOfPacket( const LLHost& host, const S32 where, const S32 wanted ) |
506 | { | 506 | { |
507 | // we've run off the end of the packet! | 507 | // we've run off the end of the packet! |
508 | llwarns << "Ran off end of packet " << mCurrentRMessageTemplate->mName | 508 | llwarns << "Ran off end of packet " << mCurrentRMessageTemplate->mName |
509 | // << " with id " << mCurrentRecvPacketID | 509 | // << " with id " << mCurrentRecvPacketID |
510 | << " from " << host | 510 | << " from " << host |
511 | << " trying to read " << wanted | ||
512 | << " bytes at position " << where | ||
513 | << " going past packet end at " << mReceiveSize | ||
511 | << llendl; | 514 | << llendl; |
512 | if(gMessageSystem->mVerboseLog) | 515 | if(gMessageSystem->mVerboseLog) |
513 | { | 516 | { |
@@ -562,7 +565,7 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender | |||
562 | // repeat number is a single byte | 565 | // repeat number is a single byte |
563 | if (decode_pos >= mReceiveSize) | 566 | if (decode_pos >= mReceiveSize) |
564 | { | 567 | { |
565 | logRanOffEndOfPacket(sender); | 568 | logRanOffEndOfPacket(sender, decode_pos, 1); |
566 | 569 | ||
567 | // default to 0 repeats | 570 | // default to 0 repeats |
568 | repeat_number = 0; | 571 | repeat_number = 0; |
@@ -621,7 +624,7 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender | |||
621 | 624 | ||
622 | if ((decode_pos + data_size) > mReceiveSize) | 625 | if ((decode_pos + data_size) > mReceiveSize) |
623 | { | 626 | { |
624 | logRanOffEndOfPacket(sender); | 627 | logRanOffEndOfPacket(sender, decode_pos, data_size); |
625 | 628 | ||
626 | // default to 0 length variable blocks | 629 | // default to 0 length variable blocks |
627 | tsize = 0; | 630 | tsize = 0; |
@@ -657,7 +660,7 @@ BOOL LLTemplateMessageReader::decodeData(const U8* buffer, const LLHost& sender | |||
657 | // so, copy data pointer and set data size to fixed size | 660 | // so, copy data pointer and set data size to fixed size |
658 | if ((decode_pos + mvci.getSize()) > mReceiveSize) | 661 | if ((decode_pos + mvci.getSize()) > mReceiveSize) |
659 | { | 662 | { |
660 | logRanOffEndOfPacket(sender); | 663 | logRanOffEndOfPacket(sender, decode_pos, mvci.getSize()); |
661 | 664 | ||
662 | // default to 0s. | 665 | // default to 0s. |
663 | U32 size = mvci.getSize(); | 666 | U32 size = mvci.getSize(); |
diff --git a/linden/indra/llmessage/lltemplatemessagereader.h b/linden/indra/llmessage/lltemplatemessagereader.h index 86d4ab6..687b75b 100644 --- a/linden/indra/llmessage/lltemplatemessagereader.h +++ b/linden/indra/llmessage/lltemplatemessagereader.h | |||
@@ -113,7 +113,7 @@ private: | |||
113 | BOOL decodeTemplate(const U8* buffer, S32 buffer_size, // inputs | 113 | BOOL decodeTemplate(const U8* buffer, S32 buffer_size, // inputs |
114 | LLMessageTemplate** msg_template ); // outputs | 114 | LLMessageTemplate** msg_template ); // outputs |
115 | 115 | ||
116 | void logRanOffEndOfPacket( const LLHost& host ); | 116 | void logRanOffEndOfPacket( const LLHost& host, const S32 where, const S32 wanted ); |
117 | 117 | ||
118 | BOOL decodeData(const U8* buffer, const LLHost& sender ); | 118 | BOOL decodeData(const U8* buffer, const LLHost& sender ); |
119 | 119 | ||
diff --git a/linden/indra/llmessage/lltransfersourceasset.cpp b/linden/indra/llmessage/lltransfersourceasset.cpp index 31094c1..cfc7561 100644 --- a/linden/indra/llmessage/lltransfersourceasset.cpp +++ b/linden/indra/llmessage/lltransfersourceasset.cpp | |||
@@ -174,7 +174,7 @@ BOOL LLTransferSourceAsset::unpackParams(LLDataPacker &dp) | |||
174 | 174 | ||
175 | 175 | ||
176 | void LLTransferSourceAsset::responderCallback(LLVFS *vfs, const LLUUID& uuid, LLAssetType::EType type, | 176 | void LLTransferSourceAsset::responderCallback(LLVFS *vfs, const LLUUID& uuid, LLAssetType::EType type, |
177 | void *user_data, S32 result) | 177 | void *user_data, S32 result, LLExtStat ext_status ) |
178 | { | 178 | { |
179 | LLUUID *tidp = ((LLUUID*) user_data); | 179 | LLUUID *tidp = ((LLUUID*) user_data); |
180 | LLUUID transfer_id = *(tidp); | 180 | LLUUID transfer_id = *(tidp); |
diff --git a/linden/indra/llmessage/lltransfersourceasset.h b/linden/indra/llmessage/lltransfersourceasset.h index 7b1aa63..b953f78 100644 --- a/linden/indra/llmessage/lltransfersourceasset.h +++ b/linden/indra/llmessage/lltransfersourceasset.h | |||
@@ -59,7 +59,7 @@ public: | |||
59 | virtual ~LLTransferSourceAsset(); | 59 | virtual ~LLTransferSourceAsset(); |
60 | 60 | ||
61 | static void responderCallback(LLVFS *vfs, const LLUUID& uuid, LLAssetType::EType type, | 61 | static void responderCallback(LLVFS *vfs, const LLUUID& uuid, LLAssetType::EType type, |
62 | void *user_data, S32 result); | 62 | void *user_data, S32 result, LLExtStat ext_status ); |
63 | protected: | 63 | protected: |
64 | /*virtual*/ void initTransfer(); | 64 | /*virtual*/ void initTransfer(); |
65 | /*virtual*/ F32 updatePriority(); | 65 | /*virtual*/ F32 updatePriority(); |
diff --git a/linden/indra/llmessage/lltransfertargetvfile.cpp b/linden/indra/llmessage/lltransfertargetvfile.cpp index 79919b8..6f2252d 100644 --- a/linden/indra/llmessage/lltransfertargetvfile.cpp +++ b/linden/indra/llmessage/lltransfertargetvfile.cpp | |||
@@ -215,6 +215,7 @@ void LLTransferTargetVFile::completionCallback(const LLTSCode status) | |||
215 | mParams.mCompleteCallback(err_code, | 215 | mParams.mCompleteCallback(err_code, |
216 | mParams.getAssetID(), | 216 | mParams.getAssetID(), |
217 | mParams.getAssetType(), | 217 | mParams.getAssetType(), |
218 | mParams.mUserDatap); | 218 | mParams.mUserDatap, |
219 | LL_EXSTAT_NONE); | ||
219 | } | 220 | } |
220 | } | 221 | } |
diff --git a/linden/indra/llmessage/lltransfertargetvfile.h b/linden/indra/llmessage/lltransfertargetvfile.h index 6ba8745..98fcbc9 100644 --- a/linden/indra/llmessage/lltransfertargetvfile.h +++ b/linden/indra/llmessage/lltransfertargetvfile.h | |||
@@ -41,7 +41,7 @@ typedef void (*LLTTVFCompleteCallback)( | |||
41 | S32 status, | 41 | S32 status, |
42 | const LLUUID& file_id, | 42 | const LLUUID& file_id, |
43 | LLAssetType::EType file_type, | 43 | LLAssetType::EType file_type, |
44 | void* user_data); | 44 | void* user_data, LLExtStat ext_status ); |
45 | 45 | ||
46 | class LLTransferTargetParamsVFile : public LLTransferTargetParams | 46 | class LLTransferTargetParamsVFile : public LLTransferTargetParams |
47 | { | 47 | { |
diff --git a/linden/indra/llmessage/llxfer.cpp b/linden/indra/llmessage/llxfer.cpp index e12996d..4647980 100644 --- a/linden/indra/llmessage/llxfer.cpp +++ b/linden/indra/llmessage/llxfer.cpp | |||
@@ -301,7 +301,7 @@ S32 LLXfer::processEOF() | |||
301 | 301 | ||
302 | if (mCallback) | 302 | if (mCallback) |
303 | { | 303 | { |
304 | mCallback(mCallbackDataHandle,mCallbackResult); | 304 | mCallback(mCallbackDataHandle,mCallbackResult,LL_EXSTAT_NONE); |
305 | } | 305 | } |
306 | 306 | ||
307 | return(retval); | 307 | return(retval); |
@@ -375,3 +375,4 @@ std::ostream& operator<< (std::ostream& os, LLXfer &hh) | |||
375 | 375 | ||
376 | 376 | ||
377 | 377 | ||
378 | |||
diff --git a/linden/indra/llmessage/llxfer.h b/linden/indra/llmessage/llxfer.h index 51d7731..de93dba 100644 --- a/linden/indra/llmessage/llxfer.h +++ b/linden/indra/llmessage/llxfer.h | |||
@@ -67,7 +67,7 @@ class LLXfer | |||
67 | 67 | ||
68 | BOOL mWaitingForACK; | 68 | BOOL mWaitingForACK; |
69 | 69 | ||
70 | void (*mCallback)(void **,S32); | 70 | void (*mCallback)(void **,S32,LLExtStat); |
71 | void **mCallbackDataHandle; | 71 | void **mCallbackDataHandle; |
72 | S32 mCallbackResult; | 72 | S32 mCallbackResult; |
73 | 73 | ||
@@ -116,3 +116,4 @@ class LLXfer | |||
116 | 116 | ||
117 | 117 | ||
118 | 118 | ||
119 | |||
diff --git a/linden/indra/llmessage/llxfer_file.cpp b/linden/indra/llmessage/llxfer_file.cpp index b36dd5a..7478316 100644 --- a/linden/indra/llmessage/llxfer_file.cpp +++ b/linden/indra/llmessage/llxfer_file.cpp | |||
@@ -123,7 +123,7 @@ S32 LLXfer_File::initializeRequest(U64 xfer_id, | |||
123 | ELLPath remote_path, | 123 | ELLPath remote_path, |
124 | const LLHost& remote_host, | 124 | const LLHost& remote_host, |
125 | BOOL delete_remote_on_completion, | 125 | BOOL delete_remote_on_completion, |
126 | void (*callback)(void**,S32), | 126 | void (*callback)(void**,S32,LLExtStat), |
127 | void** user_data) | 127 | void** user_data) |
128 | { | 128 | { |
129 | S32 retval = 0; // presume success | 129 | S32 retval = 0; // presume success |
diff --git a/linden/indra/llmessage/llxfer_file.h b/linden/indra/llmessage/llxfer_file.h index 6a9ee51..4d34acb 100644 --- a/linden/indra/llmessage/llxfer_file.h +++ b/linden/indra/llmessage/llxfer_file.h | |||
@@ -60,7 +60,7 @@ class LLXfer_File : public LLXfer | |||
60 | ELLPath remote_path, | 60 | ELLPath remote_path, |
61 | const LLHost& remote_host, | 61 | const LLHost& remote_host, |
62 | BOOL delete_remote_on_completion, | 62 | BOOL delete_remote_on_completion, |
63 | void (*callback)(void**,S32), | 63 | void (*callback)(void**,S32,LLExtStat), |
64 | void** user_data); | 64 | void** user_data); |
65 | virtual S32 startDownload(); | 65 | virtual S32 startDownload(); |
66 | 66 | ||
@@ -86,3 +86,4 @@ class LLXfer_File : public LLXfer | |||
86 | 86 | ||
87 | 87 | ||
88 | 88 | ||
89 | |||
diff --git a/linden/indra/llmessage/llxfer_mem.cpp b/linden/indra/llmessage/llxfer_mem.cpp index 0f055c8..223ce08 100644 --- a/linden/indra/llmessage/llxfer_mem.cpp +++ b/linden/indra/llmessage/llxfer_mem.cpp | |||
@@ -136,7 +136,7 @@ S32 LLXfer_Mem::processEOF() | |||
136 | 136 | ||
137 | if (mCallback) | 137 | if (mCallback) |
138 | { | 138 | { |
139 | mCallback((void *)mBuffer,mBufferLength,mCallbackDataHandle,mCallbackResult); | 139 | mCallback((void *)mBuffer,mBufferLength,mCallbackDataHandle,mCallbackResult,LL_EXSTAT_NONE); |
140 | } | 140 | } |
141 | 141 | ||
142 | return(retval); | 142 | return(retval); |
@@ -149,7 +149,7 @@ S32 LLXfer_Mem::initializeRequest(U64 xfer_id, | |||
149 | ELLPath remote_path, | 149 | ELLPath remote_path, |
150 | const LLHost& remote_host, | 150 | const LLHost& remote_host, |
151 | BOOL delete_remote_on_completion, | 151 | BOOL delete_remote_on_completion, |
152 | void (*callback)(void*,S32,void**,S32), | 152 | void (*callback)(void*,S32,void**,S32,LLExtStat), |
153 | void** user_data) | 153 | void** user_data) |
154 | { | 154 | { |
155 | S32 retval = 0; // presume success | 155 | S32 retval = 0; // presume success |
@@ -218,3 +218,4 @@ U32 LLXfer_Mem::getXferTypeTag() | |||
218 | 218 | ||
219 | 219 | ||
220 | 220 | ||
221 | |||
diff --git a/linden/indra/llmessage/llxfer_mem.h b/linden/indra/llmessage/llxfer_mem.h index b80807a..8523c7d 100644 --- a/linden/indra/llmessage/llxfer_mem.h +++ b/linden/indra/llmessage/llxfer_mem.h | |||
@@ -40,7 +40,7 @@ class LLXfer_Mem : public LLXfer | |||
40 | { | 40 | { |
41 | private: | 41 | private: |
42 | protected: | 42 | protected: |
43 | void (*mCallback)(void *, S32, void **,S32); | 43 | void (*mCallback)(void *, S32, void **, S32, LLExtStat); |
44 | char mRemoteFilename[LL_MAX_PATH]; /* Flawfinder : ignore */ | 44 | char mRemoteFilename[LL_MAX_PATH]; /* Flawfinder : ignore */ |
45 | ELLPath mRemotePath; | 45 | ELLPath mRemotePath; |
46 | BOOL mDeleteRemoteOnCompletion; | 46 | BOOL mDeleteRemoteOnCompletion; |
@@ -65,7 +65,7 @@ class LLXfer_Mem : public LLXfer | |||
65 | ELLPath remote_path, | 65 | ELLPath remote_path, |
66 | const LLHost& remote_host, | 66 | const LLHost& remote_host, |
67 | BOOL delete_remote_on_completion, | 67 | BOOL delete_remote_on_completion, |
68 | void (*callback)(void*,S32,void**,S32), | 68 | void (*callback)(void*,S32,void**,S32,LLExtStat), |
69 | void** user_data); | 69 | void** user_data); |
70 | virtual S32 startDownload(); | 70 | virtual S32 startDownload(); |
71 | 71 | ||
@@ -79,3 +79,4 @@ class LLXfer_Mem : public LLXfer | |||
79 | 79 | ||
80 | 80 | ||
81 | 81 | ||
82 | |||
diff --git a/linden/indra/llmessage/llxfer_vfile.cpp b/linden/indra/llmessage/llxfer_vfile.cpp index 0d0d5fe..54b9683 100644 --- a/linden/indra/llmessage/llxfer_vfile.cpp +++ b/linden/indra/llmessage/llxfer_vfile.cpp | |||
@@ -98,7 +98,7 @@ S32 LLXfer_VFile::initializeRequest(U64 xfer_id, | |||
98 | const LLUUID& remote_id, | 98 | const LLUUID& remote_id, |
99 | LLAssetType::EType type, | 99 | LLAssetType::EType type, |
100 | const LLHost& remote_host, | 100 | const LLHost& remote_host, |
101 | void (*callback)(void**,S32), | 101 | void (*callback)(void**,S32,LLExtStat), |
102 | void** user_data) | 102 | void** user_data) |
103 | { | 103 | { |
104 | S32 retval = 0; // presume success | 104 | S32 retval = 0; // presume success |
diff --git a/linden/indra/llmessage/llxfer_vfile.h b/linden/indra/llmessage/llxfer_vfile.h index e71a0e8..1362749 100644 --- a/linden/indra/llmessage/llxfer_vfile.h +++ b/linden/indra/llmessage/llxfer_vfile.h | |||
@@ -65,7 +65,7 @@ class LLXfer_VFile : public LLXfer | |||
65 | const LLUUID &remote_id, | 65 | const LLUUID &remote_id, |
66 | const LLAssetType::EType type, | 66 | const LLAssetType::EType type, |
67 | const LLHost &remote_host, | 67 | const LLHost &remote_host, |
68 | void (*callback)(void **,S32), | 68 | void (*callback)(void **,S32,LLExtStat), |
69 | void **user_data); | 69 | void **user_data); |
70 | virtual S32 startDownload(); | 70 | virtual S32 startDownload(); |
71 | 71 | ||
@@ -92,3 +92,4 @@ class LLXfer_VFile : public LLXfer | |||
92 | 92 | ||
93 | 93 | ||
94 | 94 | ||
95 | |||
diff --git a/linden/indra/llmessage/llxfermanager.cpp b/linden/indra/llmessage/llxfermanager.cpp index 7758a32..b9a2c3e 100644 --- a/linden/indra/llmessage/llxfermanager.cpp +++ b/linden/indra/llmessage/llxfermanager.cpp | |||
@@ -396,7 +396,7 @@ void LLXferManager::requestFile(const char* local_filename, | |||
396 | ELLPath remote_path, | 396 | ELLPath remote_path, |
397 | const LLHost& remote_host, | 397 | const LLHost& remote_host, |
398 | BOOL delete_remote_on_completion, | 398 | BOOL delete_remote_on_completion, |
399 | void (*callback)(void**,S32), | 399 | void (*callback)(void**,S32,LLExtStat), |
400 | void** user_data, | 400 | void** user_data, |
401 | BOOL is_priority, | 401 | BOOL is_priority, |
402 | BOOL use_big_packets) | 402 | BOOL use_big_packets) |
@@ -453,7 +453,7 @@ void LLXferManager::requestFile(const char* remote_filename, | |||
453 | ELLPath remote_path, | 453 | ELLPath remote_path, |
454 | const LLHost& remote_host, | 454 | const LLHost& remote_host, |
455 | BOOL delete_remote_on_completion, | 455 | BOOL delete_remote_on_completion, |
456 | void (*callback)(void*,S32,void**,S32), | 456 | void (*callback)(void*,S32,void**,S32,LLExtStat), |
457 | void** user_data, | 457 | void** user_data, |
458 | BOOL is_priority) | 458 | BOOL is_priority) |
459 | { | 459 | { |
@@ -481,7 +481,7 @@ void LLXferManager::requestVFile(const LLUUID& local_id, | |||
481 | const LLUUID& remote_id, | 481 | const LLUUID& remote_id, |
482 | LLAssetType::EType type, LLVFS* vfs, | 482 | LLAssetType::EType type, LLVFS* vfs, |
483 | const LLHost& remote_host, | 483 | const LLHost& remote_host, |
484 | void (*callback)(void**, S32), | 484 | void (*callback)(void**,S32,LLExtStat), |
485 | void** user_data, | 485 | void** user_data, |
486 | BOOL is_priority) | 486 | BOOL is_priority) |
487 | { | 487 | { |
@@ -1151,3 +1151,4 @@ void process_abort_xfer(LLMessageSystem *mesgsys, void **user_data) | |||
1151 | 1151 | ||
1152 | 1152 | ||
1153 | 1153 | ||
1154 | |||
diff --git a/linden/indra/llmessage/llxfermanager.h b/linden/indra/llmessage/llxfermanager.h index 7b529ad..62969d9 100644 --- a/linden/indra/llmessage/llxfermanager.h +++ b/linden/indra/llmessage/llxfermanager.h | |||
@@ -145,7 +145,7 @@ class LLXferManager | |||
145 | ELLPath remote_path, | 145 | ELLPath remote_path, |
146 | const LLHost& remote_host, | 146 | const LLHost& remote_host, |
147 | BOOL delete_remote_on_completion, | 147 | BOOL delete_remote_on_completion, |
148 | void (*callback)(void**,S32), void** user_data, | 148 | void (*callback)(void**,S32,LLExtStat), void** user_data, |
149 | BOOL is_priority = FALSE, | 149 | BOOL is_priority = FALSE, |
150 | BOOL use_big_packets = FALSE); | 150 | BOOL use_big_packets = FALSE); |
151 | 151 | ||
@@ -154,7 +154,7 @@ class LLXferManager | |||
154 | ELLPath remote_path, | 154 | ELLPath remote_path, |
155 | const LLHost &remote_host, | 155 | const LLHost &remote_host, |
156 | BOOL delete_remote_on_completion, | 156 | BOOL delete_remote_on_completion, |
157 | void (*callback)(void*, S32, void**, S32), | 157 | void (*callback)(void*, S32, void**, S32, LLExtStat), |
158 | void** user_data, | 158 | void** user_data, |
159 | BOOL is_priority = FALSE); | 159 | BOOL is_priority = FALSE); |
160 | 160 | ||
@@ -163,7 +163,7 @@ class LLXferManager | |||
163 | virtual void requestVFile(const LLUUID &local_id, const LLUUID& remote_id, | 163 | virtual void requestVFile(const LLUUID &local_id, const LLUUID& remote_id, |
164 | LLAssetType::EType type, LLVFS* vfs, | 164 | LLAssetType::EType type, LLVFS* vfs, |
165 | const LLHost& remote_host, | 165 | const LLHost& remote_host, |
166 | void (*callback)(void**, S32), void** user_data, | 166 | void (*callback)(void**,S32,LLExtStat), void** user_data, |
167 | BOOL is_priority = FALSE); | 167 | BOOL is_priority = FALSE); |
168 | 168 | ||
169 | /* | 169 | /* |
@@ -205,3 +205,4 @@ void process_abort_xfer (LLMessageSystem *mesgsys, void **user_data); | |||
205 | #endif | 205 | #endif |
206 | 206 | ||
207 | 207 | ||
208 | |||
diff --git a/linden/indra/llmessage/message.cpp b/linden/indra/llmessage/message.cpp index a9d5dd3..70b8166 100644 --- a/linden/indra/llmessage/message.cpp +++ b/linden/indra/llmessage/message.cpp | |||
@@ -2134,7 +2134,7 @@ void LLMessageSystem::dispatch( | |||
2134 | } | 2134 | } |
2135 | // enable this for output of message names | 2135 | // enable this for output of message names |
2136 | //llinfos << "< \"" << msg_name << "\"" << llendl; | 2136 | //llinfos << "< \"" << msg_name << "\"" << llendl; |
2137 | //lldebugs << "data: " << LLSDXMLStreamer(message) << llendl; | 2137 | //lldebugs << "data: " << LLSDNotationStreamer(message) << llendl; |
2138 | 2138 | ||
2139 | handler->post(responsep, context, message); | 2139 | handler->post(responsep, context, message); |
2140 | } | 2140 | } |
diff --git a/linden/indra/llmessage/message_prehash.cpp b/linden/indra/llmessage/message_prehash.cpp index fbe5c33..ce532e1 100644 --- a/linden/indra/llmessage/message_prehash.cpp +++ b/linden/indra/llmessage/message_prehash.cpp | |||
@@ -305,6 +305,7 @@ char * _PREHASH_LogFailedMoneyTransaction; | |||
305 | char * _PREHASH_ViewerStartAuction; | 305 | char * _PREHASH_ViewerStartAuction; |
306 | char * _PREHASH_StartAuction; | 306 | char * _PREHASH_StartAuction; |
307 | char * _PREHASH_DuplicateFlags; | 307 | char * _PREHASH_DuplicateFlags; |
308 | char * _PREHASH_RegionInfo2; | ||
308 | char * _PREHASH_TextColor; | 309 | char * _PREHASH_TextColor; |
309 | char * _PREHASH_SlaveID; | 310 | char * _PREHASH_SlaveID; |
310 | char * _PREHASH_Charter; | 311 | char * _PREHASH_Charter; |
@@ -670,9 +671,9 @@ char * _PREHASH_PreyAgent; | |||
670 | char * _PREHASH_SimStats; | 671 | char * _PREHASH_SimStats; |
671 | char * _PREHASH_LogoutReply; | 672 | char * _PREHASH_LogoutReply; |
672 | char * _PREHASH_FeatureDisabled; | 673 | char * _PREHASH_FeatureDisabled; |
674 | char * _PREHASH_PhysicalAvatarEventList; | ||
673 | char * _PREHASH_ObjectLocalID; | 675 | char * _PREHASH_ObjectLocalID; |
674 | char * _PREHASH_Dropped; | 676 | char * _PREHASH_Dropped; |
675 | char * _PREHASH_PhysicalAvatarEventList; | ||
676 | char * _PREHASH_WebProfilesDisabled; | 677 | char * _PREHASH_WebProfilesDisabled; |
677 | char * _PREHASH_Destination; | 678 | char * _PREHASH_Destination; |
678 | char * _PREHASH_MasterID; | 679 | char * _PREHASH_MasterID; |
@@ -1637,6 +1638,7 @@ void init_prehash_data() | |||
1637 | _PREHASH_ViewerStartAuction = gMessageStringTable.getString("ViewerStartAuction"); | 1638 | _PREHASH_ViewerStartAuction = gMessageStringTable.getString("ViewerStartAuction"); |
1638 | _PREHASH_StartAuction = gMessageStringTable.getString("StartAuction"); | 1639 | _PREHASH_StartAuction = gMessageStringTable.getString("StartAuction"); |
1639 | _PREHASH_DuplicateFlags = gMessageStringTable.getString("DuplicateFlags"); | 1640 | _PREHASH_DuplicateFlags = gMessageStringTable.getString("DuplicateFlags"); |
1641 | _PREHASH_RegionInfo2 = gMessageStringTable.getString("RegionInfo2"); | ||
1640 | _PREHASH_TextColor = gMessageStringTable.getString("TextColor"); | 1642 | _PREHASH_TextColor = gMessageStringTable.getString("TextColor"); |
1641 | _PREHASH_SlaveID = gMessageStringTable.getString("SlaveID"); | 1643 | _PREHASH_SlaveID = gMessageStringTable.getString("SlaveID"); |
1642 | _PREHASH_Charter = gMessageStringTable.getString("Charter"); | 1644 | _PREHASH_Charter = gMessageStringTable.getString("Charter"); |
@@ -2002,9 +2004,9 @@ void init_prehash_data() | |||
2002 | _PREHASH_SimStats = gMessageStringTable.getString("SimStats"); | 2004 | _PREHASH_SimStats = gMessageStringTable.getString("SimStats"); |
2003 | _PREHASH_LogoutReply = gMessageStringTable.getString("LogoutReply"); | 2005 | _PREHASH_LogoutReply = gMessageStringTable.getString("LogoutReply"); |
2004 | _PREHASH_FeatureDisabled = gMessageStringTable.getString("FeatureDisabled"); | 2006 | _PREHASH_FeatureDisabled = gMessageStringTable.getString("FeatureDisabled"); |
2007 | _PREHASH_PhysicalAvatarEventList = gMessageStringTable.getString("PhysicalAvatarEventList"); | ||
2005 | _PREHASH_ObjectLocalID = gMessageStringTable.getString("ObjectLocalID"); | 2008 | _PREHASH_ObjectLocalID = gMessageStringTable.getString("ObjectLocalID"); |
2006 | _PREHASH_Dropped = gMessageStringTable.getString("Dropped"); | 2009 | _PREHASH_Dropped = gMessageStringTable.getString("Dropped"); |
2007 | _PREHASH_PhysicalAvatarEventList = gMessageStringTable.getString("PhysicalAvatarEventList"); | ||
2008 | _PREHASH_WebProfilesDisabled = gMessageStringTable.getString("WebProfilesDisabled"); | 2010 | _PREHASH_WebProfilesDisabled = gMessageStringTable.getString("WebProfilesDisabled"); |
2009 | _PREHASH_Destination = gMessageStringTable.getString("Destination"); | 2011 | _PREHASH_Destination = gMessageStringTable.getString("Destination"); |
2010 | _PREHASH_MasterID = gMessageStringTable.getString("MasterID"); | 2012 | _PREHASH_MasterID = gMessageStringTable.getString("MasterID"); |
diff --git a/linden/indra/llmessage/message_prehash.h b/linden/indra/llmessage/message_prehash.h index b75edca..672cd14 100644 --- a/linden/indra/llmessage/message_prehash.h +++ b/linden/indra/llmessage/message_prehash.h | |||
@@ -305,6 +305,7 @@ extern char * _PREHASH_LogFailedMoneyTransaction; | |||
305 | extern char * _PREHASH_ViewerStartAuction; | 305 | extern char * _PREHASH_ViewerStartAuction; |
306 | extern char * _PREHASH_StartAuction; | 306 | extern char * _PREHASH_StartAuction; |
307 | extern char * _PREHASH_DuplicateFlags; | 307 | extern char * _PREHASH_DuplicateFlags; |
308 | extern char * _PREHASH_RegionInfo2; | ||
308 | extern char * _PREHASH_TextColor; | 309 | extern char * _PREHASH_TextColor; |
309 | extern char * _PREHASH_SlaveID; | 310 | extern char * _PREHASH_SlaveID; |
310 | extern char * _PREHASH_Charter; | 311 | extern char * _PREHASH_Charter; |
@@ -670,9 +671,9 @@ extern char * _PREHASH_PreyAgent; | |||
670 | extern char * _PREHASH_SimStats; | 671 | extern char * _PREHASH_SimStats; |
671 | extern char * _PREHASH_LogoutReply; | 672 | extern char * _PREHASH_LogoutReply; |
672 | extern char * _PREHASH_FeatureDisabled; | 673 | extern char * _PREHASH_FeatureDisabled; |
674 | extern char * _PREHASH_PhysicalAvatarEventList; | ||
673 | extern char * _PREHASH_ObjectLocalID; | 675 | extern char * _PREHASH_ObjectLocalID; |
674 | extern char * _PREHASH_Dropped; | 676 | extern char * _PREHASH_Dropped; |
675 | extern char * _PREHASH_PhysicalAvatarEventList; | ||
676 | extern char * _PREHASH_WebProfilesDisabled; | 677 | extern char * _PREHASH_WebProfilesDisabled; |
677 | extern char * _PREHASH_Destination; | 678 | extern char * _PREHASH_Destination; |
678 | extern char * _PREHASH_MasterID; | 679 | extern char * _PREHASH_MasterID; |