diff -r 73a1feb507fb -r bc78a40cd63c mmsharing/mmshengine/src/musenguriparser.cpp --- a/mmsharing/mmshengine/src/musenguriparser.cpp Tue Aug 31 15:12:07 2010 +0300 +++ b/mmsharing/mmshengine/src/musenguriparser.cpp Wed Sep 01 12:31:01 2010 +0100 @@ -22,6 +22,7 @@ #include #include +//#include #include #include @@ -33,7 +34,7 @@ // UTF7 is not working, since it converts + as +- // ----------------------------------------------------------------------------- // -TMusEngUriParser::TMusEngUriParser( const TDesC16& aUri ) +EXPORT_C TMusEngUriParser::TMusEngUriParser( const TDesC16& aUri ) :iUriType( ENotParsed ) { TBuf8 buf; @@ -48,20 +49,22 @@ } } -// ----------------------------------------------------------------------------- -// -// ----------------------------------------------------------------------------- -// -TMusEngUriParser::TMusEngUriType TMusEngUriParser::UriType() - { - return iUriType; - } // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- // -HBufC8* TMusEngUriParser::GetUri8L() +EXPORT_C TMusEngUriParser::TMusEngUriType TMusEngUriParser::UriType() + { + return iUriType; + } + + +// ----------------------------------------------------------------------------- +// +// ----------------------------------------------------------------------------- +// +EXPORT_C HBufC8* TMusEngUriParser::GetUri8L() { MUS_LOG( "mus: [ENGINE] -> TMusEngUriParser::GetUri8L()" ) @@ -73,13 +76,15 @@ MUS_LOG( "mus: [ENGINE] <- TMusEngUriParser::GetUri8L()" ) return uri8; + } + // ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- // -HBufC16* TMusEngUriParser::GetUri16L( TBool aPrefix ) +EXPORT_C HBufC16* TMusEngUriParser::GetUri16L( TBool aPrefix ) { MUS_LOG( "mus: [ENGINE] -> TMusEngUriParser::GetUri16L()" ) @@ -101,13 +106,16 @@ MUS_LOG( "mus: [ENGINE] <- TMusEngUriParser::GetUri16L()" ) return uri16; + } -// ----------------------------------------------------------------------------- + +// ----------------------------------------------------------------------------- +// // // ----------------------------------------------------------------------------- // -void TMusEngUriParser::ParseUriL() +EXPORT_C void TMusEngUriParser::ParseUriL() { MUS_LOG( "mus: [ENGINE] -> TMusEngUriParser::ParseUriL()" ) @@ -127,7 +135,7 @@ {// basic behaviour MUS_LOG( "mus: [ENGINE] -> TMusEngUriParser::ParseUriL() \ normal behaviour" ) - User::Leave( KErrArgument ); + User::Leave( KErrCorrupt ); } else { // variant behaviour(local tel uri) @@ -136,7 +144,9 @@ } } + // ----------------------------------------------------------------------------- +// // // ----------------------------------------------------------------------------- // @@ -179,13 +189,18 @@ iUriType = TMusEngUriParser::ESip; } + -// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// // // ----------------------------------------------------------------------------- // void TMusEngUriParser::HandleTelUriL() { + // Remove leading and trailing whitespaces iUri.TrimAll(); if ( iUri.FindF( KMusEngTelPrefix() ) != 0 ) { @@ -208,6 +223,8 @@ TInt index = KMusEngTelPrefix().Length() + KMusEngPlusSign().Length(); + // Remove whitespaces and extra chracters like parentheses. Check that the + // rest characters are digits while ( index < iUri.Length() ) { TChar character = iUri[ index ]; @@ -228,7 +245,9 @@ iUriType = TMusEngUriParser::ETel; } + // ----------------------------------------------------------------------------- +// // // ----------------------------------------------------------------------------- // @@ -239,7 +258,8 @@ if ( iUri.FindF( KMusEngTelPrefix() ) != 0 ) { // local tel uri without prefix - if ( iUri.Length() + KMusEngTelPrefix().Length() <= KMaxUriLength ) + if ( iUri.Length() + KMusEngTelPrefix().Length() <= + KMaxUriLength ) { iUri.Insert( 0, KMusEngTelPrefix() ); } @@ -251,7 +271,10 @@ else { //Tel uri with prefix - iUri.Replace( 0, KMusEngTelPrefix().Length(), KMusEngTelPrefix() ); + iUri.Replace( + 0, + KMusEngTelPrefix().Length(), + KMusEngTelPrefix() ); } TInt index = KMusEngTelPrefix().Length(); @@ -269,5 +292,6 @@ iUriType = TMusEngUriParser::ETel; } - + + // End of file