diff -r 7333d7932ef7 -r 8b7f4e561641 installationservices/refsoftwareappmgr/source/command.h --- a/installationservices/refsoftwareappmgr/source/command.h Tue Aug 31 15:21:33 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ -/* -* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of the License "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: -* This file defines a parser and console commands for the reference Application Manager -* -*/ - - -/** - @file - @internalComponent - exampleCode -*/ - -#ifndef COMMAND_H -#define COMAMND_H - -#include -#include -#include - -namespace Usif - { - class CComponentFilter; - - /** - The CConsoleCommand class defines a pure virtual interface for console commands. - Each software management operation provided by the Reference Application Manager - must implement this interface. - */ - class CConsoleCommand: public CBase - { - public: - /** - Returns the name of the command. The CCommandLineParser class uses this method - to find an appropriate command object whilst parsing the console input. - */ - virtual const TDesC& Name() = 0; - - /** - CCommandLineParser uses this method to hand over the recognition of command's options - to an appropriate command object. - - @param aName The name of an option. - @param aValues The values of option's parameters. - */ - virtual void OptionHandlerL(const TPtrC& aName, const RArray& aValues) = 0; - - /** - CCommandLineParser uses this method to execute a command. - - @param aConsole The console the command writes its output to. - */ - virtual void ExecuteL(CConsoleBase& aConsole) = 0; - - virtual ~CConsoleCommand(); - - protected: - CConsoleCommand(); - CConsoleCommand(const CConsoleCommand&); - CConsoleCommand& operator=(const CConsoleCommand&); - }; - - /** - A 'list' command. It displays to the user a list of installed software components. - Please @see appmanager.cpp for the list of supported filtering options. - */ - class CListCommand: public CConsoleCommand - { - public: - static CListCommand* NewLC(); - - // Implement CConsoleCommand - virtual const TDesC& Name(); - virtual void OptionHandlerL(const TPtrC& aName, const RArray& aValues); - virtual void ExecuteL(CConsoleBase& aConsole); - virtual ~CListCommand(); - - private: - CListCommand(); - CComponentFilter* iFilter; - TLanguage iLocale; - TBool iScomoStateSet; - }; - - /** - A 'delete' command. It deletes a component specified by id from the system. The id of a component - to be deleted can be retrieved with the aid of the 'list' command. - */ - class CDeleteCommand: public CConsoleCommand - { - public: - static CDeleteCommand* NewLC(); - - // Implement CConsoleCommand - virtual const TDesC& Name(); - virtual void OptionHandlerL(const TPtrC& aName, const RArray& aValues); - virtual void ExecuteL(CConsoleBase& aConsole); - virtual ~CDeleteCommand(); - - private: - CDeleteCommand(); - - enum { EInvalidComponentId = -1 }; - TInt iComponentId; - }; - - /** - A user input parser. The Reference Application Manager uses this class to recognize - and execute console commands entred by the user. A command must be registered with - the RegisterCommandL() method so the parser may use it. - The parser uses the CCommandLineArguments class to read user input from the console. - */ - class CCommandLineParser: public CBase - { - public: - /** - Creates a new instance of the Parser. - */ - static CCommandLineParser* NewLC(); - - /** - Registers a command to the parser. - - @param aCommand A command to be registered. - */ - void RegisterCommandL(CConsoleCommand& aCommand); - - /** - Parses user input from the console and returns a command that has been found. - */ - CConsoleCommand& ParseL(); - - virtual ~CCommandLineParser(); - - private: - CCommandLineParser(); - CCommandLineParser(const CCommandLineParser&); - CCommandLineParser& operator=(const CCommandLineParser&); - - CCommandLineArguments* iCmdLineArgs; - RPointerArray iCommands; - }; - } - -#endif // COMAMND_H