#include <ctlutil.h>
Public Member Functions | |
| CCmdQueue () | |
| virtual | ~CCmdQueue () |
| virtual HRESULT | New (CDeferredCommand **ppCmd, LPUNKNOWN pUnk, REFTIME time, GUID *iid, long dispidMethod, short wFlags, long cArgs, VARIANT *pDispParams, VARIANT *pvarResult, short *puArgErr, BOOL bStream) |
| virtual HRESULT | Insert (CDeferredCommand *pCmd) |
| virtual HRESULT | Remove (CDeferredCommand *pCmd) |
| virtual HRESULT | SetSyncSource (IReferenceClock *) |
| virtual HRESULT | Run (REFERENCE_TIME tStreamTimeOffset) |
| virtual HRESULT | EndRun () |
| virtual HRESULT | GetDueCommand (CDeferredCommand **ppCmd, long msTimeout) |
| HANDLE | GetDueHandle () |
| virtual HRESULT | GetCommandDueFor (REFERENCE_TIME tStream, CDeferredCommand **ppCmd) |
| BOOL | CheckTime (CRefTime time, BOOL bStream) |
Protected Member Functions | |
| void | SetTimeAdvise (void) |
Protected Attributes | |
| CCritSec | m_Lock |
| CGenericList< CDeferredCommand > | m_listPresentation |
| CGenericList< CDeferredCommand > | m_listStream |
| CAMEvent | m_evDue |
| DWORD_PTR | m_dwAdvise |
| CRefTime | m_tCurrentAdvise |
| IReferenceClock * | m_pClock |
| BOOL | m_bRunning |
| CRefTime | m_StreamTimeOffset |
Definition at line 668 of file ctlutil.h.
| CCmdQueue::CCmdQueue | ( | ) |
Definition at line 1882 of file ctlutil.cpp.
| CCmdQueue::~CCmdQueue | ( | ) | [virtual] |
Definition at line 1892 of file ctlutil.cpp.
References CGenericList< OBJECT >::GetHeadPosition(), CGenericList< OBJECT >::GetNext(), m_dwAdvise, m_listPresentation, m_listStream, m_pClock, pos(), and CBaseList::RemoveAll().
| HRESULT CCmdQueue::New | ( | CDeferredCommand ** | ppCmd, | |
| LPUNKNOWN | pUnk, | |||
| REFTIME | time, | |||
| GUID * | iid, | |||
| long | dispidMethod, | |||
| short | wFlags, | |||
| long | cArgs, | |||
| VARIANT * | pDispParams, | |||
| VARIANT * | pvarResult, | |||
| short * | puArgErr, | |||
| BOOL | bStream | |||
| ) | [virtual] |
Definition at line 1924 of file ctlutil.cpp.
References E_OUTOFMEMORY, hr, HRESULT, m_Lock, NULL, and S_OK.
| HRESULT CCmdQueue::Insert | ( | CDeferredCommand * | pCmd | ) | [virtual] |
Definition at line 1968 of file ctlutil.cpp.
References CGenericList< OBJECT >::AddBefore(), CGenericList< OBJECT >::AddTail(), CGenericList< OBJECT >::Get(), CGenericList< OBJECT >::GetHeadPosition(), CGenericList< OBJECT >::GetNext(), CDeferredCommand::GetTime(), CDeferredCommand::IsStreamTime(), m_listPresentation, m_listStream, m_Lock, pos(), S_OK, and SetTimeAdvise().
Referenced by CDeferredCommand::CDeferredCommand(), and CDeferredCommand::Postpone().
| HRESULT CCmdQueue::Remove | ( | CDeferredCommand * | pCmd | ) | [virtual] |
Definition at line 2002 of file ctlutil.cpp.
References CGenericList< OBJECT >::Get(), CGenericList< OBJECT >::GetHeadPosition(), CGenericList< OBJECT >::GetNext(), hr, HRESULT, CDeferredCommand::IsStreamTime(), m_listPresentation, m_listStream, m_Lock, pos(), CGenericList< OBJECT >::Remove(), S_OK, and SetTimeAdvise().
Referenced by CDeferredCommand::Cancel(), CDeferredCommand::Invoke(), and CDeferredCommand::Postpone().
| HRESULT CCmdQueue::SetSyncSource | ( | IReferenceClock * | pClock | ) | [virtual] |
Definition at line 2038 of file ctlutil.cpp.
References m_dwAdvise, m_Lock, m_pClock, S_OK, and SetTimeAdvise().
| HRESULT CCmdQueue::Run | ( | REFERENCE_TIME | tStreamTimeOffset | ) | [virtual] |
Definition at line 2126 of file ctlutil.cpp.
References m_bRunning, m_Lock, m_StreamTimeOffset, S_OK, SetTimeAdvise(), and TRUE.
| HRESULT CCmdQueue::EndRun | ( | ) | [virtual] |
Definition at line 2139 of file ctlutil.cpp.
References FALSE, m_bRunning, m_Lock, S_OK, and SetTimeAdvise().
| HRESULT CCmdQueue::GetDueCommand | ( | CDeferredCommand ** | ppCmd, | |
| long | msTimeout | |||
| ) | [virtual] |
Definition at line 2151 of file ctlutil.cpp.
References CheckTime(), E_ABORT, CGenericList< OBJECT >::Get(), CGenericList< OBJECT >::GetCount(), CGenericList< OBJECT >::GetHeadPosition(), CDeferredCommand::GetTime(), CDeferredCommand::IsStreamTime(), m_bRunning, m_evDue, m_listPresentation, m_listStream, m_Lock, m_StreamTimeOffset, NULL, pos(), and S_OK.
| HRESULT CCmdQueue::GetCommandDueFor | ( | REFERENCE_TIME | tStream, | |
| CDeferredCommand ** | ppCmd | |||
| ) | [virtual] |
Definition at line 2200 of file ctlutil.cpp.
References CheckTime(), FALSE, CGenericList< OBJECT >::Get(), CGenericList< OBJECT >::GetCount(), CGenericList< OBJECT >::GetHeadPosition(), CDeferredCommand::GetTime(), m_bRunning, m_listPresentation, m_listStream, m_Lock, m_StreamTimeOffset, NULL, pos(), and S_OK.
| BOOL CCmdQueue::CheckTime | ( | CRefTime | time, | |
| BOOL | bStream | |||
| ) | [inline] |
Definition at line 767 of file ctlutil.h.
References FALSE.
Referenced by GetCommandDueFor(), GetDueCommand(), and CDeferredCommand::Postpone().
| void CCmdQueue::SetTimeAdvise | ( | void | ) | [protected] |
Definition at line 2063 of file ctlutil.cpp.
References ASSERT, CGenericList< OBJECT >::Get(), CGenericList< OBJECT >::GetCount(), CGenericList< OBJECT >::GetHeadPosition(), CDeferredCommand::GetTime(), hr, HRESULT, m_bRunning, m_dwAdvise, m_evDue, m_listPresentation, m_listStream, m_pClock, m_StreamTimeOffset, m_tCurrentAdvise, pos(), CAMEvent::Reset(), and TimeZero.
Referenced by EndRun(), Insert(), Remove(), Run(), and SetSyncSource().
CCritSec CCmdQueue::m_Lock [protected] |
Definition at line 788 of file ctlutil.h.
Referenced by EndRun(), GetCommandDueFor(), GetDueCommand(), Insert(), New(), Remove(), Run(), and SetSyncSource().
CGenericList<CDeferredCommand> CCmdQueue::m_listPresentation [protected] |
Definition at line 796 of file ctlutil.h.
Referenced by GetCommandDueFor(), GetDueCommand(), Insert(), Remove(), SetTimeAdvise(), and ~CCmdQueue().
CGenericList<CDeferredCommand> CCmdQueue::m_listStream [protected] |
Definition at line 799 of file ctlutil.h.
Referenced by GetCommandDueFor(), GetDueCommand(), Insert(), Remove(), SetTimeAdvise(), and ~CCmdQueue().
CAMEvent CCmdQueue::m_evDue [protected] |
DWORD_PTR CCmdQueue::m_dwAdvise [protected] |
Definition at line 808 of file ctlutil.h.
Referenced by SetSyncSource(), SetTimeAdvise(), and ~CCmdQueue().
CRefTime CCmdQueue::m_tCurrentAdvise [protected] |
IReferenceClock* CCmdQueue::m_pClock [protected] |
Definition at line 814 of file ctlutil.h.
Referenced by SetSyncSource(), SetTimeAdvise(), and ~CCmdQueue().
BOOL CCmdQueue::m_bRunning [protected] |
Definition at line 817 of file ctlutil.h.
Referenced by EndRun(), GetCommandDueFor(), GetDueCommand(), Run(), and SetTimeAdvise().
CRefTime CCmdQueue::m_StreamTimeOffset [protected] |
Definition at line 820 of file ctlutil.h.
Referenced by GetCommandDueFor(), GetDueCommand(), Run(), and SetTimeAdvise().
1.5.6