aboutsummaryrefslogtreecommitdiff
path: root/Src/Plugins/General/gen_ff/embedwndguid.h
blob: 8e9e39e7a08214a05942207fd9e571f3af91f03b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef _EMBEDWNDGUID_H
#define _EMBEDWNDGUID_H

#include "../winamp/wa_ipc.h"

class EmbedWndGuid 
{
  public:
    EmbedWndGuid(EmbedWndGuid *wg);
    EmbedWndGuid(embedWindowState *ws);
    GUID getGuid() { return guid; }
    embedWindowState *getEmbedWindowState() { return ws; }
    void setGuid(GUID g) { guid = g; }
    HWND getHWND() { return hwnd; }
    void setHWND(HWND w) { hwnd = w; }


  private:
    GUID guid;
    embedWindowState *ws;
    HWND hwnd;
};

class EmbedWndGuidMgr
{ 
  public:
    GUID getGuid(EmbedWndGuid *wg);
    GUID getGuid(embedWindowState *ws);
    embedWindowState *getEmbedWindowState(GUID g);
    int testGuid(GUID g);
    void retireEmbedWindowState(embedWindowState *ws);
    int getNumWindowStates();
    GUID enumWindowState(int n, embedWindowState **ws=NULL);

  private:
    PtrList<EmbedWndGuid> table;

};

extern EmbedWndGuidMgr embedWndGuidMgr;

#endif // _EMBEDWNDGUID_H