mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-16 17:05:46 -04:00
Initial community commit
This commit is contained in:
30
Src/playlist/JSAPI2_Playlists.h
Normal file
30
Src/playlist/JSAPI2_Playlists.h
Normal file
@ -0,0 +1,30 @@
|
||||
#pragma once
|
||||
|
||||
#include <ocidl.h>
|
||||
#include <atomic>
|
||||
#include "../Winamp/JSAPI_Info.h"
|
||||
|
||||
namespace JSAPI2
|
||||
{
|
||||
class PlaylistsAPI : public IDispatch
|
||||
{
|
||||
public:
|
||||
PlaylistsAPI(const wchar_t *_key, JSAPI::ifc_info *info);
|
||||
STDMETHOD(QueryInterface)(REFIID riid, PVOID *ppvObject);
|
||||
STDMETHOD_(ULONG, AddRef)(void);
|
||||
STDMETHOD_(ULONG, Release)(void);
|
||||
// *** IDispatch Methods ***
|
||||
STDMETHOD (GetIDsOfNames)(REFIID riid, OLECHAR FAR* FAR* rgszNames, unsigned int cNames, LCID lcid, DISPID FAR* rgdispid);
|
||||
STDMETHOD (GetTypeInfo)(unsigned int itinfo, LCID lcid, ITypeInfo FAR* FAR* pptinfo);
|
||||
STDMETHOD (GetTypeInfoCount)(unsigned int FAR * pctinfo);
|
||||
STDMETHOD (Invoke)(DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, EXCEPINFO FAR * pexecinfo, unsigned int FAR *puArgErr);
|
||||
private:
|
||||
const wchar_t *key;
|
||||
volatile std::atomic<std::size_t> _refCount = 1;
|
||||
JSAPI::ifc_info *info;
|
||||
|
||||
STDMETHOD (GetPlaylists)(WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, unsigned int FAR *puArgErr);
|
||||
STDMETHOD (OpenPlaylist)(WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, unsigned int FAR *puArgErr);
|
||||
STDMETHOD (SavePlaylist)(WORD wFlags, DISPPARAMS FAR *pdispparams, VARIANT FAR *pvarResult, unsigned int FAR *puArgErr);
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user