winamp/Src/Plugins/Library/ml_impex/api_importer.h
2024-09-24 14:54:57 +02:00

53 lines
1.5 KiB
C++

#pragma once
#include <bfc/dispatch.h>
#include <api/service/services.h>
// {A32C39BC-CDF7-4c9b-9EA2-9DF7E0D651D2}
static const GUID iTunesImporterGUID =
{ 0xa32c39bc, 0xcdf7, 0x4c9b, { 0x9e, 0xa2, 0x9d, 0xf7, 0xe0, 0xd6, 0x51, 0xd2 } };
class api_itunes_importer : public Dispatchable
{
protected:
api_itunes_importer() {}
~api_itunes_importer() {}
public:
static FOURCC getServiceType() { return WaSvc::UNIQUE; }
static const char *getServiceName() { return "iTunes Importer Service"; }
static GUID getServiceGuid() { return iTunesImporterGUID; }
bool iTunesExists();
int ImportFromFile(HWND parent, const wchar_t *library_file);
int ImportFromiTunes(HWND parent);
int ImportPlaylistsFromiTunes(HWND parent);
enum
{
API_ITUNES_IMPORTER_ITUNESEXISTS = 0,
API_ITUNES_IMPORTER_IMPORTFROMFILE = 1,
API_ITUNES_IMPORTER_IMPORTFROMITUNES = 2,
API_ITUNES_IMPORTER_IMPORTPLAYLISTSFROMITUNES = 3,
};
};
inline bool api_itunes_importer::iTunesExists()
{
return _call(API_ITUNES_IMPORTER_ITUNESEXISTS, (bool)false);
}
inline int api_itunes_importer::ImportFromFile(HWND parent, const wchar_t *library_file)
{
return _call(API_ITUNES_IMPORTER_IMPORTFROMFILE, (int)DISPATCH_FAILURE, parent, library_file);
}
inline int api_itunes_importer::ImportFromiTunes(HWND parent)
{
return _call(API_ITUNES_IMPORTER_IMPORTFROMITUNES, (int)DISPATCH_FAILURE, parent);
}
inline int api_itunes_importer::ImportPlaylistsFromiTunes(HWND parent)
{
return _call(API_ITUNES_IMPORTER_IMPORTPLAYLISTSFROMITUNES, (int)DISPATCH_FAILURE, parent);
}