--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerprotocols/httptransportfw/Test/T_HttpIntegration/CCmdFamily.h Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,128 @@
+// Copyright (c) 2002-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:
+// $Header$
+// GT0149 Applications Protocol Integration Test Harness
+// blank application
+// This module implements the CCmdFamily class: a generic collection of
+// registered CCmdBase class derived commands.
+// Include Files
+//
+//
+
+#ifndef __CMDFAMILY_H__
+#define __CMDFAMILY_H__
+
+//----------------------------------------------------------------------------
+// Forward declarations
+
+class CTEngine;
+class CCmdBase;
+
+//----------------------------------------------------------------------------
+// Definitions
+
+class CCmdFamily : public CBase
+{
+
+public: // Data types
+
+ // Switches. Please, see the iSwitch.
+ enum TSwitch
+ {
+ EParseOnly, // Parse only
+ ESwitch2, // For future use
+ ESwitch3,
+ ESwitch4,
+ ESwitch5,
+ ESwitch6,
+ ESwitch7,
+ ESwitch8,
+ EMaxSwitches
+ };
+
+public: // Constructors and destructors
+
+ // Constructors.
+ static CCmdFamily* NewL ( );
+ static CCmdFamily* NewLC( );
+
+ // Destructor.
+ ~CCmdFamily();
+
+private:
+
+ // Local Constructor.
+ void ConstructL( );
+
+protected:
+
+ // No default constructor.
+ CCmdFamily( ) {};
+
+public: // New functions
+
+ // Set and Get Test Machine context.
+ void SetMachine(CTEngine *aTestMachine );
+ CTEngine * Machine( );
+
+ // Register a Command.
+ void RegisterL ( CCmdBase* aCommand );
+
+ // Get Count of Commands.
+ TInt Count( ) const;
+
+ // Get i'th Command. Warning: legal index is a must.
+ CCmdBase* At( TInt aIndex ) const;
+ CCmdBase* operator[]( TInt aIndex ) const;
+
+ // Get Command by command id (NULL if was not found).
+ CCmdBase* Command(TInt aCommandId);
+
+ // Get Command by command string (NULL if not found).
+ CCmdBase* Recognize(const TDesC& aCommand);
+
+ // Set a Get a switch.
+ TBool Switch(const TSwitch &);
+ void SetSwitch(const TSwitch &aSwitch, TBool aBoolean = ETrue);
+
+ // Set and Get the StepOver flag.
+ void SetStepOver(const TBool &aBoolean = ETrue);
+ TBool StepOver( );
+
+ // List all the commands out
+ void ListAll(CConsoleBase *);
+
+private: // Data
+
+ // Tester Context.
+ CTEngine *iMachine;
+
+ // Registered Commands.
+ CArrayPtrSeg<CCmdBase>* iCommands;
+
+ // Switches. Must be long enough for all TSwitch values.
+ TBool iSwitch[EMaxSwitches];
+
+ // Step over us.
+ TBool iStepOver;
+
+};
+
+//----------------------------------------------------------------------------
+
+#endif // __CMDFAMILY_H__
+
+//----------------------------------------------------------------------------
+// End of File
+//----------------------------------------------------------------------------