PageRenderTime 82ms CodeModel.GetById 41ms app.highlight 2ms RepoModel.GetById 38ms app.codeStats 0ms

/thirdparty/liblastfm2/src/ws/win/WmiSink.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 49 lines | 19 code | 8 blank | 22 comment | 0 complexity | 57f3bdcb26cfb4151829c87a85e98e0d MD5 | raw file
 1/*
 2   Copyright 2009 Last.fm Ltd. 
 3      - Primarily authored by Max Howell, Jono Cole and Doug Mansell
 4
 5   This file is part of liblastfm.
 6
 7   liblastfm is free software: you can redistribute it and/or modify
 8   it under the terms of the GNU General Public License as published by
 9   the Free Software Foundation, either version 3 of the License, or
10   (at your option) any later version.
11
12   liblastfm is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with liblastfm.  If not, see <http://www.gnu.org/licenses/>.
19*/
20#ifndef WMISINK_WIN_H
21#define WMISINK_WIN_H
22
23#include "wbemcli.h"
24
25// Sink object for WMI NDIS notifications
26class WmiSink : public IWbemObjectSink
27{
28    UINT m_cRef;
29
30public:
31    WmiSink(class NdisEvents *callback);
32    ~WmiSink();
33
34    // IUnknown members
35    STDMETHODIMP         QueryInterface(REFIID, LPVOID *);
36    STDMETHODIMP_(ULONG) AddRef(void);
37    STDMETHODIMP_(ULONG) Release(void);
38
39    // IWbemObjectSink
40    STDMETHODIMP Indicate(long, IWbemClassObject**);
41    STDMETHODIMP SetStatus(long, HRESULT, BSTR, IWbemClassObject *);
42
43    void disconnect();
44
45private:
46    class NdisEvents *m_callback;
47};
48
49#endif