--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingintegrationtest/NTRas/RASDEF.H Tue Jan 26 15:23:49 2010 +0200
@@ -0,0 +1,284 @@
+// Copyright (c) 1997-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:
+//
+
+#if !defined(__RASDEF_H__)
+#define __RASDEF_H__
+
+#include <es_ini.h>
+#include <ntras.h>
+#include <nifutl.h>
+#include <comms-infras/nifagt.h>
+#include "chat.h"
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <nifman_internal.h>
+#endif
+/**
+@internalComponent
+*/
+enum TNtRasPanic
+ {
+
+ ENtRasPanic_ObjectNotDeleted,
+ ENtRasPanic_BadState,
+ };
+
+/**
+@internalComponent
+*/
+void Panic(TNtRasPanic aPanic);
+
+/**
+@internalComponent
+*/
+const TInt KNtRasAsyncCbPriority = 0;
+const TInt KKeyReaderPriority = 0;
+const TInt KChatterPriority = 0;
+const TInt KChatBufferSize = 64;
+const TInt KChatTimeout = 3000000;
+const TInt KChatMaxTries = 10;
+const TInt KCommRxBufSize = 64;
+const TInt KCommTimeout = 10000000;
+const TInt KCommReadPriority = 150;
+const TInt KCommWritePriority = 100;
+const TInt KCommTimerPrioiry = 5;
+const TInt KCommLineDropTime = 250000;
+
+class CNtRas;
+
+class CRasConnect : public CBase, public MComm, public MTimer, public MCommChatNotify
+/**
+@internalComponent
+*/
+ {
+ enum TRasConState
+ { ERasConClosed, ERasConDropLines, ERasConConnecting,
+ ERasConTokenSent, ERasConConnected, ERasConDisconnecting };
+public:
+ CRasConnect(CNtRas* aNtRas);
+ ~CRasConnect();
+ static CRasConnect* NewL(CNtRas* aRas);
+ void ConstructL();
+
+ TPtrC8 ExcessData();
+
+ // from MComm
+ virtual void CommReadComplete(TInt aStatus);
+ virtual void CommWriteComplete(TInt aStatus);
+ // from MTimer
+ virtual void TimerComplete(TInt aStatus);
+ // from MCommChatNotify
+ virtual void ChatStringMatch(CCommChatString* aString);
+ virtual void ChatTimeout();
+private:
+ void StartL();
+ TInt InitComm();
+ void Disconnect();
+ TInt SendClient();
+ void Complete(TInt aStatus);
+ void SendToken();
+private:
+ CNtRas* iNtRas;
+ CCommChatter* iChat;
+ TInt iRxBufOffset;
+ TBuf8<KCommRxBufSize> iRxBuf;
+ TRasConState iState;
+ TInt iTries;
+ TBool iCommOpen;
+ TUint32 iServerMode;
+ CCommChatString* iString;
+ };
+
+class CRasDatabase : public CBase
+/**
+@internalComponent
+*/
+ {
+public:
+
+ static CRasDatabase* NewL(CNtRas* aRas);
+ CRasDatabase(CNtRas* aRas);
+ ~CRasDatabase();
+ TInt ReadField(const TDesC& aField, TUint32& aValue);
+ TInt ReadField(const TDesC& aField, TDes8& aValue);
+private:
+ void ConstructL();
+ CESockIniData* iIniFile;
+ CNtRas* iNtRas;
+ };
+
+class CConnectBox : public CActive
+/**
+@internalComponent
+*/
+ {
+public:
+ CConnectBox(CNtRas* aNtRas);
+ ~CConnectBox();
+ static CConnectBox* NewL(CNtRas* aNtRas, TBool aReconnect);
+protected:
+ void ConstructL(TBool aReconnect);
+
+ virtual void RunL();
+ virtual void DoCancel();
+private:
+ CNtRas* iNtRas;
+ RNotifier iNotifier;
+ TBufC<5> iYes;
+ TBufC<5> iNo;
+ TBufC<20> iLine1;
+ TBufC<20> iLine2;
+ TInt iButtonVal;
+ TBool iReconnect;
+ };
+
+class CLoginBox : public CActive
+/**
+@internalComponent
+*/
+ {
+public:
+ CLoginBox(CNtRas* aNtRas);
+ ~CLoginBox();
+ static CLoginBox* NewL(CNtRas* aNtRas, TDes& aUsername, TDes& aPassword);
+protected:
+ void ConstructL(TDes& aUsername, TDes& aPassword);
+ virtual void RunL();
+ virtual void DoCancel();
+private:
+ CNtRas* iNtRas;
+ };
+
+class CNtRasFactory : public CNifAgentFactory
+/**
+@internalComponent
+*/
+ {
+protected:
+ virtual void InstallL();
+ virtual CNifAgentBase *NewAgentL(const TDesC& aName);
+ virtual TInt Info(TNifAgentInfo& aInfo, TInt aIndex) const;
+ };
+
+class CNtRas : public CNifAgentBase
+/**
+@internalComponent
+*/
+ {
+public:
+ enum TRasOp
+ {
+ ERasOpStart,
+ ERasOpRestart,
+ ERasOpDisconnect,
+ ERasOpAuthenticate,
+ ERasOpReconnect
+ };
+
+ enum TRasState
+ {
+ ERasClosed,
+ ERasSelect,
+ ERasReconnect,
+ ERasConnect,
+ ERasOpen,
+ ERasAuthenticate
+ };
+
+public:
+ CNtRas();
+ virtual ~CNtRas();
+ void ConstructL();
+
+ // from CNifAgentBase
+ virtual void Info(TNifAgentInfo& aInfo) const;
+ virtual void Connect(TAgentConnectType aType);
+ virtual void Connect(TAgentConnectType aType, CStoreableOverrideSettings* aOverrideSettings);
+ virtual void CancelConnect();
+ virtual void Reconnect();
+ virtual void CancelReconnect();
+ virtual void Authenticate(TDes& aUsername, TDes& aPassword);
+ virtual void CancelAuthenticate();
+ virtual void Disconnect(TInt aReason);
+ virtual TInt GetExcessData(TDes8& aBuffer);
+ virtual TInt Notification(TNifToAgentEventType aEvent, TAny* aInfo);
+ virtual TInt IncomingConnectionReceived();
+ virtual void GetLastError(TInt& aError);
+ virtual TBool IsActive() const;
+ virtual TBool IsReconnect() const;
+ virtual void SetConnectionSettingsL(const TConnectionSettings& aSettings);
+ virtual TConnectionSettings& ConnectionSettingsL();
+ virtual void SetOverridesL(CStoreableOverrideSettings* aOverrideSettings);
+ virtual CStoreableOverrideSettings* OverridesL();
+ virtual void RequestNotificationOfServiceChangeL(MAgentSessionNotify* aSession);
+ virtual void CancelRequestNotificationOfServiceChange(MAgentSessionNotify* aSession);
+ //
+ static void FillInInfo(TNifAgentInfo& aInfo);
+ void ConnectDialogComplete(TInt aStatus);
+ void AuthenticateDialogComplete(TInt aStatus);
+ void ConnectComplete(TInt aStatus);
+
+protected:
+ virtual TInt DoReadInt(const TDesC& aField, TUint32& aValue, const RMessagePtr2* aMessage );
+ virtual TInt DoWriteInt(const TDesC& aField, TUint32 aValue, const RMessagePtr2* aMessage );
+ virtual TInt DoReadDes(const TDesC& aField, TDes8& aValue, const RMessagePtr2* aMessage );
+ virtual TInt DoWriteDes(const TDesC& aField, const TDesC8& aValue, const RMessagePtr2* aMessage );
+ virtual TInt DoReadDes(const TDesC& aField, TDes16& aValue, const RMessagePtr2* aMessage );
+ virtual TInt DoWriteDes(const TDesC& aField, const TDesC16& aValue, const RMessagePtr2* aMessage );
+ virtual TInt DoReadBool(const TDesC& aField, TBool& aValue, const RMessagePtr2* aMessage );
+ virtual TInt DoWriteBool(const TDesC& aField, TBool aValue, const RMessagePtr2* aMessage );
+ virtual HBufC* DoReadLongDesLC(const TDesC& aField, const RMessagePtr2* aMessage );
+
+
+private:
+ static TInt AsyCbHandler(TAny* aPtr);
+ void DoProcess();
+ void Process(TRasOp aOp);
+ TInt CommInitialise();
+
+private:
+ TRasOp iOp;
+ TRasState iState;
+ CAsyncCallBack* iAsyCb;
+ CRasDatabase* iDatabase;
+ CLoginBox* iLoginBox;
+ CConnectBox* iConnectBox;
+ CRasConnect* iConnector;
+
+ TDes* iUserNamePtr;
+ TDes* iPasswordPtr;
+
+ HBufC8* iExcessData;
+ TConnectionSettings iSettings;
+ };
+
+class Util
+/**
+@internalComponent
+*/
+ {
+public:
+ static TInt GetCommaSepToken(TLex& aLex, TPtrC& aPtr);
+ static TInt GetCommHandshake(const TDesC& aDes, TUint& aHandshake);
+ static TInt GetCommFormat(const TDesC& aDes, TDataBits& aDataBits, TStopBits& aStopBits, TParity& aParity);
+ static TInt GetCommSpeed(TInt aSpeed, TBps& aBps);
+ static void CommInit();
+ };
+
+/**
+@internalComponent
+*/
+_LIT(RAS_NIF_NAME, "ntras");
+
+#endif