⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vlccontrol2.h

📁 VLC Player Source Code
💻 H
📖 第 1 页 / 共 2 页
字号:
private:    VLCPlugin*  _p_instance;    ITypeInfo*  _p_typeinfo;}; class VLCLog : public IVLCLog{public:    friend class VLCMessages;    friend class VLCMessageIterator;    VLCLog(VLCPlugin *p_instance) :        _p_log(NULL),        _p_instance(p_instance),        _p_typeinfo(NULL),        _p_vlcmessages(NULL)    {        _p_vlcmessages = new VLCMessages(p_instance, this);    };    virtual ~VLCLog();    // IUnknown methods    STDMETHODIMP QueryInterface(REFIID riid, void **ppv)    {        if( NULL == ppv )          return E_POINTER;        if( (IID_IUnknown == riid)         || (IID_IDispatch == riid)         || (IID_IVLCLog == riid) )        {            AddRef();            *ppv = reinterpret_cast<LPVOID>(this);            return NOERROR;        }        // behaves as a standalone object        return E_NOINTERFACE;    };    STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); };    STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); };    // IDispatch methods    STDMETHODIMP GetTypeInfoCount(UINT*);    STDMETHODIMP GetTypeInfo(UINT, LCID, LPTYPEINFO*);    STDMETHODIMP GetIDsOfNames(REFIID,LPOLESTR*,UINT,LCID,DISPID*);    STDMETHODIMP Invoke(DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);    // IVLCLog methods    STDMETHODIMP get_messages(IVLCMessages**);    STDMETHODIMP get_verbosity(long *);    STDMETHODIMP put_verbosity(long);protected:    HRESULT loadTypeInfo();    libvlc_log_t    *_p_log;private:    VLCPlugin*      _p_instance;    ITypeInfo*      _p_typeinfo;    VLCMessages*    _p_vlcmessages;};class VLCPlaylistItems : public IVLCPlaylistItems{public:    VLCPlaylistItems(VLCPlugin *p_instance) :        _p_instance(p_instance), _p_typeinfo(NULL) {};    virtual ~VLCPlaylistItems();    // IUnknown methods    STDMETHODIMP QueryInterface(REFIID riid, void **ppv)    {        if( NULL == ppv )          return E_POINTER;        if( (IID_IUnknown == riid)         || (IID_IDispatch == riid)         || (IID_IVLCPlaylistItems == riid) )        {            AddRef();            *ppv = reinterpret_cast<LPVOID>(this);            return NOERROR;        }        // behaves as a standalone object        return E_NOINTERFACE;    };    STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); };    STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); };    // IDispatch methods    STDMETHODIMP GetTypeInfoCount(UINT*);    STDMETHODIMP GetTypeInfo(UINT, LCID, LPTYPEINFO*);    STDMETHODIMP GetIDsOfNames(REFIID,LPOLESTR*,UINT,LCID,DISPID*);    STDMETHODIMP Invoke(DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);    // IVLCPlaylistItems methods    STDMETHODIMP get_count(long*);    STDMETHODIMP clear();    STDMETHODIMP remove(long);protected:    HRESULT loadTypeInfo();private:    VLCPlugin*  _p_instance;    ITypeInfo*  _p_typeinfo;};class VLCPlaylist : public IVLCPlaylist{public:    VLCPlaylist(VLCPlugin *p_instance) :        _p_instance(p_instance),        _p_typeinfo(NULL),        _p_vlcplaylistitems(NULL)    {        _p_vlcplaylistitems = new VLCPlaylistItems(p_instance);    };    virtual ~VLCPlaylist();    // IUnknown methods    STDMETHODIMP QueryInterface(REFIID riid, void **ppv)    {        if( NULL == ppv )          return E_POINTER;        if( (IID_IUnknown == riid)         || (IID_IDispatch == riid)         || (IID_IVLCPlaylist == riid) )        {            AddRef();            *ppv = reinterpret_cast<LPVOID>(this);            return NOERROR;        }        // behaves as a standalone object        return E_NOINTERFACE;    };    STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); };    STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); };    // IDispatch methods    STDMETHODIMP GetTypeInfoCount(UINT*);    STDMETHODIMP GetTypeInfo(UINT, LCID, LPTYPEINFO*);    STDMETHODIMP GetIDsOfNames(REFIID,LPOLESTR*,UINT,LCID,DISPID*);    STDMETHODIMP Invoke(DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);    // IVLCPlaylist methods    STDMETHODIMP get_itemCount(long*);    STDMETHODIMP get_isPlaying(VARIANT_BOOL*);    STDMETHODIMP add(BSTR, VARIANT, VARIANT, long*);    STDMETHODIMP play();    STDMETHODIMP playItem(long);    STDMETHODIMP togglePause();    STDMETHODIMP stop();    STDMETHODIMP next();    STDMETHODIMP prev();    STDMETHODIMP clear();    STDMETHODIMP removeItem(long);    STDMETHODIMP get_items(IVLCPlaylistItems**);protected:    HRESULT loadTypeInfo();private:    VLCPlugin*  _p_instance;    ITypeInfo*  _p_typeinfo;    VLCPlaylistItems*    _p_vlcplaylistitems;};class VLCVideo : public IVLCVideo{public:    VLCVideo(VLCPlugin *p_instance) :        _p_instance(p_instance), _p_typeinfo(NULL) {};    virtual ~VLCVideo();    // IUnknown methods    STDMETHODIMP QueryInterface(REFIID riid, void **ppv)    {        if( NULL == ppv )          return E_POINTER;        if( (IID_IUnknown == riid)         || (IID_IDispatch == riid)         || (IID_IVLCVideo == riid) )        {            AddRef();            *ppv = reinterpret_cast<LPVOID>(this);            return NOERROR;        }        // behaves as a standalone object        return E_NOINTERFACE;    };    STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); };    STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); };    // IDispatch methods    STDMETHODIMP GetTypeInfoCount(UINT*);    STDMETHODIMP GetTypeInfo(UINT, LCID, LPTYPEINFO*);    STDMETHODIMP GetIDsOfNames(REFIID,LPOLESTR*,UINT,LCID,DISPID*);    STDMETHODIMP Invoke(DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);    // IVLCVideo methods    STDMETHODIMP get_fullscreen(VARIANT_BOOL*);    STDMETHODIMP put_fullscreen(VARIANT_BOOL);    STDMETHODIMP get_width(long*);    STDMETHODIMP get_height(long*);    STDMETHODIMP get_aspectRatio(BSTR*);    STDMETHODIMP put_aspectRatio(BSTR);    STDMETHODIMP get_subtitle(long*);    STDMETHODIMP put_subtitle(long);    STDMETHODIMP get_crop(BSTR*);    STDMETHODIMP put_crop(BSTR);    STDMETHODIMP get_teletext(long*);    STDMETHODIMP put_teletext(long);    STDMETHODIMP takeSnapshot(LPPICTUREDISP*);    STDMETHODIMP toggleFullscreen();    STDMETHODIMP toggleTeletext();protected:    HRESULT loadTypeInfo();private:    VLCPlugin*      _p_instance;    ITypeInfo*      _p_typeinfo;};class VLCControl2 : public IVLCControl2{public:    VLCControl2(VLCPlugin *p_instance);    virtual ~VLCControl2();    // IUnknown methods    STDMETHODIMP QueryInterface(REFIID riid, void **ppv)    {        if( NULL == ppv )          return E_POINTER;        if( (IID_IUnknown == riid)         || (IID_IDispatch == riid)         || (IID_IVLCControl2 == riid) )        {            AddRef();            *ppv = reinterpret_cast<LPVOID>(this);            return NOERROR;        }        return _p_instance->pUnkOuter->QueryInterface(riid, ppv);    };    STDMETHODIMP_(ULONG) AddRef(void) { return _p_instance->pUnkOuter->AddRef(); };    STDMETHODIMP_(ULONG) Release(void) { return _p_instance->pUnkOuter->Release(); };    // IDispatch methods    STDMETHODIMP GetTypeInfoCount(UINT*);    STDMETHODIMP GetTypeInfo(UINT, LCID, LPTYPEINFO*);    STDMETHODIMP GetIDsOfNames(REFIID,LPOLESTR*,UINT,LCID,DISPID*);    STDMETHODIMP Invoke(DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*);    // IVLCControl2 methods    STDMETHODIMP get_AutoLoop(VARIANT_BOOL *autoloop);    STDMETHODIMP put_AutoLoop(VARIANT_BOOL autoloop);    STDMETHODIMP get_AutoPlay(VARIANT_BOOL *autoplay);    STDMETHODIMP put_AutoPlay(VARIANT_BOOL autoplay);    STDMETHODIMP get_BaseURL(BSTR *url);    STDMETHODIMP put_BaseURL(BSTR url);    STDMETHODIMP get_MRL(BSTR *mrl);    STDMETHODIMP put_MRL(BSTR mrl);    STDMETHODIMP get_Toolbar(VARIANT_BOOL *visible);    STDMETHODIMP put_Toolbar(VARIANT_BOOL visible);    STDMETHODIMP get_StartTime(long *seconds);    STDMETHODIMP put_StartTime(long seconds);    STDMETHODIMP get_VersionInfo(BSTR *version);    STDMETHODIMP get_Visible(VARIANT_BOOL *visible);    STDMETHODIMP put_Visible(VARIANT_BOOL visible);    STDMETHODIMP get_Volume(long *volume);    STDMETHODIMP put_Volume(long volume);    STDMETHODIMP get_BackColor(OLE_COLOR *backcolor);    STDMETHODIMP put_BackColor(OLE_COLOR backcolor);    STDMETHODIMP get_audio(IVLCAudio**);    STDMETHODIMP get_input(IVLCInput**);    STDMETHODIMP get_log(IVLCLog**);    STDMETHODIMP get_playlist(IVLCPlaylist**);    STDMETHODIMP get_video(IVLCVideo**);protected:    HRESULT loadTypeInfo();private:    VLCPlugin*      _p_instance;    ITypeInfo*      _p_typeinfo;    VLCAudio*       _p_vlcaudio;    VLCInput*       _p_vlcinput;    VLCLog  *       _p_vlclog;    VLCPlaylist*    _p_vlcplaylist;    VLCVideo*       _p_vlcvideo;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -