diff -r 000000000000 -r b16258d2340f applayerprotocols/telnetengine/SRC/TELCTRL.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerprotocols/telnetengine/SRC/TELCTRL.H Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,102 @@ +/* +* Copyright (c) 2003 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: +* +*/ + + +#ifndef _TELENET_ENGINE_H_ +#define _TELENET_ENGINE_H_ + +#include +#include "TELFSM.H" + +class CTelnetResolver; +class CAtiveWriter; +class CActiveReader; +class CIOControl; +class CReadTrigger; +class MIONotifier; +class CProto; + +const int KPortReadBufferSize = 128; + +const int KClientReadBufferSize = 512; + +NONSHARABLE_CLASS(CTelnetControl) : public CBase , public MTelnetResolver, public MIONotifier , public MProtoEvent +/** +@internalComponent +*/ + { +public: + + CTelnetControl(); + ~CTelnetControl(); + + static CTelnetControl* NewL(const TTelnetConfig& aConfig,MTelnetNotification* aTelnetNotification); + void ConstructL(const TTelnetConfig& aConfig,MTelnetNotification* aTelnetNotification); + void Reset(); + + TInt Connect(const TDesC& aServerName, TUint aPort); + TInt Connect(const TInetAddr& aInetAddr, TUint aPort); + + TInt SetOption(const TInt aOption); + TInt SetConfig(const TTelnetConfig& aConfig); + TInt OptionStatus(TOptionStatus& aStatus); + + TInt Disconnect(); + + TInt Read(); + TInt Write(const TDesC8& aBuffer); + TInt Write(TTelnetUserControl& aControlCode); + + + // MTelnetResolver + void ResolverConnectedL(); + void ResolverDisconnected(); + void ResolverError(TInt aError); + + // MIONotification + void WriteComplete(); + void WriteError(TInt aError); + void ReadCompleteL(); + void ReadComplete(TInt aError); + void Event(TInt aEvent, TInt aEventCode); + + // MProtoEvent + void ProtoError(TInt aError); + void ProtoEvent(); + + +private: + // For passing data to the client app + TBuf8 iClientReadBuffer; + // Passed to IO control for receiving data from the server + TBuf8 iPortReadBuffer; + + TBool iClientWriteOutstanding; + + MTelnetNotification* iTelnetNotification; + + CTelnetResolver* iTelnetResolver; + + CActiveWriter* iPortWriter; + CActiveReader* iPortReader; + CIOBufferControl* iPortIOControl; + + CProto* iProto; + + }; + +#endif