diff options
author | Aaron Brashears <aaronb@lindenlab.com> | 2007-09-10 20:10:56 +0000 |
---|---|---|
committer | Aaron Brashears <aaronb@lindenlab.com> | 2007-09-10 20:10:56 +0000 |
commit | 80dfa222fdc3747be9f5b64b9ace35907edf1c4e (patch) | |
tree | 6155c692ce1d625ea495c74cd68b1284712241f5 /indra/llinventory | |
parent | 0bd992b07cf17ac0e327cb95d6207883d88a60a3 (diff) |
Result of svn merge -r69150:69158 svn+ssh://svn/svn/linden/branches/named-queries-py3 into release.
Diffstat (limited to 'indra/llinventory')
-rw-r--r-- | indra/llinventory/lltransactionflags.cpp | 84 | ||||
-rw-r--r-- | indra/llinventory/lltransactionflags.h | 18 |
2 files changed, 102 insertions, 0 deletions
diff --git a/indra/llinventory/lltransactionflags.cpp b/indra/llinventory/lltransactionflags.cpp index 3f1aa14959..394dd1bd60 100644 --- a/indra/llinventory/lltransactionflags.cpp +++ b/indra/llinventory/lltransactionflags.cpp @@ -10,6 +10,8 @@ #include "linden_common.h" #include "lltransactionflags.h" +#include "lltransactiontypes.h" +#include "lluuid.h" const U8 TRANSACTION_FLAGS_NONE = 0; const U8 TRANSACTION_FLAG_SOURCE_GROUP = 1; @@ -41,3 +43,85 @@ BOOL is_tf_owner_group(TransactionFlags flags) return ((flags & TRANSACTION_FLAG_OWNER_GROUP) == TRANSACTION_FLAG_OWNER_GROUP); } +void append_reason( + std::ostream& ostr, + S32 transaction_type, + const char* description) +{ + switch( transaction_type ) + { + case TRANS_OBJECT_SALE: + ostr << " for " << (description ? description : "<unknown>"); + break; + case TRANS_LAND_SALE: + ostr << " for a parcel of land"; + break; + case TRANS_LAND_PASS_SALE: + ostr << " for a land access pass"; + break; + case TRANS_GROUP_LAND_DEED: + ostr << " for deeding land"; + default: + break; + } +} + +std::string build_transfer_message_to_source( + S32 amount, + const LLUUID& source_id, + const LLUUID& dest_id, + const std::string& dest_name, + S32 transaction_type, + const char* description) +{ + lldebugs << "build_transfer_message_to_source: " << amount << " " + << source_id << " " << dest_id << " " << dest_name << " " + << (description?description:"(no desc)") << llendl; + if((0 == amount) || source_id.isNull()) return ll_safe_string(description); + std::ostringstream ostr; + if(dest_id.isNull()) + { + ostr << "You paid L$" << amount; + switch(transaction_type) + { + case TRANS_GROUP_CREATE: + ostr << " to create a group"; + break; + case TRANS_GROUP_JOIN: + ostr << " to join a group"; + break; + case TRANS_UPLOAD_CHARGE: + ostr << " to upload"; + break; + default: + break; + } + } + else + { + ostr << "You paid " << dest_name << " L$" << amount; + append_reason(ostr, transaction_type, description); + } + ostr << "."; + return ostr.str(); +} + +std::string build_transfer_message_to_destination( + S32 amount, + const LLUUID& dest_id, + const LLUUID& source_id, + const std::string& source_name, + S32 transaction_type, + const char* description) +{ + lldebugs << "build_transfer_message_to_dest: " << amount << " " + << dest_id << " " << source_id << " " << source_name << " " + << (description?description:"(no desc)") << llendl; + if(0 == amount) return std::string(); + if(dest_id.isNull()) return ll_safe_string(description); + std::ostringstream ostr; + ostr << source_name << " paid you L$" << amount; + append_reason(ostr, transaction_type, description); + ostr << "."; + return ostr.str(); +} diff --git a/indra/llinventory/lltransactionflags.h b/indra/llinventory/lltransactionflags.h index eaa138fef7..999ab5f671 100644 --- a/indra/llinventory/lltransactionflags.h +++ b/indra/llinventory/lltransactionflags.h @@ -24,4 +24,22 @@ BOOL is_tf_source_group(TransactionFlags flags); BOOL is_tf_dest_group(TransactionFlags flags); BOOL is_tf_owner_group(TransactionFlags flags); +// stupid helper functions which should be replaced with some kind of +// internationalizeable message. +std::string build_transfer_message_to_source( + S32 amount, + const LLUUID& source_id, + const LLUUID& dest_id, + const std::string& dest_name, + S32 transaction_type, + const char* description); + +std::string build_transfer_message_to_destination( + S32 amount, + const LLUUID& dest_id, + const LLUUID& source_id, + const std::string& source_name, + S32 transaction_type, + const char* description); + #endif // LL_LLTRANSACTIONFLAGS_H |