#ifndef _PROTO_IMAGEADVISESINK_HPP_ #define _PROTO_IMAGEADVISESINK_HPP_ #ifndef _COMMON_CALLBACK_HPP_ #include #endif #ifndef _COM_ADVISESINK_HPP_ #include #endif class ImageAdviseSink : public AdviseSink { 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