void ARClef::setTagParameterList(TagParameterList& tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "S,type,treble,r")); // old:;F,size,1.0,o" CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { TagParameterString * tps = TagParameterString::cast(rtpl->RemoveHead()); assert(tps); setName(tps->getValue()); delete tps; } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARNewSystem::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "U,dy,0,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) mDy = TagParameterFloat::cast(rtpl->RemoveHead()); delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARStaccato::setTagParameterList(TagParameterList& tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(("S,type,,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList *rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { TagParameterString * str = TagParameterString::cast(rtpl->RemoveHead()); assert(str); if (str->TagIsSet()) { if (str->getValue() == std::string("heavy")) type = HEAVY; else type = REGULAR; } delete str; } delete rtpl; } tpl.RemoveAll(); }
void ARRestFormat::setTagParameterList(TagParameterList &tpl) { if (ltpls.empty()) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(("")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret >= 0 && rtpl) { delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARTStem::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(( "U,length,7.0,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; const int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // w, h, ml, mt, mr, mb //GuidoPos pos = rtpl->GetHeadPosition(); mTpfLength = TagParameterFloat::cast( rtpl->RemoveHead()); } delete rtpl; } else { // failure... } tpl.RemoveAll(); }
void ARMark::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "S,text,,r")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList *rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { text = TagParameterString::cast(rtpl->RemoveHead()); assert(text); } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARShareStem::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList *rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // GuidoPos pos = rtpl->GetHeadPosition(); } delete rtpl; } tpl.RemoveAll(); }
void ARGrace::setTagParameterList(TagParameterList& tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(( "I,i,,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = 0; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { num = TagParameterInt::cast(rtpl->RemoveHead()); assert(num); } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARTremolo::setTagParameterList(TagParameterList& tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(( "I,dur,32,o" // "S,text,,r;U,dy,-1,o" )); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ServerScheduler::GetListOfJobs(ListOfStrings& jobs) { boost::mutex::scoped_lock lock(mutex_); jobs.clear(); for (Jobs::const_iterator it = jobs_.begin(); it != jobs_.end(); ++it) { jobs.push_back(it->first); } }
void ARMarcato::setTagParameterList(TagParameterList& tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail("S,position,,o"); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { TagParameterString * str = TagParameterString::cast(rtpl->RemoveHead()); assert(str); std::string below ("below"); std::string above ("above"); if (str->TagIsSet() && (below == str->getValue())) { position = BELOW; } else if (str->TagIsSet() && (above == str->getValue())) { position = ABOVE; } delete str; // Get The TagParameters ... // text = // TagParameterString::cast(rtpl->RemoveHead()); //assert(text); } delete rtpl; } else { // failure } tpl.RemoveAll(); }
const char *PropertySet::getPropertyName(int which) { ListOfStrings *propNames = (ListOfStrings *) propertyNameList; int i = 0; for (ListOfStrings::iterator itr = propNames->begin(); itr != propNames->end(); itr++, i++) { if (i == which) { std::string s = *itr; char *pc = new char[strlen(s.c_str())+1]; strcpy(pc, s.c_str()); return pc; } } return(NULL); }
bool StorePeerCommand::Apply(ListOfStrings& outputs, const ListOfStrings& inputs) { // Configure the HTTP client HttpClient client; client.SetProxy(Configuration::GetGlobalStringParameter("HttpProxy", "")); if (peer_.GetUsername().size() != 0 && peer_.GetPassword().size() != 0) { client.SetCredentials(peer_.GetUsername().c_str(), peer_.GetPassword().c_str()); } client.SetUrl(peer_.GetUrl() + "instances"); client.SetMethod(HttpMethod_Post); for (ListOfStrings::const_iterator it = inputs.begin(); it != inputs.end(); ++it) { LOG(INFO) << "Sending resource " << *it << " to peer \"" << peer_.GetUrl() << "\""; try { context_.ReadFile(client.AccessPostData(), *it, FileContentType_Dicom); std::string answer; if (!client.Apply(answer)) { LOG(ERROR) << "Unable to send resource " << *it << " to peer \"" << peer_.GetUrl() << "\""; throw OrthancException(ErrorCode_NetworkProtocol); } // Only chain with other commands if this command succeeds outputs.push_back(*it); } catch (OrthancException& e) { LOG(ERROR) << "Unable to forward to an Orthanc peer in a Lua script (instance " << *it << ", peer " << peer_.GetUrl() << "): " << e.What(); if (!ignoreExceptions_) { throw; } } } return true; }
void ARFermata::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { ListOfStrings lstrs; lstrs.AddTail("S,type,short,o;S,position,above,o"); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls, tpl, &rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { TagParameterString * str = TagParameterString::cast(rtpl->RemoveHead()); assert(str); std::string shortstr ("short"); std::string longstr ("long"); std::string below ("below"); if (str->TagIsSet()) { if (shortstr == str->getValue()) type = SHORT; else if (longstr == str->getValue()) type = LONG; else type = REGULAR; } delete str; str = TagParameterString::cast(rtpl->RemoveHead()); assert(str); if (str->TagIsSet() && (below == str->getValue())) { position = BELOW; } else position = ABOVE; delete str; } delete rtpl; } tpl.RemoveAll(); }
void ARStaff::setTagParameterList(TagParameterList& tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ("I,id,,r;U,dy,,o")); lstrs.AddTail( ("S,id,,r;U,dy,,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { idi = TagParameterInt::cast(rtpl->RemoveHead()); assert(idi); if (idi->getValue() < 1) { GuidoWarn("Staff-Parameter-Value smaller than 1"); idi->setValue(1); } mDy = TagParameterFloat::cast(rtpl->RemoveHead()); assert(mDy); } else if (ret==1) { // we have a match with the second parameter ... ids = TagParameterString::cast(rtpl->RemoveHead()); assert(ids); mDy = TagParameterFloat::cast(rtpl->RemoveHead()); assert(mDy); } delete rtpl; } else { // failure ... } if (idi && idi->getValue() < 0) idi->setValue(0); tpl.RemoveAll(); }
void ARTitle::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(( "S,name,,r;" "S,pageformat,c2,o;S,textformat,cc,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList *rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for the first ParameterList name delete name; delete pageformat; delete textformat; name = TagParameterString::cast(rtpl->RemoveHead()); assert(name); // pageformat pageformat = TagParameterString::cast(rtpl->RemoveHead()); assert(pageformat); textformat = TagParameterString::cast(rtpl->RemoveHead()); assert(textformat); } if (fsize && fsize->TagIsNotSet()) { fsize->setValue(24); fsize->setUnit("pt"); } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARStaffFormat::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "S,style,standard,o;U,size,3pt,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = 0; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret >= 0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for the first ParameterList // w, h, ml, mt, mr, mb style = TagParameterString::cast(rtpl->RemoveHead()); assert(style); if (style->TagIsSet() == false) { delete style; style = NULL; } size = TagParameterFloat::cast(rtpl->RemoveHead()); assert(size); if (size->TagIsSet() == false) { delete size; size = NULL; } else { // one idea is to adjust the size, so that it matches an integer (internally) float intunits = size->getValue(); // per halfspace ... // Integer internal units const int Iintunits = (int) (intunits + 0.5); const double cmunits = Iintunits * kVirtualToCm; const char * unit = size->getUnit(); intunits = (float)gd_convertUnits(cmunits,"cm",unit); size->setValue( intunits ); } } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARABreak::setTagParameterList(TagParameterList & tpl) { if (ltpls.empty()) { ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(("S,page,on,o;S,system,on,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { TagParameterString * str = TagParameterString::cast(rtpl->RemoveHead()); assert(str); std::string off ("off"); if (str->TagIsSet()) { if (off == str->getValue()) mPageBreakState = OFF; } delete str; str = TagParameterString::cast(rtpl->RemoveHead()); assert(str); if (str->TagIsSet()) { if (off == str->getValue()) mSystemBreakState = OFF; } delete str; } delete rtpl; } // all Parameters are ignored ... // issue warning... tpl.RemoveAll(); return; }
void ARBarFormat::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "S,style,staff,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // w, h, ml, mt, mr, mb style = TagParameterString::cast(rtpl->RemoveHead()); assert(style); if( style->TagIsSet() == false ) { delete style; style = NULL; } } delete rtpl; } else { // failure } tpl.RemoveAll(); }
// -------------------------------------------------------------------------- void ARTempo::setTagParameterList( TagParameterList & tpl ) { if( ltpls.GetCount() == 0 ) { ListOfStrings lstrs; // A required tempo string and an optional bpm string. lstrs.AddTail( "S,tempo,,r;S,bpm,,o;U,dy,0,o" ); CreateListOfTPLs( ltpls, lstrs ); } TagParameterList * rtpl = 0; const int ret = MatchListOfTPLsWithTPL( ltpls, tpl, &rtpl ); /* We may have : \tempo <s1, s2> // s1 is pure graphical, s2 (optional) pure musical \tempo <"Andante [1/4]=60"> will be the kString type \tempo <"Andante","1/4=60"> will be the kBPM type \tempo <"Andante [1/4]=[1/8]","1/4=1/8"> will be the kNoteEquiv type */ if( ret >= 0 && rtpl ) { // we found a match! if( ret == 0 ) { // - extract tempo mark informations. TagParameterString * tps = TagParameterString::cast(rtpl->RemoveHead()); if (tps && strlen(tps->getValue())) { FormatStringParser p; mTempoMark.clear(); p.parse (tps->getValue(), mTempoMark); } delete tps; // ParseTempoMark( tps ); // - extract bpm informations tps = TagParameterString::cast(rtpl->RemoveHead()); ParseBpm( tps ); delete tps; delete mDy; mDy = TagParameterFloat::cast(rtpl->RemoveHead()); } delete rtpl; } tpl.RemoveAll(); }
void ARIntens::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(( "S,type,,r;F,value,-1.0,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = 0; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // w, h, ml, mt, mr, mb GuidoPos pos = rtpl->GetHeadPosition(); TagParameterString * tps = TagParameterString::cast(rtpl->GetNext(pos)); assert(tps); mIntensText = tps->getValue(); TagParameterFloat * tpf = TagParameterFloat::cast(rtpl->GetNext(pos)); assert(tpf); if (tpf->pflag != TagParameter::NOTSET) { value = tpf->getValue(); } } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARDrHoos::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "I,inverse,0,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList *rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // w, h, ml, mt, mr, mb GuidoPos pos = rtpl->GetHeadPosition(); TagParameterInt * tpi =TagParameterInt::cast(rtpl->GetNext(pos)); assert(tpi); if (tpi->pflag != TagParameter::NOTSET) { inverse = tpi->getValue(); } } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARAccolade::setTagParameterList(TagParameterList & tpl) { if (ltpls.empty()) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "S,id,,r;S,range,,r;S,type,standard,o")); lstrs.AddTail( ( "I,id,,r;S,range,,r;S,type,standard,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for the first ParameterList sid = TagParameterString::cast(rtpl->RemoveHead()); nid = NULL; range = TagParameterString::cast(rtpl->RemoveHead()); type = TagParameterString::cast(rtpl->RemoveHead()); } else if (ret == 1) { nid = TagParameterInt::cast(rtpl->RemoveHead()); range = TagParameterString::cast(rtpl->RemoveHead()); type = TagParameterString::cast(rtpl->RemoveHead()); } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARAlter::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(( "F,detune,0.0,r;S,text,,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = 0; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { delete altervalue; altervalue = TagParameterFloat::cast(rtpl->RemoveHead()); assert(altervalue); delete alterstring; alterstring = TagParameterString::cast(rtpl->RemoveHead()); assert(alterstring); if (alterstring->TagIsNotSet()) { // then we can set it to the value ... char tmp[10]; snprintf(tmp, 10, "%.2f", altervalue->getValue()); alterstring->setValue(tmp); } } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARChordTag::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "S,label,,o")); lstrs.AddTail( ( "I,label,,o")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // GuidoPos pos = rtpl->GetHeadPosition(); labels = TagParameterString::cast(rtpl->RemoveHead()); } else if (ret == 1) { // we have a label-number labeli = TagParameterInt::cast(rtpl->RemoveHead()); } delete rtpl; } tpl.RemoveAll(); }
void ARUnits::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { // create a list of string ... ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail(("S,type,cm,r")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // w, h, ml, mt, mr, mb GuidoPos pos = rtpl->GetHeadPosition(); TagParameterString * tps = TagParameterString::cast(rtpl->GetNext(pos)); assert(tps); sType = tps->getValue(); } delete rtpl; } else { // failure } tpl.RemoveAll(); }
void ARPizzicato::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { ListOfStrings lstrs; lstrs.AddTail("S,type,lefthand,o"); CreateListOfTPLs(ltpls, lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls, tpl, &rtpl); if (ret>=0 && rtpl) { //we found a match ! if (ret == 0) { TagParameterString * str = TagParameterString::cast(rtpl->RemoveHead()); assert(str); if (str->TagIsSet()) { std::string val(str->getValue()); if (val == "buzz") type = BUZZ; else if (val == "snap" || val == "bartok") type = SNAP; else if (val == "fingernail") type = FINGERNAIL; else type = LEFTHAND; } else type = LEFTHAND; delete str; } delete rtpl; } tpl.RemoveAll(); }
bool DeleteInstanceCommand::Apply(ListOfStrings& outputs, const ListOfStrings& inputs) { for (ListOfStrings::const_iterator it = inputs.begin(); it != inputs.end(); ++it) { LOG(INFO) << "Deleting instance " << *it; try { Json::Value tmp; context_.DeleteResource(tmp, *it, ResourceType_Instance); } catch (OrthancException& e) { LOG(ERROR) << "Unable to delete instance " << *it << " in a Lua script: " << e.What(); } } return true; }
void ARSpace::setTagParameterList(TagParameterList & tpl) { if (ltpls.GetCount() == 0) { ListOfStrings lstrs; // (1); std::vector test impl lstrs.AddTail( ( "U,dd,,r")); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if (ret>=0 && rtpl) { // we found a match! if (ret == 0) { // then, we now the match for // the first ParameterList // w, h, ml, mt, mr, mb GuidoPos pos = rtpl->GetHeadPosition(); TagParameterFloat * tpf = TagParameterFloat::cast(rtpl->GetNext(pos)); assert(tpf); val = tpf->getValue(); } delete rtpl; } else { // failure. } tpl.RemoveAll(); }
void ARVolta::setTagParameterList(TagParameterList & tpl) { if (ltpls.empty()) { ListOfStrings lstrs; lstrs.AddTail( "S,pass,,r;S,m,,r;S,format,,o" ); CreateListOfTPLs(ltpls,lstrs); } TagParameterList * rtpl = NULL; int ret = MatchListOfTPLsWithTPL(ltpls,tpl,&rtpl); if( ret >= 0 && rtpl ) { if( ret == 0 ) { TagParameterString * tps = TagParameterString::cast(rtpl->RemoveHead()); if (tps) mPass = tps->getValue(); tps = TagParameterString::cast(rtpl->RemoveHead()); if (tps) mMark = tps->getValue(); tps = TagParameterString::cast(rtpl->RemoveHead()); if (tps) mFormat = tps->getValue(); } delete rtpl; } tpl.RemoveAll(); }