core/src/command_constructors.h
changeset 78 b3ffff030d5c
parent 0 7f656887cf89
equal deleted inserted replaced
77:8df58d8c99e8 78:b3ffff030d5c
    16 
    16 
    17 #include <e32base.h>
    17 #include <e32base.h>
    18 #include <fshell/ioutils.h>
    18 #include <fshell/ioutils.h>
    19 
    19 
    20 class MCommand;
    20 class MCommand;
       
    21 class MTaskRunner;
       
    22 
    21 namespace LtkUtils { class RLtkBuf16; }
    23 namespace LtkUtils { class RLtkBuf16; }
    22 using LtkUtils::RLtkBuf16;
    24 using LtkUtils::RLtkBuf16;
    23 
    25 
    24 class CCommandConstructorBase : public CBase
    26 class CCommandConstructorBase : public CBase
    25 	{
    27 	{
    59 typedef IoUtils::CCommandBase* (*TCommandConstructor)();
    61 typedef IoUtils::CCommandBase* (*TCommandConstructor)();
    60 
    62 
    61 class CThreadCommandConstructor : public CCommandConstructorBase
    63 class CThreadCommandConstructor : public CCommandConstructorBase
    62 	{
    64 	{
    63 public:
    65 public:
    64 	static CThreadCommandConstructor* NewLC(TCommandConstructor aConstructor, TUint aFlags);
    66 	static CThreadCommandConstructor* NewLC(TCommandConstructor aConstructor, TUint aFlags, MTaskRunner* aTaskRunner);
    65 	static CThreadCommandConstructor* NewLC(const TDesC& aCommandName, TCommandConstructor aConstructor, TUint aFlags);
    67 	static CThreadCommandConstructor* NewLC(const TDesC& aCommandName, TCommandConstructor aConstructor, TUint aFlags, MTaskRunner* aTaskRunner);
    66 private:
    68 private:
    67 	CThreadCommandConstructor(TUint aFlags, TCommandConstructor aConstructor);
    69 	CThreadCommandConstructor(TUint aFlags, TCommandConstructor aConstructor, MTaskRunner* aTaskRunner);
    68 private: // From CCommandConstructorBase.
    70 private: // From CCommandConstructorBase.
    69 	virtual MCommand* ConstructCommandL();
    71 	virtual MCommand* ConstructCommandL();
    70 	virtual void AppendDescriptionL(RLtkBuf16& aBuf) const;
    72 	virtual void AppendDescriptionL(RLtkBuf16& aBuf) const;
    71 private:
    73 private:
    72 	TUint iFlags;
    74 	TUint iFlags;
    73 	TCommandConstructor iConstructor;
    75 	TCommandConstructor iConstructor;
       
    76 	MTaskRunner* iTaskRunner;
    74 	};
    77 	};
    75 
    78 
    76 class CExeCommandConstructor : public CCommandConstructorBase
    79 class CExeCommandConstructor : public CCommandConstructorBase
    77 	{
    80 	{
    78 public:
    81 public: