Changeset View
Changeset View
Standalone View
Standalone View
src/qt/sendcoinsrecipient.h
Show First 20 Lines • Show All 53 Lines • ▼ Show 20 Lines | #endif | ||||
QString authenticatedMerchant; | QString authenticatedMerchant; | ||||
// memory only | // memory only | ||||
bool fSubtractFeeFromAmount; | bool fSubtractFeeFromAmount; | ||||
static const int CURRENT_VERSION = 1; | static const int CURRENT_VERSION = 1; | ||||
int nVersion; | int nVersion; | ||||
ADD_SERIALIZE_METHODS; | SERIALIZE_METHODS(SendCoinsRecipient, obj) { | ||||
std::string address_str, label_str, message_str, auth_merchant_str; | |||||
template <typename Stream, typename Operation> | std::string payment_request_str; | ||||
inline void SerializationOp(Stream &s, Operation ser_action) { | |||||
std::string sAddress = address.toStdString(); | SER_WRITE(obj, address_str = obj.address.toStdString()); | ||||
std::string sLabel = label.toStdString(); | SER_WRITE(obj, label_str = obj.label.toStdString()); | ||||
std::string sMessage = message.toStdString(); | SER_WRITE(obj, message_str = obj.message.toStdString()); | ||||
#ifdef ENABLE_BIP70 | #ifdef ENABLE_BIP70 | ||||
std::string sPaymentRequest; | if (obj.paymentRequest.IsInitialized()) { | ||||
if (!ser_action.ForRead() && paymentRequest.IsInitialized()) { | SER_WRITE(obj, obj.paymentRequest.SerializeToString( | ||||
paymentRequest.SerializeToString(&sPaymentRequest); | &payment_request_str)); | ||||
} | } | ||||
#endif | #endif | ||||
SER_WRITE(obj, | |||||
auth_merchant_str = obj.authenticatedMerchant.toStdString()); | |||||
std::string sAuthenticatedMerchant = | READWRITE(obj.nVersion, address_str, label_str, obj.amount, message_str, | ||||
authenticatedMerchant.toStdString(); | payment_request_str, auth_merchant_str); | ||||
READWRITE(this->nVersion); | SER_READ(obj, obj.address = QString::fromStdString(address_str)); | ||||
READWRITE(sAddress); | SER_READ(obj, obj.label = QString::fromStdString(label_str)); | ||||
READWRITE(sLabel); | SER_READ(obj, obj.message = QString::fromStdString(message_str)); | ||||
READWRITE(amount); | |||||
READWRITE(sMessage); | |||||
READWRITE(sPaymentRequest); | |||||
READWRITE(sAuthenticatedMerchant); | |||||
if (ser_action.ForRead()) { | |||||
address = QString::fromStdString(sAddress); | |||||
label = QString::fromStdString(sLabel); | |||||
message = QString::fromStdString(sMessage); | |||||
#ifdef ENABLE_BIP70 | #ifdef ENABLE_BIP70 | ||||
if (!sPaymentRequest.empty()) { | if (!payment_request_str.empty()) { | ||||
paymentRequest.parse(QByteArray::fromRawData( | SER_READ(obj, obj.paymentRequest.parse(QByteArray::fromRawData( | ||||
sPaymentRequest.data(), sPaymentRequest.size())); | payment_request_str.data(), | ||||
payment_request_str.size()))); | |||||
} | } | ||||
#else | |||||
SER_READ(obj, obj.sPaymentRequest = payment_request_str); | |||||
#endif | #endif | ||||
SER_READ(obj, obj.authenticatedMerchant = | |||||
authenticatedMerchant = | QString::fromStdString(auth_merchant_str)); | ||||
QString::fromStdString(sAuthenticatedMerchant); | |||||
} | |||||
} | } | ||||
}; | }; | ||||
#endif // BITCOIN_QT_SENDCOINSRECIPIENT_H | #endif // BITCOIN_QT_SENDCOINSRECIPIENT_H |