laforge
/
openbts-osmo
Archived
1
0
Fork 0

Add comments anf better formating to USSDHandler::postUSSDData().

This commit is contained in:
Alexander Chemeris 2010-08-11 22:04:03 +04:00
parent dd366df4f4
commit 58821a8f74
1 changed files with 24 additions and 15 deletions

View File

@ -670,21 +670,30 @@ unsigned USSDHandler::waitUSSDData(Control::USSDData::USSDMessageType* messageTy
void USSDHandler::postUSSDData(Control::USSDData::USSDMessageType messageType, std::string USSDString)
{
if (USSDString.length()>USSD_MAX_CHARS_7BIT)
{
int contLen = mContinueStr.length();
mString = USSDString.substr(USSD_MAX_CHARS_7BIT-contLen,
USSDString.length()-(USSD_MAX_CHARS_7BIT-contLen));
USSDString.erase(USSDString.begin()+USSD_MAX_CHARS_7BIT-contLen, USSDString.end());
USSDString += mContinueStr;
}
else mString = "";
TransactionEntry transaction;
gTransactionTable.find(mTransactionID, transaction);
transaction.ussdData()->MessageType(messageType);
transaction.ussdData()->USSDString(USSDString);
gTransactionTable.update(transaction);
transaction.ussdData()->postNW();
if (USSDString.length()>USSD_MAX_CHARS_7BIT)
{
int contLen = mContinueStr.length();
mString = USSDString.substr(USSD_MAX_CHARS_7BIT-contLen,
USSDString.length()-(USSD_MAX_CHARS_7BIT-contLen));
USSDString.erase(USSDString.begin()+USSD_MAX_CHARS_7BIT-contLen, USSDString.end());
USSDString += mContinueStr;
}
else
{
mString = "";
}
// Step 1 -- Find transaction
TransactionEntry transaction;
gTransactionTable.find(mTransactionID, transaction);
// Step 2 -- Update transaction with the data to send
transaction.ussdData()->MessageType(messageType);
transaction.ussdData()->USSDString(USSDString);
gTransactionTable.update(transaction);
// Step 3 -- Notify the dispatcher thread that data is ready to be sent
transaction.ussdData()->postNW();
}
void *USSDHandler::runWrapper(void *pThis)