--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecmgmt/ucc/Source/UCCSDeviceControl/CSerialTransport.h Mon Mar 08 15:04:18 2010 +0800
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2005-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:
+* Serial Transport
+*
+*/
+
+
+
+#ifndef __SERIAL_H__
+#define __SERIAL_H__
+
+/********************************************************************************
+ *
+ * System Includes
+ *
+ *******************************************************************************/
+#include <c32comm.h>
+#include <f32file.h>
+
+#include "MUCCTransport.h"
+
+/********************************************************************************
+ *
+ * Definitions
+ *
+ *******************************************************************************/
+#define KMaxPacketSize 64
+#define KModuleSize 8
+#define KReadTimeout 30000000
+
+const char OPT_DELIMITER = '|';
+
+#ifndef _TCOMMSTATUS
+#define _TCOMMSTATUS
+enum TCommStatus {
+ EIdle,
+ EInitialising,
+ EInitialised,
+ EConnecting,
+ EConnected,
+ EDisconnecting,
+ EDisconnected,
+ EReleasing,
+ ESendPending,
+ EReceivePending,
+ ELast
+};
+#endif
+
+/********************************************************************************
+ *
+ * Class
+ *
+ *******************************************************************************/
+class CSerialTransport : public MUCCTransport
+{
+public:
+ CSerialTransport();
+ static CSerialTransport* NewL( TPtrC16 aModule );
+ virtual ~CSerialTransport();
+
+ TInt InitialiseL();
+ TInt ConnectL( TDesC *aRemoteHost );
+ TInt RequestSend( TDesC8 *aCommandData, const TUint aDataLength );
+ TInt RequestReceive( TPtr8 *aRecvBufferPtr, TUint aByteCount );
+ TInt Disconnect( void );
+ TInt Release( void );
+ TText8 *Error( void );
+
+private:
+ void ConstructL( TPtrC16 aModule );
+ void SetStatus( TCommStatus aNewStatus );
+ void ExtractOptions( TDesC *aRemoteHost, TInt& aPortNumber, TInt& aBaudCap, TBps& aBaudRate );
+
+private:
+ enum TReadWriteStatus { ENoRW, EWritePending, EReadPending };
+
+private:
+ TCommStatus iSerialStatus;
+ TBuf16<KModuleSize> iModule;
+ TInt iRetries;
+
+ RCommServ iCommServer;
+ RComm iCommPort;
+ TCommConfig iPortSettings, iOldPortSettings;
+
+ TInt iCommPortOpen, iCommOldSettingsValid;
+ TRequestStatus iStatus;
+};
+
+#endif