embedwndguid.h 920 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef _EMBEDWNDGUID_H
  2. #define _EMBEDWNDGUID_H
  3. #include "../winamp/wa_ipc.h"
  4. class EmbedWndGuid
  5. {
  6. public:
  7. EmbedWndGuid(EmbedWndGuid *wg);
  8. EmbedWndGuid(embedWindowState *ws);
  9. GUID getGuid() { return guid; }
  10. embedWindowState *getEmbedWindowState() { return ws; }
  11. void setGuid(GUID g) { guid = g; }
  12. HWND getHWND() { return hwnd; }
  13. void setHWND(HWND w) { hwnd = w; }
  14. private:
  15. GUID guid;
  16. embedWindowState *ws;
  17. HWND hwnd;
  18. };
  19. class EmbedWndGuidMgr
  20. {
  21. public:
  22. GUID getGuid(EmbedWndGuid *wg);
  23. GUID getGuid(embedWindowState *ws);
  24. embedWindowState *getEmbedWindowState(GUID g);
  25. int testGuid(GUID g);
  26. void retireEmbedWindowState(embedWindowState *ws);
  27. int getNumWindowStates();
  28. GUID enumWindowState(int n, embedWindowState **ws=NULL);
  29. private:
  30. PtrList<EmbedWndGuid> table;
  31. };
  32. extern EmbedWndGuidMgr embedWndGuidMgr;
  33. #endif // _EMBEDWNDGUID_H