multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/stubs/src/sipprofile.cpp
changeset 0 1bce908db942
child 12 91f50911ea81
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/mmcesrv/mmceserver/tsrc/ut_server/stubs/src/sipprofile.cpp	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,363 @@
+/*
+* Copyright (c) 2002 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
+*
+*/
+
+
+
+
+//  INCLUDE FILES
+#include "sipprofile.h"
+#include "sipmanagedprofile.h"
+#include "sipprofileregistry.h"
+#include "mcetesthelper.h"
+#include "cmcetls.h"
+
+_LIT8( KSIPProfileExtenstionParameter, "%u");
+const TUint KProfileBufferSize = 25;
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSIPProfile* CSIPProfile::NewL(CSIPProfileRegistry* aSIPRegistry)
+	{
+    CSIPProfile* self = CSIPProfile::NewLC (aSIPRegistry);
+    CleanupStack::Pop();
+    return self;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::NewLC
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSIPProfile* CSIPProfile::NewLC(CSIPProfileRegistry* aSIPRegistry)
+	{
+	CSIPProfile* self = new(ELeave)CSIPProfile(aSIPRegistry);
+    CleanupStack::PushL (self);
+    self->ConstructL ();
+    return self;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+CSIPProfile* CSIPProfile::NewL()
+	{
+    CSIPProfile* self = new(ELeave)CSIPProfile();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop();
+    return self;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::~CSIPProfile
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CSIPProfile::~CSIPProfile()
+	{
+	delete iAORs;
+	delete iAor;
+    delete iContactParams;
+    delete iDigestRealm;
+    delete iPrivateIdentity;
+    delete iDigestUsername;
+    delete iDigestPassword;
+    delete iRequestUriUser;
+    delete iContactHeader;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::GetParameter
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C TInt CSIPProfile::GetParameter(TUint32 aParam, TDesC8 const *& aVal ) const
+	{
+	CMCETls* tls = CMCETls::Storage();
+	TInt ret = KErrNone;
+	if ( tls )
+	    {
+	    ret = tls->LeaveError( aParam );
+	    if ( !ret )
+	        {
+	        switch ( aParam )
+	            {
+	            case KSIPUserAor:
+	                {	                
+	                aVal = iAor;
+	                break;
+	                }
+	            case KSIPDigestRealm:
+	                {
+	                aVal = iDigestRealm;
+	                break;
+	                }
+	            case KSIPDigestUserName:
+	                {
+	                aVal = iDigestUsername;
+	                break;
+	                }
+	            case KSIPDigestPassword:
+	                {
+	                aVal = iDigestPassword;
+	                break;
+	                }
+	            case KSIPPrivateIdentity:
+	                {
+	                aVal = iPrivateIdentity;
+	                break;
+	                }
+    	         case KSIPContactHeaderUser:
+                    {
+                    aVal = iRequestUriUser;
+                    break;            
+                    }
+	            case KSIPRegisteredContact:
+	                {
+	                aVal = iContactHeader;
+	                break;
+	                }
+
+               default:
+	                {
+	                ret = KErrNotFound;
+	                break;
+	                }
+	            }
+	        }
+	    }
+	    
+	if ( !ret && !aVal )
+	    {
+	    ret = KErrNotFound;
+	    }
+	return ret;
+	}	
+
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::GetParameter
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C TInt CSIPProfile::GetParameter(TUint32 /*aServerType*/, TUint32 aParam, TDesC8 const *& aVal) const
+    {
+    return GetParameter( aParam, aVal );
+    }
+
+
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::GetParameter
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C TInt CSIPProfile::GetParameter(TUint32 aParam, TUint32& aVal) const
+	{
+	CMCETls* tls = CMCETls::Storage();
+	TInt ret = KErrNone;
+	if ( tls )
+	    {
+	    ret = tls->LeaveError( aParam );
+	    if ( !ret )
+	        {
+	        switch ( aParam )
+	            {
+	            default:
+	                {
+	                aVal = 1;
+	                break;
+	                }
+	            }
+	        }
+	    }
+	if( aParam == KSIPProfileId )
+		{
+		aVal = 1;
+		}
+	return ret;
+	}	
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::GetParameter
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C TInt CSIPProfile::GetParameter(TUint32 aParam, TBool& aVal) const
+	{
+	CMCETls* tls = CMCETls::Storage();
+	TInt ret = KErrNone;
+	if ( tls )
+	    {
+	    ret = tls->LeaveError( aParam );
+	    if ( !ret )
+	        {
+	        switch ( aParam )
+	            {
+	            default:
+	                {
+	                aVal = ETrue;
+	                break;
+	                }
+	            }
+	        }
+	    }
+	return ret;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::GetParameter
+// -----------------------------------------------------------------------------
+//	
+EXPORT_C TInt CSIPProfile::GetParameter(TUint32 aParam, 
+                                        MDesC8Array const *& aVal ) const
+	{
+	CMCETls* tls = CMCETls::Storage();
+	TInt ret = KErrNone;
+	if ( tls )
+	    {
+	    ret = tls->LeaveError( aParam );
+	    if ( !ret )
+	        {
+	        switch ( aParam )
+                {
+                case KSIPRegisteredAors:
+                    {
+                    aVal = iAORs;
+                    break;
+                    }
+                case KSIPContactHeaderParams:
+                    {
+                    aVal = iContactParams;
+                    break;
+                    }
+                default:
+                    {
+                    ret = KErrNotFound;
+                    break;
+                    }
+                }
+	        }
+	    }
+	
+	if ( !ret && !aVal )
+	    {
+	    ret = KErrNotFound;
+	    }
+	
+	return ret;
+	}
+	
+// -----------------------------------------------------------------------------
+// CSIPProfile::CSIPProfile
+// -----------------------------------------------------------------------------
+//	
+CSIPProfile::CSIPProfile(CSIPProfileRegistryBase* aRegistry):
+	iSIPProfileRegistry(aRegistry), iEnabled(EFalse)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::CSIPProfile
+// -----------------------------------------------------------------------------
+//	
+CSIPProfile::CSIPProfile():
+	iEnabled(EFalse)
+	{
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::ConstructL
+// -----------------------------------------------------------------------------
+//	
+void CSIPProfile::ConstructL()
+	{
+    iAORs = new( ELeave ) CDesC8ArrayFlat( 1 );
+    iAORs->AppendL( KSIPProfileDefAOR );
+    iAor = KSIPProfileDefAOR().AllocL();
+    iContactParams = new( ELeave ) CDesC8ArrayFlat( 1 );
+    iContactParams->AppendL( KFeatureTag );
+    iContactParams->AppendL( KParamValue );
+    iContactHeader = KContactHeaderValue().AllocL();
+    iRequestUriUser = KRequestUriUser().AllocL();
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::IsContextActive
+// -----------------------------------------------------------------------------
+//	
+TBool CSIPProfile::IsContextActive() const
+	{
+	return ETrue;
+	}
+	
+// -----------------------------------------------------------------------------
+// CSIPProfile::ContextId
+// -----------------------------------------------------------------------------
+//	
+TUint32 CSIPProfile::ContextId() const
+	{
+	return 1;
+	}
+
+// -----------------------------------------------------------------------------
+// CSIPProfile::SetParam
+// -----------------------------------------------------------------------------
+//	
+void CSIPProfile::SetParam( TUint aParam, HBufC8* aValue )
+    {
+    switch ( aParam )
+        {
+        case KSIPDigestRealm:
+            {
+            delete iDigestRealm;
+            iDigestRealm = aValue;
+            break;
+            }
+        case KSIPDigestPassword:
+            {
+            delete iDigestPassword;
+            iDigestPassword = aValue;
+            break;
+            }
+        case KSIPDigestUserName:
+            {
+            delete iDigestUsername;
+            iDigestUsername = aValue;
+            break;
+            }
+        case KSIPPrivateIdentity:
+            {
+            delete iPrivateIdentity;
+            iPrivateIdentity = aValue;
+            break;            
+            }
+        case KSIPRegisteredContact:
+        	{
+        	delete iContactHeader;
+        	iContactHeader = aValue;
+        	break;
+        	}
+        default:
+            {
+            break;
+            }
+        }
+    }
\ No newline at end of file