Files
Work/proto/source/ImageAdviseSink.hpp
2024-08-07 09:16:27 -04:00

44 lines
949 B
C++

#ifndef _PROTO_IMAGEADVISESINK_HPP_
#define _PROTO_IMAGEADVISESINK_HPP_
#ifndef _COMMON_CALLBACK_HPP_
#include <common/callback.hpp>
#endif
#ifndef _COM_ADVISESINK_HPP_
#include <com/advisesink.hpp>
#endif
class ImageAdviseSink : public AdviseSink<IImageNotify,&IID_IImageNotify,&LIBID_REMOTEPSEVENTLib>
{
public:
ImageAdviseSink(void);
virtual ~ImageAdviseSink();
void setHandler(PureCallback *pCallback);
private:
virtual HRESULT __stdcall ImageNotify(VARIANT *pVariant);
CallbackPointer mAdviseHandler;
};
inline
ImageAdviseSink::ImageAdviseSink(void)
{
}
inline
ImageAdviseSink::~ImageAdviseSink()
{
}
inline
void ImageAdviseSink::setHandler(PureCallback *pCallback)
{
mAdviseHandler=CallbackPointer(pCallback);
}
inline
HRESULT ImageAdviseSink::ImageNotify(VARIANT *pVariant)
{
::OutputDebugString("ImageAdviseSink::ImageNotify\n");
mAdviseHandler.callback(CallbackData(0,(DWORD)pVariant));
return ComResult::Success;
}
#endif