// get the value of a parameter bool CMimeField::GetParameter(const char* pszAttr, string& strValue) const { int nPos, nSize; if (!FindParameter(pszAttr, nPos, nSize)) { strValue.clear(); if(pszAttr!=0) { // parameters might have been continued on another line with param*0, param*1, param*2 std::string tempval(""); std::string tempparam(""); int paramnum=0; std::ostringstream numstr; numstr << paramnum++; tempparam=std::string(pszAttr)+"*"+numstr.str(); while(FindParameter(tempparam.c_str(),nPos,nSize)==true) { if(m_strValue[nPos]=='"') { nPos++; nSize--; if(nSize>0 && m_strValue[nPos+nSize-1]=='"') { nSize--; } } if(nSize>0) { tempval+=m_strValue.substr(nPos,nSize); } numstr.str(""); numstr << paramnum++; tempparam=std::string(pszAttr)+"*"+numstr.str(); } strValue=tempval; } if(strValue!="") { return true; } else { return false; } } if (m_strValue[nPos] == '"') { nPos++; nSize--; if (nSize > 0 && m_strValue[nPos+nSize-1] == '"') nSize--; } strValue.assign(m_strValue.data()+nPos, nSize); return true; }
void CMVSViewMetaInfoDialog::PreLayoutDynInitL() { CEikEdwin* myEdwin1 = static_cast<CEikEdwin*>(Control(EMVSMeta1)); //author if(myEdwin1) { myEdwin1->SetReadOnly(TRUE); myEdwin1->SetBackgroundColorL(KRgbGray); } CEikEdwin* myEdwin2 = static_cast<CEikEdwin*>(Control(EMVSMeta2)); if(myEdwin2) { myEdwin2->SetReadOnly(TRUE); myEdwin2->SetBackgroundColorL(KRgbGray); } //copyright CEikEdwin* myEdwin3 = static_cast<CEikEdwin*>(Control(EMVSMeta3)); if(myEdwin3) { myEdwin3->SetReadOnly(TRUE); myEdwin3->SetBackgroundColorL(KRgbGray); } //revision CEikEdwin* myEdwin4 = static_cast<CEikEdwin*>(Control(EMVSMeta4)); if(myEdwin4) { myEdwin4->SetReadOnly(TRUE); myEdwin4->SetBackgroundColorL(KRgbGray); } //category CEikEdwin* myEdwin5 = static_cast<CEikEdwin*>(Control(EMVSMeta5)); if(myEdwin5) { myEdwin5->SetReadOnly(TRUE); myEdwin5->SetBackgroundColorL(KRgbGray); } //comments CEikEdwin* myEdwin6 = static_cast<CEikEdwin*>(Control(EMVSMeta6)); if(myEdwin6) { myEdwin6->SetReadOnly(TRUE); myEdwin6->SetBackgroundColorL(KRgbGray); } TRAPD(err,iAppUi->GetMetaDataL(iMetaArray)); TInt metaArrayCount = iMetaArray.Count(); if(err == KErrNone && metaArrayCount > 0) { for(TInt counter = 0; counter< iMetaArray.Count(); counter++) { TBufC<256> temp(iMetaArray[counter]->Name()); TBufC<256> tempval(iMetaArray[counter]->Value()); if((iMetaArray[counter]->Name()).CompareF(KTitle)==0) { myEdwin1->SetTextL(&(iMetaArray[counter]->Value())); iTitlePos = counter; } if((iMetaArray[counter]->Name()).CompareF(KAuthor)==0) { myEdwin2->SetTextL(&(iMetaArray[counter]->Value())); iAuthorPos = counter; } if((iMetaArray[counter]->Name()).CompareF(KCopyrt)==0) { myEdwin3->SetTextL(&(iMetaArray[counter]->Value())); iCopyrightPos = counter; } if((iMetaArray[counter]->Name()).CompareF(KRevision)==0) { myEdwin4->SetTextL(&(iMetaArray[counter]->Value())); iRevisionPos = counter; } if((iMetaArray[counter]->Name()).CompareF(KCategory)==0) { myEdwin5->SetTextL(&(iMetaArray[counter]->Value())); iCategoryPos = counter; } if((iMetaArray[counter]->Name()).CompareF(KComments)==0) { myEdwin6->SetTextL(&(iMetaArray[counter]->Value())); iCommentsPos = counter; } } } if(err == KErrNotSupported || metaArrayCount == 0) { User::InfoPrint(KNotSupported); } }