mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-09-24 15:54:12 +00:00
110 lines
3.4 KiB
C
110 lines
3.4 KiB
C
|
// ----------------------------------------------------------------------------
|
||
|
// Generated by InterfaceFactory [Wed May 07 00:57:16 2003]
|
||
|
//
|
||
|
// File : waservicefactory.h
|
||
|
// Class : waServiceFactory
|
||
|
// class layer : Dispatchable Interface
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef __WASERVICEFACTORY_H
|
||
|
#define __WASERVICEFACTORY_H
|
||
|
|
||
|
#include <bfc/dispatch.h>
|
||
|
#include <bfc/nsguid.h>
|
||
|
#include "api_service.h"
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
class NOVTABLE waServiceFactory : public Dispatchable
|
||
|
{
|
||
|
protected:
|
||
|
waServiceFactory() throw( ) {}
|
||
|
~waServiceFactory() {}
|
||
|
|
||
|
public:
|
||
|
FOURCC getServiceType();
|
||
|
const char *getServiceName();
|
||
|
GUID getGuid();
|
||
|
const wchar_t *getTestString();
|
||
|
|
||
|
void *getInterface( int global_lock = TRUE );
|
||
|
int releaseInterface( void *ifc );
|
||
|
|
||
|
int supportNonLockingGetInterface();
|
||
|
int serviceNotify( int msg, intptr_t param1 = 0, intptr_t param2 = 0 );
|
||
|
|
||
|
protected:
|
||
|
enum
|
||
|
{
|
||
|
WASERVICEFACTORY_GETSERVICETYPE = 100,
|
||
|
WASERVICEFACTORY_GETSERVICENAME = 200,
|
||
|
WASERVICEFACTORY_GETGUID = 210,
|
||
|
WASERVICEFACTORY_GETINTERFACE = 300,
|
||
|
WASERVICEFACTORY_SUPPORTNONLOCKINGGETINTERFACE = 301,
|
||
|
WASERVICEFACTORY_RELEASEINTERFACE = 310,
|
||
|
WASERVICEFACTORY_GETTESTSTRING = 500,
|
||
|
WASERVICEFACTORY_SERVICENOTIFY = 600,
|
||
|
};
|
||
|
};
|
||
|
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
inline FOURCC waServiceFactory::getServiceType()
|
||
|
{
|
||
|
FOURCC __retval = _call( WASERVICEFACTORY_GETSERVICETYPE, (FOURCC)NULL );
|
||
|
return __retval;
|
||
|
}
|
||
|
|
||
|
inline const char *waServiceFactory::getServiceName()
|
||
|
{
|
||
|
const char *__retval = _call( WASERVICEFACTORY_GETSERVICENAME, (const char *)0 );
|
||
|
return __retval;
|
||
|
}
|
||
|
|
||
|
inline GUID waServiceFactory::getGuid()
|
||
|
{
|
||
|
GUID __retval = _call( WASERVICEFACTORY_GETGUID, INVALID_GUID );
|
||
|
return __retval;
|
||
|
}
|
||
|
|
||
|
inline const wchar_t *waServiceFactory::getTestString()
|
||
|
{
|
||
|
return _call( WASERVICEFACTORY_GETTESTSTRING, (const wchar_t *)0 );
|
||
|
}
|
||
|
|
||
|
|
||
|
inline void *waServiceFactory::getInterface( int global_lock )
|
||
|
{
|
||
|
void *__retval = _call( WASERVICEFACTORY_GETINTERFACE, (void *)NULL, global_lock );
|
||
|
|
||
|
#if 0 // unused in Winamp 5
|
||
|
// -- generated code - edit in waservicefactoryi.h
|
||
|
// support old code that always locks even when global_lock==FALSE
|
||
|
if ( !global_lock && __retval != NULL && !supportNonLockingGetInterface() )
|
||
|
WASABI_API_SVC->service_unlock( __retval );
|
||
|
#endif
|
||
|
return __retval;
|
||
|
}
|
||
|
|
||
|
inline int waServiceFactory::releaseInterface( void *ifc )
|
||
|
{
|
||
|
int __retval = _call( WASERVICEFACTORY_RELEASEINTERFACE, (int)0, ifc );
|
||
|
return __retval;
|
||
|
}
|
||
|
|
||
|
|
||
|
inline int waServiceFactory::supportNonLockingGetInterface()
|
||
|
{
|
||
|
int __retval = _call( WASERVICEFACTORY_SUPPORTNONLOCKINGGETINTERFACE, (int)0 );
|
||
|
return __retval;
|
||
|
}
|
||
|
|
||
|
inline int waServiceFactory::serviceNotify( int msg, intptr_t param1, intptr_t param2 )
|
||
|
{
|
||
|
int __retval = _call( WASERVICEFACTORY_SERVICENOTIFY, (int)0, msg, param1, param2 );
|
||
|
return __retval;
|
||
|
}
|
||
|
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
#endif // __WASERVICEFACTORY_H
|