--- 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 <uri8.h>
#include <charconv.h>
+//#include <f32file.h>
#include <utf.h>
#include <collate.h>
@@ -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<KMaxUriLength> 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