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 26 class WmiSink : public IWbemObjectSink 27 { 28 UINT m_cRef; 29 30 public: 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 45 private: 46 class NdisEvents *m_callback; 47 }; 48 49 #endif