/*
* WMPLibraryServices.h
* Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED.
*/
// SOL9
// 2011/12/07
#pragma once
#include <sol/wmp/WMPObject.h>
namespace SOL {
class WMPLibraryServices :public WMPObject {
private:
IWMPLibraryServicesPtr services;
public:
WMPLibraryServices()
:services(NULL)
{
}
public:
WMPLibraryServices(IWMPLibraryServicesPtr ptr)
:services(ptr)
{
if(ptr == NULL) {
throw NullPointerException("IWMPLibraryServicesPtr is NULL", 0);
}
}
public:
~WMPLibraryServices()
{
services = NULL;
}
public:
void set(IWMPLibraryServices* serv)
{
services = serv;
}
/*
enum WMPLibraryType
{
wmpltUnknown = 0,
wmpltAll = 1,
wmpltLocal = 2,
wmpltRemote = 3,
wmpltDisc = 4,
wmpltPortableDevice = 5
};
*/
public:
long getCountByType(enum WMPLibraryType wmplt)
{
return services->getCountByType(wmplt);
}
public:
long getAllLibraryCount()
{
return services->getCountByType(wmpltAll);
}
public:
long getLocalLibraryCount()
{
return services->getCountByType(wmpltLocal);
}
public:
long getRemoteLibraryCount()
{
return services->getCountByType(wmpltRemote);
}
public:
long getPortableDeviceLibraryCount()
{
return services->getCountByType(wmpltPortableDevice);
}
public:
long getDiscLibraryCount()
{
return services->getCountByType(wmpltDisc);
}
public:
IWMPLibraryPtr getLibraryByType(enum WMPLibraryType wmplt,long lIndex)
{
return services->getLibraryByType(wmplt,
lIndex);
}
public:
IWMPLibraryPtr getAllLibrary(long lIndex = 0)
{
return services->getLibraryByType( wmpltAll,
lIndex);
}
public:
IWMPLibraryPtr getLocalLibrary(long lIndex = 0)
{
return services->getLibraryByType(wmpltLocal,
lIndex);
}
public:
IWMPLibraryPtr getDiscLibrary(long lIndex = 0)
{
return services->getLibraryByType(wmpltDisc,
lIndex);
}
public:
IWMPLibraryPtr getPortableDeviceLibrary(long lIndex = 0)
{
return services->getLibraryByType(wmpltPortableDevice,
lIndex);
}
};
}
|