telephonyprotocols/csdagt/src/ND_DLUP.CPP
changeset 0 3553901f7fa8
child 24 6638e7f4bd8f
child 42 3adadc800673
equal deleted inserted replaced
-1:000000000000 0:3553901f7fa8
       
     1 // Copyright (c) 2003-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 // Dial Up State Machine
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file Nd_dlup.cpp 
       
    20 */
       
    21 
       
    22 #include "ND_DLUP.H"
       
    23 #include "ND_ETEL.H"
       
    24 #include "ND_SCR.H"
       
    25 #include <comms-infras/dialogprocessor.h>
       
    26 #include <comms-infras/eventlogger.h>
       
    27 #include "ND_DBACC.H"
       
    28 #include "ND_STD.H"
       
    29 #include "SLOGGER.H"
       
    30 #include "Nd_dlupStates.h"
       
    31 #include <comms-infras/nifprvar.h>
       
    32 
       
    33 CDlUpAgXSM* CDlUpAgXSM::NewL(MAgentNotify& aObserver, CDialogProcessor* aDlgPrc, CCommsDbAccess& aDbAccess)
       
    34 /**
       
    35 Dial Up state machine
       
    36 
       
    37 2 phased constructor, first phase.
       
    38 
       
    39 @param aObserver a reference to state machine observer.
       
    40 @param aDlgPrc a pointer to dialog processor.
       
    41 @param aDbAccess a referecen to CommDB accessor
       
    42 @exception Leaves if ConstructL() leaves, or not enough memory is available.
       
    43 @return a new CDlUpAgXSM object.
       
    44 */
       
    45 	{
       
    46 	CDlUpAgXSM* r=new(ELeave) CDlUpAgXSM(aObserver,aDlgPrc,aDbAccess);
       
    47 	CleanupStack::PushL(r);
       
    48 	r->ConstructL();
       
    49 	CleanupStack::Pop();
       
    50 	return r;
       
    51 	}
       
    52 
       
    53 CDlUpAgXSM::CDlUpAgXSM(MAgentNotify& aObserver, CDialogProcessor* aDlgPrc, CCommsDbAccess& aDbAccess)
       
    54 	: CNetdialSM(aObserver,aDlgPrc,aDbAccess)
       
    55 /**
       
    56 Private constructor used in the first phase of construction.
       
    57 
       
    58 @param aObserver a reference to state machine observer.
       
    59 @param aDlgPrc a pointer to the dialog processor.
       
    60 @param aDbAccess a reference to the database accessor.
       
    61 */
       
    62 	{}
       
    63 
       
    64 CDlUpAgXSM::~CDlUpAgXSM()
       
    65 /**
       
    66 Destructor. Cancels active requests.
       
    67 */
       
    68 	{
       
    69 	Cancel();
       
    70 	}
       
    71 
       
    72 void CDlUpAgXSM::ConstructL()
       
    73 /**
       
    74 Private constructor used in the first phase of construction.
       
    75 Calls base call constructor CNetdialSM::ConstructL() and calls CDlUpInit::NewL().
       
    76 
       
    77 @exception Leaves if CNetdialSM::ConstructL() or dial up init state creation leaves.
       
    78 */
       
    79 	{
       
    80 	CNetdialSM::ConstructL();
       
    81 	//Start off the state machine by instantiating an Initial state
       
    82 	//which contains little functionality
       
    83 	iState=CDlUpInit::NewL(*this,*this);
       
    84 	}
       
    85 
       
    86 void CDlUpAgXSM::SetUpScriptL()
       
    87 /**
       
    88 Setups scripts for dialup connection
       
    89 Loans dataport from ETel server.
       
    90 Gets script details from CommDB accessor by calling GetScriptDetailsL().
       
    91 If script is not used, sets iUseScript to EFalse.
       
    92 Creates CNetDialScript.
       
    93 
       
    94 @exception Leaves if GetCommPortL(), GetScriptDetailsL() or NewL() leaves.
       
    95 */
       
    96 	{
       
    97 	RCall::TCommPort commPort;
       
    98 	iTelServer->GetCommPortL(commPort);
       
    99 	TCommRole role;
       
   100 	iDbAccess->GetCommPortRoleL(role);
       
   101 	TInt len;
       
   102 	iDbAccess->GetScriptDetailsL(iUseScript,len);
       
   103 	if (!iUseScript || len==0)	
       
   104 		{		// set them consistently
       
   105 		iUseScript=EFalse;
       
   106 		}
       
   107 		iNdScript=CNetDialScript::NewL(iDbAccess,iDlgPrc,commPort,role,len);	// create it whatever because we need other stuff
       
   108 	}
       
   109 
       
   110 TInt CDlUpAgXSM::Notification(TNifToAgentEventType aEvent, TAny* /*aInfo*/)
       
   111 /**
       
   112 Act on / reply to NifMan's notification requests
       
   113 */
       
   114 	{
       
   115 	switch (aEvent)
       
   116 		{
       
   117 	case ENifToAgentEventTypePPPCallbackGranted:
       
   118 		{
       
   119 		__FLOG_STMT(_LIT8(logString,"NetDial:\tCallback Request Granted");)
       
   120 		__FLOG_STATIC(KNetDialLogFolder(),KNetDialLogFile(),logString());
       
   121 		return KErrNone;
       
   122 		}
       
   123 	case ENifToAgentEventTypeQueryIsDialIn:
       
   124 		{
       
   125 		if(iCallBack)
       
   126 			{
       
   127 			return ENDDialTypeCallBackDialIn;
       
   128 			}
       
   129 		else
       
   130 			{
       
   131 			return ENDDialTypeDialOut;
       
   132 			}
       
   133 		}
       
   134 	case ENifToAgentEventTypeLinkLayerDown:
       
   135 		{
       
   136 		// stop the logging, the connection has been dropped
       
   137 		Logger()->LogDataUpdateEvent(R_LOG_CON_DISCONNECTED, KLogDataEventTypeUid);
       
   138 		// does nothing if logging not started
       
   139 		return KErrNone;
       
   140 		}
       
   141 	default:
       
   142 		return KErrNone;
       
   143 		}
       
   144 	}
       
   145 
       
   146 TInt CDlUpAgXSM::IncomingConnectionReceived()
       
   147 /**
       
   148 Incoming connection is not supported in dial up.
       
   149 */
       
   150 	{	
       
   151 	return KErrNotSupported;
       
   152 	}