--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/csdagt/src/ND_DIRCT.CPP Tue Feb 02 01:41:59 2010 +0200
@@ -0,0 +1,115 @@
+// Copyright (c) 2003-2009 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:
+// Direct Connection State Machine
+//
+//
+
+/**
+ @file Nd_dirct.cpp
+*/
+
+#include "ND_DIRCT.H"
+#include "ND_SCR.H"
+#include "ND_DBACC.H"
+#include "ND_STD.H"
+#include "SLOGGER.H"
+#include "ND_DIRECTSTATES.H"
+
+CDirCtAgXSM* CDirCtAgXSM::NewL(MAgentNotify& aControllerObserver, CDialogProcessor* aDlgPrc, CCommsDbAccess& aDbAccess)
+/**
+2 phased constructor, first phase.
+
+@param aControllerObserver a reference to state machine observer.
+@param aDlgPrc a pointer to dialog processor.
+@param aDbAccess a referecen to CommDB accessor
+@exception Leaves if ConstructL() leaves, or not enough memory is available.
+@return a new CDirCtAgXSM object.
+*/
+ {
+ CDirCtAgXSM* r=new(ELeave) CDirCtAgXSM(aControllerObserver,aDlgPrc,aDbAccess);
+ CleanupStack::PushL(r);
+ r->ConstructL();
+ CleanupStack::Pop();
+ return r;
+ }
+
+CDirCtAgXSM::~CDirCtAgXSM()
+/**
+Destructor. Cancels active requests.
+*/
+ {
+ Cancel();
+ }
+
+CDirCtAgXSM::CDirCtAgXSM(MAgentNotify& aControllerObserver, CDialogProcessor* aDlgPrc, CCommsDbAccess& aDbAccess)
+ : CNetdialSM(aControllerObserver, aDlgPrc,aDbAccess)
+/**
+Private constructor used in the first phase of construction.
+
+@param aControllerObserver a reference to state machine observer.
+@param aDlgPrc a pointer to the dialog processor.
+@param aDbAccess a reference to the database accessor.
+*/
+ {}
+
+void CDirCtAgXSM::ConstructL()
+/**
+Private constructor used in the first phase of construction.
+
+@exception Leaves if CommDB accessor or direct connection state machine creation leaves.
+*/
+ {
+ //Instantiate Member variables
+ iDbAccess=CCommsDbNetDialAccess::NewL(iDb);
+
+ //Start off the state machine with an Initial state which contains no functionality
+ iState=CDirCtInit::NewL(*this,*this);
+ }
+
+void CDirCtAgXSM::SetUpScriptL()
+/**
+Sets up script for direct connection
+
+@exception Leaves if GetCommPortForDirectConnectL(), GetScriptDetailsL() or script creation leaves.
+*/
+ {
+ RCall::TCommPort commPort;
+ iDbAccess->GetCommPortForDirectConnectL(commPort);
+ TCommRole role;
+ iDbAccess->GetCommPortRoleL(role);
+ TInt len;
+ iDbAccess->GetScriptDetailsL(iUseScript,len);
+ if (!iUseScript || len==0)
+ { // set them consistently
+ iUseScript=EFalse;
+ }
+ iNdScript=CNetDialScript::NewL(iDbAccess,iDlgPrc,commPort,role,len); // create it whatever because we need other stuff
+ }
+
+TInt CDirCtAgXSM::Notification(TNifToAgentEventType /*aEvent*/, TAny* /*aInfo*/)
+/**
+Not supported by direct connection state machine.
+*/
+ {
+ return KErrNotSupported;
+ }
+
+TInt CDirCtAgXSM::IncomingConnectionReceived()
+/**
+Not supported by direct connection state machine.
+*/
+ {
+ return KErrNotSupported;
+ }
+