RexxReturnCode REXXENTRY rx3270GetFTState(PSZ Name, LONG Argc, RXSTRING Argv[], PSZ Queuename, PRXSTRING Retstr) { static const struct _state { const gchar *name; enum ft_state state; } state[] = { { "NONE", FT_NONE }, { "AWAIT_ACK", FT_AWAIT_ACK }, { "RUNNING", FT_RUNNING }, { "ABORT_WAIT", FT_ABORT_WAIT }, { "ABORT_SENT", FT_ABORT_SENT } }; enum ft_state current_state = GetFileTransferState(); int f; for(f = 0;f < G_N_ELEMENTS(state); f++) { if(current_state == state[f].state) return RetString(Retstr,state[f].name); } return RetValue(Retstr,(int) current_state); }
QString CSmfCredMgrClientSymbian::storeRSAKeysL(const QString KeyLabel, const QString keydata, const QDateTime Validity) { RDebug::Printf("Sending store RSA key message to server"); TPtrC labelPtr(qt_QString2TPtrC(KeyLabel)); TPtr dataPtr((qt_QString2HBufC(keydata)->Des())); QDateTime CurrentTime = QDateTime::currentDateTime(); TTimeIntervalSeconds duration(CurrentTime.secsTo(Validity)); TTime startDate; startDate.UniversalTime(); TTime endDate(startDate); endDate += duration; CSmfRsaKeyParameters* storeRSAKeysparams = CSmfRsaKeyParameters::NewL( labelPtr, startDate, endDate, (dataPtr.Collapse())); CleanupStack::PushL(storeRSAKeysparams); CBufFlat* buf = CBufFlat::NewL(KMinBufSize); CleanupStack::PushL(buf); RBufWriteStream stream(*buf); CleanupClosePushL(stream); storeRSAKeysparams->ExternalizeL(stream); stream.CommitL(); TPtr8 bufPtr = buf->Ptr(0); TIpcArgs args; args.Set(0, &bufPtr); CleanupStack::PopAndDestroy(&stream); HBufC8* retBuf = HBufC8::NewLC(KSHA1HashLengthBytes); TPtr8 retBufPtr(retBuf->Des()); args.Set(1, &retBufPtr); iSession.RequestService(ESmfStoreRSAKey, args); RDebug::Printf("SMF: Message completed"); TBuf<KSHA1HashLengthBytes> key; key.Copy(retBufPtr); QString RetString(qt_TDesC2QString(key)); CleanupStack::Pop(retBuf); CleanupStack::PopAndDestroy(buf); CleanupStack::PopAndDestroy(storeRSAKeysparams); RDebug::Printf("-In storeAuthDataL()"); return (RetString); }
QString CSmfCredMgrClientSymbian::generateNONCE(const qint64 Length) { srand(time(0)); QDateTime UniqueNumber = QDateTime::currentDateTime(); //read upto milliseconds QString RetString(UniqueNumber.toString("hh:mm:ss.zzz")); QString Letters( "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); //append a randomly generated string to RetString for (int i = RetString.count(); i < Length; i++) { RetString.insert((i), Letters.at(rand() % Letters.size())); } return RetString; }