Pleora Technologies Inc. eBUS SDK v6.2.8.5877 API



PvDSSource.h
1 // *****************************************************************************
2 //
3 // Copyright (c) 2012, Pleora Technologies Inc., All rights reserved.
4 //
5 // *****************************************************************************
6 
7 #pragma once
8 
9 #include "IPvDSSource.h"
10 
11 
12 class PvDSSource :
13  public CSource,
14  public ISpecifyPropertyPages,
15  public CPersistStream,
16  public IPvDSSource,
17  public IAMDroppedFrames
18 {
19 public:
20 
21  DECLARE_IUNKNOWN;
22  static CUnknown * WINAPI CreateInstance( LPUNKNOWN lpunk, HRESULT *phr );
23  STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void ** ppv);
24 
25  IFilterGraph *GetGraph()
26  {
27  return m_pGraph;
28  }
29 
30  STDMETHODIMP GetClassID( CLSID *pClsid );
31 
32  // ISpecifyPropertyPages interface
33  STDMETHODIMP GetPages( CAUUID *pPages );
34 
35  // IAMDroppedFrames
36  STDMETHODIMP GetNumDropped( long *plDropped );
37  STDMETHODIMP GetNumNotDropped( long *plNotDropped );
38  STDMETHODIMP GetDroppedInfo( long lSize, long *plArray, long *plNumCopied );
39  STDMETHODIMP GetAverageFrameSize( long *plAverageSize);
40 
41  // CPersistStream override
42  HRESULT WriteToStream( IStream *pStream );
43  HRESULT ReadFromStream( IStream *pStream );
44  int SizeMax();
45 
46  // Role
47  STDMETHODIMP get_Role( int *role );
48  STDMETHODIMP put_Role( int role );
49  STDMETHODIMP get_UnicastPort( int *port );
50  STDMETHODIMP put_UnicastPort( int port );
51  STDMETHODIMP get_MulticastIP( BSTR *ip );
52  STDMETHODIMP put_MulticastIP( BSTR ip );
53  STDMETHODIMP get_MulticastPort( int *port );
54  STDMETHODIMP put_MulticastPort( int port );
55 
56  // Diagnostic
57  STDMETHODIMP get_DiagnosticEnabled( BOOL *enabled );
58  STDMETHODIMP put_DiagnosticEnabled( BOOL enabled );
59 
60  // DeviceID
61  STDMETHODIMP get_DeviceID( BSTR *deviceid );
62  STDMETHODIMP put_DeviceID( BSTR deviceid );
63  STDMETHODIMP DisconnectDevice();
64  STDMETHODIMP ConnectIfNeeded();
65  STDMETHODIMP ConnectIfNeededEx ( void * );
66 
67  // Source
68  STDMETHODIMP get_SourceCount( int *sourcecount );
69  STDMETHODIMP get_SourceName( int aIndex, BSTR *sourcename );
70  STDMETHODIMP get_Source( BSTR *source );
71  STDMETHODIMP put_Source( BSTR source );
72  STDMETHODIMP get_Channel( int *channel );
73  STDMETHODIMP put_Channel( int channel );
74 
75  // Options
76  STDMETHODIMP get_BufferCount( int *count );
77  STDMETHODIMP put_BufferCount( int count );
78  STDMETHODIMP get_DefaultBufferSize( int *size );
79  STDMETHODIMP put_DefaultBufferSize( int size );
80  STDMETHODIMP get_DropThreshold( int *threshold );
81  STDMETHODIMP put_DropThreshold( int threshold );
82  STDMETHODIMP get_Width( int *width );
83  STDMETHODIMP put_Width( int width );
84  STDMETHODIMP get_Height( int *height );
85  STDMETHODIMP put_Height( int height );
86 
87  // GenICam
88  STDMETHODIMP get_ParametersSelector( int *selector );
89  STDMETHODIMP put_ParametersSelector( int selector );
90  STDMETHODIMP get_ParametersAvailable( BOOL *available );
91  STDMETHODIMP get_ParameterCount( int *count );
92  STDMETHODIMP get_ParameterName( int index, BSTR *name );
93  STDMETHODIMP get_ParameterCategory( BSTR name, BSTR *category );
94  STDMETHODIMP get_ParameterValue( BSTR name, BSTR *value );
95  STDMETHODIMP put_ParameterValue( BSTR name, BSTR value, BSTR *message );
96  STDMETHODIMP get_ParameterType ( BSTR name, BSTR *type );
97  STDMETHODIMP get_ParameterAccess( BSTR name, BOOL *available, BOOL *readable, BOOL *writable );
98  STDMETHODIMP ParameterExecute( BSTR name, BSTR *message );
99  STDMETHODIMP get_ParameterPossibleValueCount( BSTR name, int *count );
100  STDMETHODIMP get_ParameterPossibleValue( BSTR name, int index, BSTR *value );
101  STDMETHODIMP get_ParameterVisibility( BSTR name, int *visibility );
102 
103  STDMETHODIMP get_OutputPixelType( int *OutputPixelType );
104  STDMETHODIMP put_OutputPixelType( int OutputPixelType );
105 
106  STDMETHODIMP get_KernelSize( int *KernelSize );
107  STDMETHODIMP put_KernelSize( int KernelSize );
108 
109  STDMETHODIMP get_ZoomValue( int *ZoomValue );
110  STDMETHODIMP put_ZoomValue( int ZoomValue );
111 
112  STDMETHODIMP get_OutputResolution( int *Width, int *Height );
113  STDMETHODIMP put_OutputResolution( int Width, int Height );
114 
115  STDMETHODIMP MakeDefault();
116  STDMETHODIMP ResetDefault();
117  STDMETHODIMP get_DefaultSummary( BSTR *summary );
118 
119 private:
120 
121  PvDSSource( LPUNKNOWN lpunk, HRESULT *phr );
122 
123 };
124 
125 
PvDSSource::NonDelegatingQueryInterface
STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void **ppv)
Reveals control interface and property pages interface.
Definition: PvDSSource.cpp:39
PvDSSource::GetPages
STDMETHODIMP GetPages(CAUUID *pPages)
Returns the clsid's of the property pages we support.
Definition: PvDSSource.cpp:104
PvDSSource::CreateInstance
static CUnknown *WINAPI CreateInstance(LPUNKNOWN lpunk, HRESULT *phr)
CreateInstance.
Definition: PvDSSource.cpp:28
PvDSSource
Definition: PvDSSource.h:12
PvDSSource::ReadFromStream
HRESULT ReadFromStream(IStream *pStream)
IPersist, likewise overriden to restore our state from a stream.
Definition: PvDSSource.cpp:152
PvDSSource::GetClassID
STDMETHODIMP GetClassID(CLSID *pClsid)
Class ID.
Definition: PvDSSource.cpp:86
IPvDSSource
COM interface to the eBUS SDK DirectShow Source filter, PvDSSource.
Definition: IPvDSSource.cpp:102
PvDSSource::WriteToStream
HRESULT WriteToStream(IStream *pStream)
IPersist, overriden to write our state into a stream.
Definition: PvDSSource.cpp:130
PvDSSource::SizeMax
int SizeMax()
Maximum size of stream data.
Definition: PvDSSource.cpp:176

Copyright (c) 2002-2021 Pleora Technologies Inc.
www.pleora.com