MFCDOC.H
//==========================================================================; 
// 
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY 
//  KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 
//  PURPOSE. 
// 
//  Copyright (c) 1992 - 1997  Microsoft Corporation.  All Rights Reserved. 
// 
//--------------------------------------------------------------------------; 
// 
// playdoc.h : interface of the CPlayerDoc class 
// 
///////////////////////////////////////////////////////////////////////////// 
 
class CPlayerDoc : public CDocument 
{ 
protected: // create from serialization only 
CPlayerDoc(); 
DECLARE_DYNCREATE(CPlayerDoc) 
 
    BOOL CreateFilterGraph( void ); 
    void DeleteContents( void ); 
 
// Event handles 
protected: 
    HANDLE m_hGraphNotifyEvent; 
public: 
    HANDLE GetGraphEventHandle( ) { return m_hGraphNotifyEvent; }; 
    void OnGraphNotify(); 
 
// Attributes 
public: 
    enum {Uninitialized, Stopped, Paused, Playing } m_State; 
 
    IGraphBuilder *m_pGraph; 
 
    BOOL CanPlay(){ return m_State==Stopped || m_State==Paused; }; 
    BOOL CanStop(){ return m_State==Playing || m_State==Paused; }; 
    BOOL CanPause(){return m_State==Playing || m_State==Stopped; }; 
    BOOL IsInitialized(){ return m_State!=Uninitialized; } 
 
// Operations 
public: 
 
// Overrides 
// ClassWizard generated virtual function overrides 
//{{AFX_VIRTUAL(CPlayerDoc) 
public: 
virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); 
//}}AFX_VIRTUAL 
 
// Implementation 
public: 
virtual ~CPlayerDoc(); 
#ifdef _DEBUG 
virtual void AssertValid() const; 
virtual void Dump(CDumpContext& dc) const; 
#endif 
 
protected: 
 
// Generated message map functions 
protected: 
 
        // just stop the graph (if aborting). Normal stop will 
        // rewind 
        void OnAbortStop(); 
 
//{{AFX_MSG(CPlayerDoc) 
afx_msg void OnUpdateMediaPlay(CCmdUI* pCmdUI); 
afx_msg void OnUpdateMediaPause(CCmdUI* pCmdUI); 
afx_msg void OnUpdateMediaStop(CCmdUI* pCmdUI); 
afx_msg void OnMediaPlay(); 
afx_msg void OnMediaPause(); 
afx_msg void OnMediaStop(); 
//}}AFX_MSG 
DECLARE_MESSAGE_MAP() 
 
 
}; 
 
 
/////////////////////////////////////////////////////////////////////////////