#ifndef _WNDCB_H #define _WNDCB_H #include #include class Container; class ifc_window; class WndInfo { public: GUID guid; const wchar_t *groupid; const wchar_t *wndtype; Container *c; }; namespace WndCallback { enum { SHOWWINDOW=10, HIDEWINDOW=20, GROUPCHANGE=30, TYPECHANGE=40, }; }; #define WNDCALLBACKI_PARENT SysCallbackI class WndCallbackI : public WNDCALLBACKI_PARENT { public: virtual FOURCC syscb_getEventType() { return SysCallback::WINDOW; } protected: virtual int onShowWindow(Container *c, GUID guid, const wchar_t *groupid) { return 0; } virtual int onHideWindow(Container *c, GUID guid, const wchar_t *groupid) { return 0; } virtual int onGroupChange(const wchar_t *groupid) { return 0; } virtual int onTypeChange(const wchar_t *type) { return 0; } private: virtual int syscb_notify(int msg, intptr_t param1=0, intptr_t param2=0); }; #endif