2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Network Provider for MPEG2 based networks
4 * FILE: dll/directx/msdvbnp/networkprovider.cpp
5 * PURPOSE: IScanningTunner interface
7 * PROGRAMMERS: Johannes Anderwald (janderwald@reactos.org)
11 class CScanningTunner
: public IScanningTuner
14 STDMETHODIMP
QueryInterface( REFIID InterfaceId
, PVOID
* Interface
);
16 STDMETHODIMP_(ULONG
) AddRef()
18 InterlockedIncrement(&m_Ref
);
21 STDMETHODIMP_(ULONG
) Release()
23 InterlockedDecrement(&m_Ref
);
33 HRESULT STDMETHODCALLTYPE
get_TuningSpace(ITuningSpace
**TuningSpace
);
34 HRESULT STDMETHODCALLTYPE
put_TuningSpace(ITuningSpace
*TuningSpace
);
35 HRESULT STDMETHODCALLTYPE
EnumTuningSpaces(IEnumTuningSpaces
**ppEnum
);
36 HRESULT STDMETHODCALLTYPE
get_TuneRequest(ITuneRequest
**TuneRequest
);
37 HRESULT STDMETHODCALLTYPE
put_TuneRequest(ITuneRequest
*TuneRequest
);
38 HRESULT STDMETHODCALLTYPE
Validate(ITuneRequest
*TuneRequest
);
39 HRESULT STDMETHODCALLTYPE
get_PreferredComponentTypes(IComponentTypes
**ComponentTypes
);
40 HRESULT STDMETHODCALLTYPE
put_PreferredComponentTypes(IComponentTypes
*ComponentTypes
);
41 HRESULT STDMETHODCALLTYPE
get_SignalStrength(long *Strength
);
42 HRESULT STDMETHODCALLTYPE
TriggerSignalEvents(long Interval
);
44 //IScanningTuner methods
45 HRESULT STDMETHODCALLTYPE
SeekUp();
46 HRESULT STDMETHODCALLTYPE
SeekDown();
47 HRESULT STDMETHODCALLTYPE
ScanUp(long MillisecondsPause
);
48 HRESULT STDMETHODCALLTYPE
ScanDown(long MillisecondsPause
);
49 HRESULT STDMETHODCALLTYPE
AutoProgram();
51 CScanningTunner() : m_Ref(0), m_TuningSpace(0){};
52 virtual ~CScanningTunner(){};
56 ITuningSpace
* m_TuningSpace
;
61 CScanningTunner::QueryInterface(
65 if (IsEqualGUID(refiid
, IID_IUnknown
))
67 *Output
= PVOID(this);
68 reinterpret_cast<IUnknown
*>(*Output
)->AddRef();
71 if (IsEqualGUID(refiid
, IID_ITuner
))
73 *Output
= (ITuner
*)(this);
74 reinterpret_cast<ITuner
*>(*Output
)->AddRef();
78 if (IsEqualGUID(refiid
, IID_IScanningTuner
))
80 *Output
= (IScanningTuner
*)(this);
81 reinterpret_cast<IScanningTuner
*>(*Output
)->AddRef();
85 WCHAR Buffer
[MAX_PATH
];
87 StringFromCLSID(refiid
, &lpstr
);
88 swprintf(Buffer
, L
"CScanningTunner::QueryInterface: NoInterface for %s\n", lpstr
);
89 OutputDebugStringW(Buffer
);
96 //-------------------------------------------------------------------
101 CScanningTunner::get_TuningSpace(
102 ITuningSpace
**TuningSpace
)
104 OutputDebugStringW(L
"CScanningTunner::get_TuningSpace\n");
106 *TuningSpace
= m_TuningSpace
;
112 CScanningTunner::put_TuningSpace(
113 ITuningSpace
*TuningSpace
)
115 OutputDebugStringW(L
"CScanningTunner::put_TuningSpace\n");
116 m_TuningSpace
= TuningSpace
;
122 CScanningTunner::EnumTuningSpaces(
123 IEnumTuningSpaces
**ppEnum
)
125 OutputDebugStringW(L
"CScanningTunner::EnumTuningSpaces : NotImplemented\n");
131 CScanningTunner::get_TuneRequest(
132 ITuneRequest
**TuneRequest
)
134 OutputDebugStringW(L
"CScanningTunner::get_TuneRequest : NotImplemented\n");
140 CScanningTunner::put_TuneRequest(
141 ITuneRequest
*TuneRequest
)
143 OutputDebugStringW(L
"CScanningTunner::put_TuneRequest : NotImplemented\n");
149 CScanningTunner::Validate(
150 ITuneRequest
*TuneRequest
)
152 OutputDebugStringW(L
"CScanningTunner::Validate : NotImplemented\n");
158 CScanningTunner::get_PreferredComponentTypes(
159 IComponentTypes
**ComponentTypes
)
161 OutputDebugStringW(L
"CScanningTunner::get_PreferredComponentTypes : NotImplemented\n");
167 CScanningTunner::put_PreferredComponentTypes(
168 IComponentTypes
*ComponentTypes
)
170 OutputDebugStringW(L
"CScanningTunner::put_PreferredComponentTypes : NotImplemented\n");
176 CScanningTunner::get_SignalStrength(
179 OutputDebugStringW(L
"CScanningTunner::get_SignalStrength : NotImplemented\n");
185 CScanningTunner::TriggerSignalEvents(
188 OutputDebugStringW(L
"CScanningTunner::TriggerSignalEvents : NotImplemented\n");
192 //-------------------------------------------------------------------
196 CScanningTunner::SeekUp()
198 OutputDebugStringW(L
"CScanningTunner::SeekUp : NotImplemented\n");
204 CScanningTunner::SeekDown()
206 OutputDebugStringW(L
"CScanningTunner::SeekDown : NotImplemented\n");
212 CScanningTunner::ScanUp(
213 long MillisecondsPause
)
215 OutputDebugStringW(L
"CScanningTunner::ScanUp : NotImplemented\n");
221 CScanningTunner::ScanDown(
222 long MillisecondsPause
)
224 OutputDebugStringW(L
"CScanningTunner::ScanDown : NotImplemented\n");
230 CScanningTunner::AutoProgram()
232 OutputDebugStringW(L
"CScanningTunner::AutoProgram : NotImplemented\n");
238 CScanningTunner_fnConstructor(
243 CScanningTunner
* handler
= new CScanningTunner();
246 WCHAR Buffer
[MAX_PATH
];
248 StringFromCLSID(riid
, &lpstr
);
249 swprintf(Buffer
, L
"CScanningTunner_fnConstructor riid %s pUnknown %p\n", lpstr
, pUnknown
);
250 OutputDebugStringW(Buffer
);
254 return E_OUTOFMEMORY
;
256 if (FAILED(handler
->QueryInterface(riid
, ppv
)))
260 return E_NOINTERFACE
;