Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef __NmChannelAudio_h__
#define __NmChannelAudio_h__
/////////////////////////////////////////////////////////////////////////////
// CNmChannelAudioObj
class ATL_NO_VTABLE CNmChannelAudioObj : public CComObjectRootEx<CComSingleThreadModel>, public IConnectionPointContainerImpl<CNmChannelAudioObj>, public IConnectionPointImpl<CNmChannelAudioObj, &IID_INmChannelNotify, CComDynamicUnkArray>, public IConnectionPointImpl<CNmChannelAudioObj, &IID_INmChannelAudioNotify, CComDynamicUnkArray>, public INmChannelAudio, public INmChannelAudioNotify, public IInternalChannelObj {
protected: bool m_bIsIncoming;
public:
DECLARE_NO_REGISTRY() DECLARE_NOT_AGGREGATABLE(CNmChannelAudioObj)
BEGIN_COM_MAP(CNmChannelAudioObj) COM_INTERFACE_ENTRY(INmChannel) COM_INTERFACE_ENTRY(INmChannelAudio) COM_INTERFACE_ENTRY(INmChannelNotify) COM_INTERFACE_ENTRY(INmChannelAudioNotify) COM_INTERFACE_ENTRY(IInternalChannelObj) COM_INTERFACE_ENTRY(IConnectionPointContainer) END_COM_MAP()
BEGIN_CONNECTION_POINT_MAP(CNmChannelAudioObj) CONNECTION_POINT_ENTRY(IID_INmChannelNotify) CONNECTION_POINT_ENTRY(IID_INmChannelAudioNotify) END_CONNECTION_POINT_MAP()
// Construction and destruection
CNmChannelAudioObj(); ~CNmChannelAudioObj(); static HRESULT CreateInstance(CNmConferenceObj* pConfObj, INmChannel** ppChannel, bool bIsIncoming);
// InmChannelAudio methods
STDMETHOD(IsIncoming)(void); STDMETHOD(GetState)(NM_AUDIO_STATE *puState); STDMETHOD(GetProperty)(NM_AUDPROP uID,ULONG_PTR *puValue); STDMETHOD(SetProperty)(NM_AUDPROP uID,ULONG_PTR uValue);
// INmChannelAudioNotify methods
STDMETHOD(StateChanged)(NM_AUDIO_STATE uState); STDMETHOD(PropertyChanged)(DWORD dwReserved);
// IInternalChannelObj methods
STDMETHOD(GetInternalINmChannel)(INmChannel** ppChannel); STDMETHOD(ChannelRemoved)();
// Helpers
HRESULT Fire_MemberChanged(NM_MEMBER_NOTIFY uNotify, INmMember *pMember); HRESULT Fire_StateChanged(NM_AUDIO_STATE uState); HRESULT Fire_PropertyChanged(DWORD dwReserved); void _OnActivate(bool bActive) {;}
virtual CNmConferenceObj* GetConfObj() = 0; virtual void RemoveMembers() = 0; virtual BOOL GetbActive() = 0; virtual bool IsChannelValid() = 0;
STDMETHOD(Activate)(BOOL bActive);
HRESULT _IsActive(); HRESULT _SetActive(BOOL bActive); };
#endif // __NmChannelAudio_h__
|