linklayerprotocols/pppnif/SPPP/pppconfig.cpp
changeset 0 af10295192d8
equal deleted inserted replaced
-1:000000000000 0:af10295192d8
       
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // PPP CFProtocol Provisioning Message class implementations
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file
       
    20  @internalComponent
       
    21 */
       
    22 
       
    23 #include "pppmcpr.h"
       
    24 #include <comms-infras/ss_tiermanagerutils.h>
       
    25 #include <comms-infras/ss_log.h>
       
    26 #include <networking/pppconfig.h>
       
    27 
       
    28 using namespace ESock;
       
    29 
       
    30     
       
    31 //-=========================================================
       
    32 // CPppLcpConfig methods
       
    33 //-=========================================================
       
    34 EXPORT_C CPppLcpConfig* CPppLcpConfig::NewLC(ESock::CCommsDatIapView* aIapView)
       
    35 	{
       
    36 	CPppLcpConfig* self = new (ELeave) CPppLcpConfig;
       
    37 	CleanupStack::PushL(self);
       
    38 	self->InitialiseConfigL(aIapView);
       
    39 	return self;
       
    40 	}
       
    41 
       
    42 void CPppLcpConfig::InitialiseConfigL(ESock::CCommsDatIapView* aIapView)
       
    43     {
       
    44 	HBufC* buf = NULL;
       
    45 	TUint32 uintDBVar = 0;
       
    46 	TBool boolDBVar;
       
    47 	TInt err = KErrNone;
       
    48 	    
       
    49 #if defined (_DEBUG)
       
    50 	err = aIapView->GetText(KCDTIdDialOutISPRecord | KCDTIdRecordName, buf);
       
    51     SetISPName(buf);
       
    52 #endif       
       
    53     //setters
       
    54     
       
    55     boolDBVar = EFalse;
       
    56     err = aIapView->GetBool(KCDTIdIfServerMode, boolDBVar);
       
    57     if (KErrNone != err)
       
    58 		{
       
    59 		__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPPPMetaConnectionProvider:\tSetAccessPointConfigFromDbL() - failed to read IfServerMode from database. Defaulting to EPppLinkIsClient")); )
       
    60 		}		
       
    61 	
       
    62 	if (!boolDBVar)
       
    63 		{
       
    64 		SetIfServerMode(CPppLcpConfig::EPppLinkIsClient);
       
    65 		}	
       
    66 	else
       
    67 		{
       
    68 		SetIfServerMode(CPppLcpConfig::EPppLinkIsServer);
       
    69 		}
       
    70 	
       
    71     err = aIapView->GetText(KCDTIdIfParams, buf);
       
    72     if (KErrNone == err)
       
    73     	{
       
    74 		ASSERT(buf);
       
    75     	SetIfParams(buf);	// transfers ownership of buf
       
    76 		buf = NULL;
       
    77     	}
       
    78 	else 
       
    79 		{
       
    80 		ASSERT(buf == NULL);
       
    81 		}
       
    82     
       
    83     //
       
    84     // Netdial Callback information
       
    85     //
       
    86     boolDBVar = EFalse;
       
    87     err = aIapView->GetBool(KCDTIdIfCallbackEnabled, boolDBVar);
       
    88     if (err != KErrNone)
       
    89     	{
       
    90     	__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPPPMetaConnectionProvider:\tSetAccessPointConfigFromDbL() - failed to read IfCallbackEnabled from database. Callback config will be skipped")); )    	
       
    91     	}    	
       
    92     SetIfCallbackEnabled(boolDBVar);
       
    93     	
       
    94     if (boolDBVar)
       
    95     	{    	    	
       
    96     	uintDBVar = 0;
       
    97     	err = aIapView->GetInt(KCDTIdIfCallbackType, uintDBVar);
       
    98     	if (KErrNone != err)
       
    99     		{
       
   100     		__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPPPMetaConnectionProvider:\tSetAccessPointConfigFromDbL() - failed to read IfCallbackType from database.")); )
       
   101     		User::Leave(err);
       
   102     		}
       
   103     	SetIfCallbackType(uintDBVar);
       
   104     	
       
   105     	err = aIapView->GetText(KCDTIdIfCallbackInfo, buf);
       
   106     	if (KErrNone != err)
       
   107     		{
       
   108 			ASSERT(buf == NULL);
       
   109     		__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPPPMetaConnectionProvider:\tSetAccessPointConfigFromDbL() - failed to read IfCallbackType from database.")); )
       
   110     		User::Leave(err);
       
   111     		}
       
   112 		else
       
   113 			{
       
   114 			ASSERT(buf);
       
   115 	    	SetIfCallbackInfo(buf);	// transfers ownership of buf
       
   116 			buf = NULL;
       
   117     		}
       
   118     	}
       
   119     
       
   120         
       
   121     boolDBVar = EFalse;
       
   122     err = aIapView->GetBool(KCDTIdEnableLCPExtension, boolDBVar);
       
   123     if (err != KErrNone)
       
   124     	{
       
   125     	__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPPPMetaConnectionProvider:\tSetAccessPointConfigFromDbL() - failed to read EnableLcpExtensions from database. Defaulting to false.")); )    		
       
   126     	}
       
   127     SetEnableLcpExtensions(boolDBVar);
       
   128         
       
   129     boolDBVar = EFalse;
       
   130     err = aIapView->GetBool(KCDTIdEnableSwComp, boolDBVar);
       
   131     if (KErrNone != err)
       
   132     	{
       
   133     	__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPPPMetaConnectionProvider:\tSetAccessPointConfigFromDbL() - failed to read EnableSwComp from database. Defaulting to false.")); ) 	    		    		
       
   134     	}
       
   135     SetEnableSwComp(boolDBVar);
       
   136 
       
   137 	// IsDialIn value is provisioned by the Agent Provider.
       
   138     }
       
   139     
       
   140 //-=========================================================
       
   141 // CPppAuthConfig methods
       
   142 //-=========================================================
       
   143 EXPORT_C CPppAuthConfig* CPppAuthConfig::NewLC(ESock::CCommsDatIapView* aIapView)
       
   144 	{
       
   145 	CPppAuthConfig* self = new (ELeave) CPppAuthConfig;
       
   146 	CleanupStack::PushL(self);
       
   147 	self->InitialiseConfigL(aIapView);
       
   148 	return self;
       
   149 	}
       
   150 
       
   151 void CPppAuthConfig::InitialiseConfigL(ESock::CCommsDatIapView* aIapView)
       
   152     {
       
   153     TBool boolDBVar = EFalse;
       
   154     TInt err = aIapView->GetBool(KCDTIdEnableSwComp, boolDBVar);
       
   155     SetServiceEnableSwComp(boolDBVar);
       
   156         
       
   157     }
       
   158     
       
   159 
       
   160 //-=========================================================
       
   161 // CPppProvisionInfo methods
       
   162 //-=========================================================
       
   163 EXPORT_C CPppProvisionInfo::~CPppProvisionInfo()
       
   164    {
       
   165 	iExcessData.Close();
       
   166    }
       
   167 
       
   168 //-=========================================================
       
   169 // CPppTsyConfig methods
       
   170 //-=========================================================
       
   171 EXPORT_C CPppTsyConfig* CPppTsyConfig::NewLC(ESock::CCommsDatIapView* aIapView)
       
   172 	{
       
   173 	CPppTsyConfig* self = new (ELeave) CPppTsyConfig;
       
   174 	CleanupStack::PushL(self);
       
   175 	self->InitialiseConfigL(aIapView);
       
   176 	return self;
       
   177 	}
       
   178 
       
   179 void CPppTsyConfig::InitialiseConfigL(ESock::CCommsDatIapView* aIapView)
       
   180 	{
       
   181 	HBufC* buf = NULL;
       
   182 	if (KErrNone == aIapView->GetText(KCDTIdTsyName, buf))
       
   183 		{
       
   184 		iTsyName.Copy(*buf);		
       
   185 		__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPppTSYConfig [this=%08x]::InitialiseConfigL() KCDTIdTsyName=%s"), this, &iTsyName));
       
   186 		}
       
   187 	else
       
   188 		{
       
   189 		__CFLOG_VAR((KPppMcprTag, KPppMcprSubTag, _L8("CPppTSYConfig [this=%08x]::InitialiseConfigL() Couldn't read TSY name, skipping..."), this, &iTsyName));
       
   190 		}
       
   191 	delete buf; 	
       
   192 	}
       
   193 
       
   194 //
       
   195 // Attribute table for CPppConfig
       
   196 //
       
   197 
       
   198 EXPORT_START_ATTRIBUTE_TABLE_AND_FN( CPppLcpConfig, CPppLcpConfig::EUid, CPppLcpConfig::ETypeId )
       
   199 // No attributes registered as no serialisation takes place.
       
   200 END_ATTRIBUTE_TABLE()
       
   201 
       
   202 EXPORT_START_ATTRIBUTE_TABLE_AND_FN( CPppAuthConfig, CPppAuthConfig::EUid, CPppAuthConfig::ETypeId )
       
   203 // No attributes registered as no serialisation takes place.
       
   204 END_ATTRIBUTE_TABLE()
       
   205 
       
   206 EXPORT_START_ATTRIBUTE_TABLE_AND_FN( CPppProvisionInfo, CPppProvisionInfo::EUid, CPppProvisionInfo::ETypeId)
       
   207 // No attribute definitions because we're not serialising/de-serialising
       
   208 END_ATTRIBUTE_TABLE()
       
   209 
       
   210 EXPORT_START_ATTRIBUTE_TABLE_AND_FN( CPppTsyConfig, CPppTsyConfig::EUid, CPppTsyConfig::ETypeId)
       
   211 // No attribute definitions because we're not serialising/de-serialising
       
   212 END_ATTRIBUTE_TABLE()