mmappcomponents/harvester/filehandler/inc/mpxfhcommon.inl
changeset 0 a2952bb97e68
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmappcomponents/harvester/filehandler/inc/mpxfhcommon.inl	Thu Dec 17 08:55:47 2009 +0200
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  inline functions
+*
+*/
+
+
+// ---------------------------------------------------------------------------
+// Parses a string for tokens separated by |
+// ---------------------------------------------------------------------------
+//
+inline void ExtractTokensL( const TDesC& aString, RArray<TPath>& aArray )
+    {
+     // Parse the string and add it into array
+    //
+    TBool done(EFalse);
+    TLex lex( aString );
+    lex.Mark();
+    while( !done )
+        {
+        // Found a token
+        if( lex.Peek() =='|' || lex.Eos() )
+            {
+            TPtrC token = lex.MarkedToken();
+
+            // Ignore null length tokens
+            if( token.Length() )
+                {
+                aArray.AppendL( token );
+                }
+
+            // Next token
+            if( lex.Eos() )
+                {
+                done = ETrue;
+                }
+            else
+                {
+                lex.Inc();
+                lex.Mark();
+                }
+            }
+        else
+            {
+            // Next character
+            lex.Inc();
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Parses a string for tokens separated by |
+// ---------------------------------------------------------------------------
+//
+inline void ExtractTokensL( const TDesC& aString, CDesCArray& aArray )
+    {
+     // Parse the string and add it into array
+    //
+    TBool done(EFalse);
+    TLex lex( aString );
+    lex.Mark();
+    while( !done )
+        {
+        // Found a token
+        if( lex.Peek() =='|' || lex.Eos() )
+            {
+            TPtrC token = lex.MarkedToken();
+
+            // Ignore null length tokens
+            if( token.Length() )
+                {
+                aArray.InsertIsqL( token );
+                }
+
+            // Next token
+            if( lex.Eos() )
+                {
+                done = ETrue;
+                }
+            else
+                {
+                lex.Inc();
+                lex.Mark();
+                }
+            }
+        else
+            {
+            // Next character
+            lex.Inc();
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Finds the drive number for a path
+// ---------------------------------------------------------------------------
+//
+inline TDriveNumber ExtractDrive( const TDesC& aPath )
+    {
+    TParsePtrC parse( aPath );
+    TDriveUnit drive( parse.Drive() );
+    TInt num = drive;
+    return TDriveNumber(num);
+    }
\ No newline at end of file