callcontinuity/vccutils/src/vccmiscutils.cpp
branchRCL_3
changeset 21 f742655b05bf
parent 20 65a3ef1d5bd0
child 22 d38647835c2e
--- a/callcontinuity/vccutils/src/vccmiscutils.cpp	Thu Aug 19 09:45:22 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* Copyright (c) 2007 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:   Implementation of Miscallaneous service functions
-*
-*/
-
-
-
-#include <e32std.h>
-#include <uri8.h>
-#include <uriutils.h>
-#include <authority8.h>
-#include <delimitedpath8.h>
-//#include <e32const.h>
-
-#include "vccmiscutils.h"
-#include "rubydebug.h"
-
-_LIT( KVCCSIPScheme, "sip" );
-_LIT( KVCCSIPSScheme, "sips" );
-_LIT( KVCCHTTPScheme, "http" );
-_LIT( KVCCHTTPSScheme, "https" );
-
-const TUint KAt = '@';
-
-const TInt KVCCMinVDNLength = 5; 
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// Checks if 16 bit reference is valid URI (VDI).
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TVCCMiscUtils::URIValidL( const TDesC16& aURI )
-    {
-    RUBY_DEBUG_BLOCK( "TVCCMiscUtils::URIValidL()" );
-    
-    TUriParser parser;
-    // Check if uri contains multiple @ characters
-    TUint atcount( 0 );
-    for( TUint i(0); i<aURI.Length(); i++ )
-        {
-        if(  KAt == aURI[i] )
-             {
-             ++atcount;
-             }
-        }
-    
-    if( atcount>1 )
-       {
-       return KErrUnknown;
-       }
-      
-    
-    // Parse the URI
-    TInt err = parser.Parse( aURI );
-    
-    if ( !err )
-        {
-        // Check for invalid characters
-        // 0x00-0x1F and > 0x7F), space (0x20), delimiter characters ('<', '>', 
-        // '#', '%', '"') and unwise characters ('{', '}', '|', '\', '^', '[', 
-        // ']', '`') are illegal
-        if ( !UriUtils::HasInvalidChars( aURI ) )
-            {
-            // Check if scheme is valid
-            if ( parser.IsSchemeValid() )
-                {
-                // Extract the scheme for comparing
-                const TDesC& scheme = parser.Extract( EUriScheme );
-                
-                // SIP or SIPS scheme
-                if ( scheme.Compare( KVCCSIPScheme ) == 0 || 
-                     scheme.Compare( KVCCSIPSScheme ) == 0 )
-                    {
-                    err = parser.Validate();
-                    }
-                // HTTP or HTTPS scheme
-                else if ( scheme.Compare( KVCCHTTPScheme ) == 0 || 
-                          scheme.Compare( KVCCHTTPSScheme ) == 0 )
-                    {
-                    // Do nothing at the moment.
-                    }
-                else
-                    {
-                    err = KErrUnknown;
-                    }
-                }
-            // No scheme, maybe a host type
-            else
-                {
-                UriUtils::TUriHostType type = UriUtils::HostType( aURI );
-                
-                switch ( type )
-                    {
-                    case UriUtils::EIPv6Host:
-                    case UriUtils::EIPv4Host:
-                    case UriUtils::ETextHost:
-                        break;
-                    default:
-                        {
-                        err = KErrUnknown;
-                        break;
-                        }
-                    } // switch
-                } // else
-            } // if invalid characters
-        else
-            {
-            err = KErrNotSupported;
-            }
-        }
-    
-    return err;
-    }
-
-// ---------------------------------------------------------------------------
-// Checks if reference is valid VDN.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool TVCCMiscUtils::VDNValidL(  const TDesC16& aVDN )
-    {
-    RUBY_DEBUG_BLOCK( "TVCCMiscUtils::VDNValidL()" );
-    
-    TBool retVal( ETrue );
-    TLex input( aVDN );
-    TInt numCount( 0 );
-    
-    // Is the string empty
-    if ( aVDN.Length() > 0 )
-        {
-        input.Mark();
-        
-        // Deal with the '+' -sign at the beginning of the string
-        if (input.Peek() == '+')
-            {
-            // Step forward
-            input.Inc();
-            }
-      
-        for ( ;; numCount++ )
-            {
-            if ( !( input.Peek().IsDigit() ) && !( input.Peek().Eos() ) )
-                {
-                // Next character is not a digit or end-of-string character
-                retVal = EFalse;
-                break;
-                }
-            else if ( input.Peek().Eos() && numCount < KVCCMinVDNLength )
-                {
-                // End of string but number count is too small to be a valid VDN
-                retVal = EFalse;
-                break;
-                }
-            else if ( input.Peek().Eos() && numCount >= KVCCMinVDNLength )
-                {
-                // At the end of string and number count is acceptable to be a
-                // valid VDN
-                break;
-                }
-            else
-                {
-                // step forward
-                input.Inc();                
-                }
-            } // for
-        }
-    else
-        {
-        // Empty string
-        retVal = EFalse;
-        }
-    
-    return retVal;
-    }
-