--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/usbmgmt/usbmgrtest/showcaps/src/showcaps.cpp Tue Feb 02 02:02:59 2010 +0200
@@ -0,0 +1,110 @@
+/*
+* 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:
+* SER-COMMS\USB\TESTSRC\SHOWCAPS.CPP
+*
+*/
+
+#include <c32comm.h>
+#include <e32test.h>
+
+#ifndef __WINS__
+_LIT(KCommDriverName, "EUSBC");
+_LIT(KCommDeviceName, "USBC");
+_LIT(KCommModuleCsyName, "ECACM");
+_LIT(KCommModulePortNameAndNumber, "ACM::0");
+_LIT(KCommModulePortName, "ACM");
+#else
+_LIT(KCommPhysDriverName, "ECDRV");
+_LIT(KCommPhysDeviceName, "Comm.Wins");
+_LIT(KCommDriverName, "ECOMM");
+_LIT(KCommDeviceName, "Comm");
+_LIT(KCommModuleCsyName, "ECUART");
+_LIT(KCommModulePortNameAndNumber, "COMM::0");
+_LIT(KCommModulePortName, "COMM");
+#endif
+
+LOCAL_D RCommServ CommServ;
+LOCAL_D RComm CommPort;
+LOCAL_D RTest test(_L("SHOWCAPS"));
+
+TInt E32Main()
+/**
+ * Loads the USB serial driver and prints its capabilities.
+ */
+ {
+ TInt r;
+
+ test.Title();
+ test.Start(_L("Starting E32Main"));
+
+ __UHEAP_MARK;
+
+ test.Next(_L("loading LDD"));
+ r = User::LoadLogicalDevice(KCommDriverName);
+ test(r == KErrNone || r == KErrAlreadyExists);
+
+#ifdef __WINS__
+ test.Next(_L("loading PDD"));
+ r = User::LoadPhysicalDevice(KCommPhysDriverName);
+ test(r == KErrNone || r == KErrAlreadyExists);
+#endif
+
+ test.Next(_L("starting C32"));
+ r = StartC32();
+ test(r == KErrNone || r == KErrAlreadyExists);
+
+ test.Next(_L("connecting to comms server"));
+ test(CommServ.Connect() == KErrNone);
+
+ test.Next(_L("loading CommPort module"));
+ r = CommServ.LoadCommModule(KCommModuleCsyName);
+ test(r == KErrNone || r == KErrAlreadyExists);
+
+ test.Next(_L("opening CommPort port"));
+ test(CommPort.Open(CommServ, KCommModulePortNameAndNumber, ECommExclusive) == KErrNone);
+
+ test.Next(_L("getting caps"));
+ TCommCaps2 cc2;
+ CommPort.Caps(cc2);
+ test.Printf(_L("TCommCapsV01"));
+ test.Printf(_L("iRate\t0x%x\n"), cc2().iRate);
+ test.Printf(_L("iDataBits\t0x%x\n"), cc2().iDataBits);
+ test.Printf(_L("iStopBits\t0x%x\n"), cc2().iStopBits);
+ test.Printf(_L("iParity\t0x%x\n"), cc2().iParity);
+ test.Printf(_L("iHandshake\t0x%x\n"), cc2().iHandshake);
+ test.Printf(_L("iSignals\t0x%x\n"), cc2().iSignals);
+ test.Printf(_L("iFifo\t%d\n"), cc2().iFifo);
+ test.Printf(_L("iSIR\t%d\n"), cc2().iSIR);
+ test.Printf(_L("TCommCapsV02"));
+ test.Printf(_L("iNotificationCaps\t0x%x\n"), cc2().iNotificationCaps);
+ test.Printf(_L("iRoleCaps\t0x%x\n"), cc2().iRoleCaps);
+ test.Printf(_L("iFlowControlCaps\t0x%x\n"), cc2().iFlowControlCaps);
+
+ CommPort.Close();
+ test(CommServ.UnloadCommModule(KCommModulePortName) == KErrNone);
+ CommServ.Close();
+#ifdef __WINS__
+ test(User::FreePhysicalDevice(KCommPhysDeviceName) == KErrNone);
+#endif
+ test(User::FreeLogicalDevice(KCommDeviceName) == KErrNone);
+
+ __UHEAP_MARKEND;
+
+ test.End();
+ test.Close();
+
+
+ return KErrNone;
+ }