bool BNetworkAddress::operator<(const BNetworkAddress& other) const { if (Family() < other.Family()) return true; if (Family() > other.Family()) return false; int compare; switch (fAddress.ss_family) { default: case AF_INET: { sockaddr_in& address = (sockaddr_in&)fAddress; sockaddr_in& otherAddress = (sockaddr_in&)other.fAddress; compare = memcmp(&address.sin_addr, &otherAddress.sin_addr, sizeof(address.sin_addr)); break; } case AF_INET6: { sockaddr_in6& address = (sockaddr_in6&)fAddress; sockaddr_in6& otherAddress = (sockaddr_in6&)other.fAddress; compare = memcmp(&address.sin6_addr, &otherAddress.sin6_addr, sizeof(address.sin6_addr)); break; } case AF_LINK: if (LinkLevelAddressLength() < other.LinkLevelAddressLength()) return true; if (LinkLevelAddressLength() > other.LinkLevelAddressLength()) return true; // TODO: could compare index, and name, too compare = memcmp(LinkLevelAddress(), other.LinkLevelAddress(), LinkLevelAddressLength()); break; } if (compare < 0) return true; if (compare > 0) return false; return Port() < other.Port(); }
TInt CCmdSetPrompt::ProcessL( const TDesC& aCommand ) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); TPtrC param; TRAPD( error, param.Set( ParamsL( aCommand )) ); if ( error != KErrNone ) return Error( error, TFR_KFmtErrBadCmd, &Keyphrase() ); TLex parse( param ); if ( !parse.Eos() && !parse.Peek().IsSpace() ) return Error( error, TFR_KFmtErrBadCmd, &Keyphrase() ); // ParseOnly => not executed. if ( Family()->Switch(CCmdFamily::EParseOnly) ) return error; // Alter prompt, back to the default one if no new one. param.Set( TfrLex::TrimAndPeel( param ) ); if ( param.Length() == 0 ) param.Set(THA_CommandPrompt); if ( error = Machine()->SetPrompt( param ), error != KErrNone ) // ### Failure Log( TFR_KFmtErrFailed, &Keyphrase(), error ); return error; }
TInt CCmdPause::ProcessL(const TDesC& aCommand) { TPtrC param; TRAPD(error, param.Set(ParamsL(aCommand))); if (error != KErrNone) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); } TLex parse( param ); if (!parse.Eos() && !parse.Peek().IsSpace()) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); } // ParseOnly => not executed. if (Family()->Switch(CCmdFamily::EParseOnly)) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); return error; } // Ask any key, prompt is either param or a default. param.Set( TfrLex::TrimAndPeel(param)); if (param.Length() == 0) param.Set(TFR_KTxtMsgPressAnyKey); Machine()->Pause(param); return error; }
TInt CCmdPrint::ProcessL(const TDesC& aCommand) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); TPtrC param; TRAPD(error, param.Set(ParamsL(aCommand))); if (error != KErrNone) return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); TLex parse(param); if ( !parse.Eos() && !parse.Peek().IsSpace() ) return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); // ParseOnly => not executed. if (Family()->Switch(CCmdFamily::EParseOnly)) return error; iCurEchoMode = Machine()->EchoMode(); Machine()->SetEchoMode(EFalse); // Print out the param text. param.Set(TfrLex::TrimAndPeel(param)); //Print(param, EFalse); Print(param, ETrue); //Print(param.Mid(6), EFalse); // reset the echo mode to that of before this command! Machine()->SetEchoMode(iCurEchoMode); return error; }
bool BNetworkAddress::Equals(const BNetworkAddress& other, bool includePort) const { if (IsEmpty() && other.IsEmpty()) return true; if (Family() != other.Family() || (includePort && Port() != other.Port())) { return false; } switch (fAddress.ss_family) { case AF_INET: { sockaddr_in& address = (sockaddr_in&)fAddress; sockaddr_in& otherAddress = (sockaddr_in&)other.fAddress; return memcmp(&address.sin_addr, &otherAddress.sin_addr, sizeof(address.sin_addr)) == 0; } case AF_INET6: { sockaddr_in6& address = (sockaddr_in6&)fAddress; sockaddr_in6& otherAddress = (sockaddr_in6&)other.fAddress; return memcmp(&address.sin6_addr, &otherAddress.sin6_addr, sizeof(address.sin6_addr)) == 0; } default: if (fAddress.ss_len != other.fAddress.ss_len) return false; return memcmp(&fAddress, &other.fAddress, fAddress.ss_len); } }
TInt TInetAddr6Only::Input(const TDesC &aBuf) { const TInt ret = TInetAddr::Input(aBuf); if (ret == KErrNone && Family() == KAfInet) ConvertToV4Mapped(); return ret; }
std::string QSIModelInfo::GetBaseModelNumber(std::string defaultNumber) // Marketing model number, sans the features. Just "604" or "RS0.4". { std::string sb; bool researchSpec = false; switch( Family() ) { case FAM_Series500: sb.append( "5" ); break; case FAM_Series600: sb.append( "6" ); break; case FAM_ResearchSpec600: sb.append( "RS" ); researchSpec = true; break; default: return defaultNumber; } switch( CcdSensorType() ) { case CST_KAF_0402: sb.append( researchSpec ? "0.4" : "04" ); break; case CST_KAF_1603: sb.append( researchSpec ? "1.6" : "16" ); break; case CST_KAF_3200: sb.append( researchSpec ? "3.2" : "32" ); break; case CST_KAF_8300: sb.append( researchSpec ? "8.3" : "83" ); break; case CST_KAI_2020: sb.append( researchSpec ? "2.0" : "20" ); break; case CST_KAI_04022: sb.append( researchSpec ? "4.0" : "40" ); break; case CST_ICX674: sb.append( researchSpec ? "2.8" : "28" ); break; case CST_ICX694: sb.append( researchSpec ? "6.0" : "60" ); break; case CST_ICX814: sb.append( researchSpec ? "9.0" : "90" ); break; default: return defaultNumber; } return sb; }
status_t BNetworkAddress::SetAddress(in_addr_t inetAddress) { if (Family() != AF_INET) return B_BAD_VALUE; sockaddr_in& address = (sockaddr_in&)fAddress; address.sin_addr.s_addr = inetAddress; return B_OK; }
TBool CCmdRemark::Recognize( const TDesC& aCommand ) { // Obey the command family's step over mode. SetStepOver(Family()->StepOver()); // Check if is empty or begins with # character. TPtrC cmd = TfrLex::Trim(aCommand); // look for empty, # or // return ((cmd.Length() == 0) || (cmd.Match( _L("#*")) == 0) || (cmd.Match(_L("//*")) == 0 )); }
TInt CCmdDisconnect::ProcessL(const TDesC& aCommand) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); TInt error; TPtrC conname; if (( error = ParseCmdArgs( aCommand, conname )) != KErrNone) return error; // Check if the connection already is defined. // If it is return error, if not create a session and ptr! CAnyObject *obj = (CAnyObject *) Machine()->Domains()->Name(conname); // at this point we can find the session that the disconnect refers to // in the Session, save disconnects eventhandler. if (obj != NULL) // connection (name) exists { // get reference to list in CmdConnect from Family and retrieve the reference to the session CCmdConnect *iConnect = (CCmdConnect *)Family()->Command(THA_KHTTP_Connect); iConnect->DisconnectL(conname); TBool frmwrk = ((CFrmwrkSession *) obj->Ptr())->UseWSPProtocol() ; if (!frmwrk) // HTTP Session so complete request { // check that there are no existing transactions (live) for this session // and that the session is not already closed (i.e. in error) //XXXXXXX iConnect->Delete(conname); Machine()->Domains()->Delete(conname); // what about the iSessionIndex - this is going to be problematic since we need to track the // index into the session when it changes... WriteDateStamp(); Log(_L("\tConnection '%S' has been disconnected!"), &conname); } else { Log(_L("Issued DisconnectL")); } } else return Error(KErrNotFound, THA_KErrConnectionErr, &conname); if ( error != KErrNone ) Log(TFR_KFmtErrFailed, &Keyphrase(), error); return error; }
status_t BNetworkAddress::SetAddress(const in6_addr& inet6Address) { if (Family() != AF_INET6) return B_BAD_VALUE; sockaddr_in6& address = (sockaddr_in6&)fAddress; memcpy(address.sin6_addr.s6_addr, &inet6Address, sizeof(address.sin6_addr.s6_addr)); return B_OK; }
TInt CCmdListAll::ProcessL(const TDesC& aCommand) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); if (!Recognize(aCommand)) return Error(KErrArgument, TFR_KFmtErrBadCmd, &Keyphrase()); // List commands out Family()->ListAll(Console()); return KErrNone; }
TInt CCmdHold::ProcessL( const TDesC& aCommand ) { TPtrC param; TRAPD( error, param.Set( ParamsL( aCommand )) ); if ( error != KErrNone ) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); return Error(error, TFR_KFmtErrBadCmd, &Keyphrase() ); } TLex parse( param ); if ( !parse.Eos() && !parse.Peek().IsSpace() ) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); return Error( error, TFR_KFmtErrBadCmd, &Keyphrase() ); } // Param must be integer. If no param then default is 1 second. param.Set( TfrLex::TrimAndPeel(param) ); parse = param; TInt n; if ( parse.Eos() ) n = 1; else if (parse.Val(n) != KErrNone || !parse.Eos()) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); } // ParseOnly => not executed! if (Family()->Switch(CCmdFamily::EParseOnly) ) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); return error; } // Hold processing for n seconds. TTimeIntervalMicroSeconds32 microseconds; microseconds = 1000000 * n; Machine()->Hold(microseconds); return error; }
void CompositeFind::readInFamilies(std::string eleFilePath) { std::ifstream fin(eleFilePath.c_str()); std::string eleLine(""); getline(fin,eleLine); std::vector<std::string> eleStrs; Family curFam; int preFamilyId = -1; int curFamilyId; int startPos; int endPos; while(getline(fin,eleLine)) { splitEleLine(eleLine, eleStrs); curFamilyId = atoi(eleStrs[0].c_str()); startPos = atoi(eleStrs[4].c_str()); if (curFamilyId != preFamilyId ) { if (preFamilyId != -1) families.push_back(curFam); curFam = Family(); curFam.setID(curFamilyId); endPos = atoi(eleStrs[5].c_str()); curFam.setMinL(endPos - startPos + 1); preFamilyId = curFamilyId; } curFam.increaseCount(); curFam.addStartPosition(startPos); } families.push_back(curFam); fin.close(); sort(families.begin(), families.end(), compareFam); std::cout<< "families sorted finished, families size:"<< families.size() <<std::endl; for (int j=0; j<(int)families.size(); j++) { int cnt = families[j].getCount(); for (int i =0; i< cnt; i++) familyMap[families[j].startPositions[i]] = &families[j]; } }
TInt CCmdCheckMode::ProcessL( const TDesC& aCommand ) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); TPtrC param; TRAPD( error, param.Set( ParamsL( aCommand )) ); if ( error != KErrNone ) return Error( error, TFR_KFmtErrBadCmd, &Keyphrase() ); TLex parse( param ); if ( !parse.Peek().IsSpace() ) return Error( error, TFR_KFmtErrBadCmd, &Keyphrase() ); // Param shall On or Off? param.Set( TfrLex::TrimAndPeel( param ) ); TBool value = (param.CompareF(TFR_KTxtTermOn) == 0); if ( !value && param.CompareF(TFR_KTxtTermOff) != 0 ) return Error( KErrArgument, TFR_KFmtErrBadCmd, &Keyphrase() ); // Set Check Mode (ParseOnly) On/Off. Family()->SetSwitch(CCmdFamily::EParseOnly, value); return error; }
bool EDFBFont::IsValid() const { return(fEngine != NULL && fDFBFont != NULL && Family() != NULL && Style() != NULL); }
bool EFontFT2::IsValid() const { return(fFilename != NULL && fFaceIndex >= 0 && nFaces > 0 && Family() != NULL && Style() != NULL); }
TInt CCmdIf::ProcessL(const TDesC &aCommand) { // Complete the test machine - will then get the next cmd Machine()->CompleteRequest(); // this converts the first parameter (if found) into something useful! TPtrC param; TRAPD(error, param.Set(ParamsL(aCommand))); if (error != KErrNone) return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); TLex parse(param); if (!parse.Eos() && !parse.Peek().IsSpace()) return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); parse.SkipSpace(); if (parse.Eos()) // no parameters so invalid command return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); // convert into our LValue TPtrC lvalue; TRAP(error, lvalue.Set(TfrLex::GetL(parse))); if (error != KErrNone) return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); lvalue.Set(TfrLex::Peel(lvalue)); if (lvalue.Length() > 32) return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); // now check that the second 'param' is one of our comparison tokens... TPtrC opr; TRAP(error, opr.Set(TfrLex::GetL(parse))); if (error != KErrNone) return Error(KErrArgument, TFR_KFmtErrBadCmd, &opr); // check is valid length opr.Set(TfrLex::Peel(opr)); if (opr.Length() > 16) return Error(KErrArgument, THA_KErrParameterLong, &opr); // check operator is one of our known list // Param shall be HTTP or WSP opr.Set(TfrLex::TrimAndPeel(opr)); TBool eValue; if (opr.CompareF(KTxtEquals) == 0) eValue = TCO_Equals; else if (opr.CompareF(KTxtNotEqual) == 0) eValue = TCO_NotEqual; else if (opr.CompareF(KTxtGreaterThan) == 0) eValue = TCO_GreaterThan; else if (opr.CompareF(KTxtLessThan) == 0) eValue = TCO_LessThan; else if (opr.CompareF(KTxtGreaterThanEq) == 0) eValue = TCO_GreaterThanEq; else if (opr.CompareF(KTxtLessThanEq) == 0) eValue = TCO_LessThanEq; else // not recognized the comp.operator so error return Error(KErrArgument, THA_KErrInvalidOptr, &opr); // now look at the final parameter and convert into our LValue // assuming that there is anything more. TPtrC rvalue = TfrLex::Trim(parse.Remainder()); if (rvalue.Length() == 0) return Error(KErrArgument, TFR_KFmtErrBadCmd, &aCommand); rvalue.Set(TfrLex::TrimAndPeel(rvalue)); if (rvalue.Length() > 16) return Error(error, TFR_KFmtErrBadCmd, &Keyphrase()); // ParseOnly => not executed. if (Family()->Switch(CCmdFamily::EParseOnly)) return error; // determine if we're comparing numeric or data (or both!) TBool iNumeric = ETrue; TInt ilval; TInt irval; if (InetProtTextUtils::ConvertDescriptorToInt(lvalue,ilval) < 0) iNumeric = EFalse; // check we're not comparing apples with oranges... iNumeric = ((InetProtTextUtils::ConvertDescriptorToInt(rvalue,irval) < 0) && iNumeric) ? EFalse : ETrue; // now determine the comparison result (also // -1 => error or failure (i.e. < 0) 0 = false, 1 = true TInt iResult = -2; switch (eValue) { case TCO_Equals : iResult = (iNumeric) ? ((TInt) (ilval == irval)) : ((lvalue.Match(rvalue) == 0) ? 1 : 0); break; case TCO_NotEqual : iResult = (iNumeric) ? ((TInt) (ilval != irval)) : ((lvalue.Match(rvalue) != 0) ? 1 : 0); break; case TCO_GreaterThan : iResult = (iNumeric) ? ((TInt) (ilval > irval)) : ((lvalue.Match(rvalue) == 1) ? 1 : 0); break; case TCO_LessThan : iResult = (iNumeric) ? ((TInt) (ilval < irval)) : ((lvalue.Match(rvalue) == -1) ? 1 : 0); break; case TCO_GreaterThanEq : iResult = (iNumeric) ? ((TInt) (ilval >= irval)) : ((lvalue.Match(rvalue) >= 0) ? 1 : 0); break; case TCO_LessThanEq : iResult = (iNumeric) ? ((TInt) (ilval <= irval)) : ((lvalue.Match(rvalue) < 1) ? 1 : 0); break; } // the result now determines if we continue processing (and ignore any following ELSE) // before we meet the ENDIF or we skip and perform the ELSE clause... // NOTE: now we can nest IF's etc, we MUST count those that are met when we // 'ignore' lines as these MAY be incorrectly nested... TBool iSuccess = (TBool) iResult; if (iSuccess) Machine()->IfL(CIFControl::EIFTrue, iSuccess, CIFControl::EInIF); else // failed test so skip the true block Machine()->IfL(CIFControl::EELSETrue, iSuccess, CIFControl::EInIF); // whilst we would be better off returning the actual result, it bears little consequence // - in fact if we get here we're ok anyway... return KErrNone; }
Particle::Particle(exroot::LHEFParticle const& particle, int id) : PseudoJet(LorentzVector<Momentum>(particle)) { SetInfo(Family(id, Relative::particle)); }