chxavcompositecommand.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:1k
源码类别:
Symbian
开发平台:
Visual C++
- /************************************************************************
- * chxavcompositecommand.h
- * -----------------------
- *
- * Synopsis:
- *
- *
- * aggregated command object
- *
- * commands (actions) are executed in order of addition
- * copying the command object implies sharing a reference to the aggregated list
- *
- * Target:
- * Symbian OS
- *
- *
- * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
- *
- ************************************************************************/
- #ifndef _chxavcompositecommand_h_
- #define _chxavcompositecommand_h_
- // Helix includes...
- #include "hxlist.h"
- // Includes from this project...
- #include "chxavcommand.h"
- // class CHXAvCompositeCommand
- class CHXAvCompositeCommand
- : public CHXAvCommand
- {
- public:
- typedef void* CID; // command id
- // CHXAvCommand
- CHXAvCompositeCommand() {};
- CHXAvCompositeCommand(const CHXAvCompositeCommand& rhs);
- virtual ~CHXAvCompositeCommand();
- virtual void Execute();
- virtual CHXAvCommand* CloneL() const;
- // CHXAvCompositeCommand
- CID AppendL(const CHXAvCommand& cmd);
- void Remove(CID idCommand);
- private:
- CHXSimpleList m_commands;
- TInt m_nextId;
- };
- ////////////////////////////////////////
- // instanciate a copy
- inline
- CHXAvCommand* CHXAvCompositeCommand::CloneL() const
- {
- return new (ELeave) CHXAvCompositeCommand(*this);
- }
- #endif // EP_COMPOSITE_COMMAND_INCLUDED__