winamp/Src/Wasabi/api/service/svcs/svc_player.h

36 lines
976 B
C++

#ifndef _SVC_PLAYER_H
#define _SVC_PLAYER_H
#include <bfc/dispatch.h>
#include <api/service/services.h>
class api_window;
class svc_player {
public:
static const char *getServiceName() { return "Standard player service"; }
static int getServiceType() { return WaSvc::UNIQUE; }
static GUID getServiceGuid() {
// {9DE79C4A-B9E6-46f4-9AE2-40E0F09CCA51}
const GUID guid =
{ 0x9de79c4a, 0xb9e6, 0x46f4, { 0x9a, 0xe2, 0x40, 0xe0, 0xf0, 0x9c, 0xca, 0x51 } };
return guid;
}
virtual void openFile(const char *filename, FOURCC droptarg=MK3CC('d','e','f'))=0;
virtual void openFiles(api_window *parent=NULL, const char *type=NULL, FOURCC droptarg=MK3CC('d','e','f'))=0;
};
class svc_playerI : public svc_player {
};
#include <api/service/servicei.h>
template <class T>
class PlayerCreator : public waServiceFactoryTSingle<svc_player, T> {
public:
PlayerCreator() : waServiceFactoryTSingle<svc_player, T>(svc_player::getServiceGuid()) {}
};
#endif