// MsgQueue.h: interface for the CMsgQueue class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_MSGQUEUE_H__76B07981_7DE1_4513_8FA9_B4269A40986A__INCLUDED_) #define AFX_MSGQUEUE_H__76B07981_7DE1_4513_8FA9_B4269A40986A__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include <gui/winserve.h> struct mqent_t { mqent_t *next, *prev; msg_t msg; }; class CMsgQueue : public IUnknown, public IMsgQueue { public: STDMETHOD(QueryInterface)(REFIID iid, void ** ppvObject); IMPLEMENT_IUNKNOWN(CMsgQueue); STDMETHOD(PeekMessage)(msg_t* msg, bool remove); STDMETHOD(GetMessage)(msg_t* msg); STDMETHOD(DispatchMessage)(const msg_t* msg); STDMETHOD(PostMessage)(IWindow* wnd, dword message, dword params); public: CMsgQueue(); virtual ~CMsgQueue(); mqent_t *m_head, *m_tail; }; #endif // !defined(AFX_MSGQUEUE_H__76B07981_7DE1_4513_8FA9_B4269A40986A__INCLUDED_)