GByte *GetKey(void) { wxGISAppConfig oConfig = GetConfig(); if(!oConfig.IsOk()) return NULL; //try get key data from config wxString sKey = oConfig.Read(enumGISHKCU, wxString(wxT("wxGISCommon/crypt/key")), wxString(ERR)); if(sKey.CmpNoCase(wxString(ERR)) == 0) { if(!CreateRandomData())//create random key data return NULL; //second try get key data from config sKey = oConfig.Read(enumGISHKCU, wxString(wxT("wxGISCommon/crypt/key")), wxString(ERR)); if(sKey.CmpNoCase(wxString(ERR)) == 0) return NULL; } int nKeyBytes; GByte *pabyKey = CPLHexToBinary( sKey.mb_str(wxConvUTF8), &nKeyBytes ); return pabyKey; }
void RFFESimulationDataGenerator::CreateRffeTransaction() { U8 cmd; U8 sa_addrs[] = {0x5}; for (U32 adr = 0; adr < sizeof(sa_addrs) / sizeof(sa_addrs[0]); adr++) { for (U32 i = 0; i < 256; i += 1) { CreateSSC(); CreateSlaveAddress(sa_addrs[adr]); cmd = i & 0xff; CreateByteFrame(cmd); switch (RFFEUtil::decodeRFFECmdFrame(cmd)) { case RFFEAnalyzerResults::RffeTypeExtWrite: CreateByteFrame(CreateRandomData()); for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) { CreateByteFrame(CreateRandomData()); } CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeReserved: CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeMasterRead: CreateByteFrame(CreateRandomData()); CreateBusPark(); for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) { CreateByteFrame(CreateRandomData()); } CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeMasterWrite: CreateByteFrame(CreateRandomData()); for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) { CreateByteFrame(CreateRandomData()); } CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeMasterHandoff: CreateBusPark(); for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) { CreateByteFrame((CreateRandomData() & 0x18) | 0x80); // Mask Out bits that are always zero and always set the ACK bit } CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeInterrupt: CreateBusPark(); CreateBits(2, 0x3); // Always indicate interrupts CreateBusPark(); for (U32 i = 0; i < 16; i += 1) { CreateBits(2, CreateRandomData() & 0x2); // Interrupts are 1 bit of interrupt followed by a 0/BP } break; case RFFEAnalyzerResults::RffeTypeExtRead: CreateByteFrame(CreateRandomData()); CreateBusPark(); for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) { CreateByteFrame(CreateRandomData()); } CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeExtLongWrite: CreateByteFrame(CreateRandomData()); CreateByteFrame(CreateRandomData()); for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) { CreateByteFrame(CreateRandomData()); } CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeExtLongRead: CreateByteFrame(CreateRandomData()); CreateByteFrame(CreateRandomData()); CreateBusPark(); for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) { CreateByteFrame(CreateRandomData()); } CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeNormalWrite: CreateByteFrame(CreateRandomData()); CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeNormalRead: CreateBusPark(); CreateByteFrame(CreateRandomData()); CreateBusPark(); break; case RFFEAnalyzerResults::RffeTypeWrite0: CreateBusPark(); break; } } } }