Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
184
Src/Wasabi/api/service/api_service.h
Normal file
184
Src/Wasabi/api/service/api_service.h
Normal file
|
@ -0,0 +1,184 @@
|
|||
// ----------------------------------------------------------------------------
|
||||
// Generated by InterfaceFactory [Wed May 07 00:56:11 2003]
|
||||
//
|
||||
// File : api_service.h
|
||||
// Class : api_service
|
||||
// class layer : Dispatchable Interface
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#ifndef __API_SERVICE_H
|
||||
#define __API_SERVICE_H
|
||||
|
||||
#include "bfc/dispatch.h"
|
||||
#include "bfc/platform/types.h"
|
||||
|
||||
namespace SvcNotify
|
||||
{
|
||||
enum
|
||||
{
|
||||
ONREGISTERED = 100, // init yourself here -- not all other services are registered yet
|
||||
ONSTARTUP = 200, // everyone is initialized, safe to talk to other services
|
||||
ONAPPRUNNING = 210, // app is showing and processing events
|
||||
ONSHUTDOWN = 300, // studio is shutting down, release resources from other services
|
||||
ONDEREGISTERED = 400, // bye bye
|
||||
ONDBREADCOMPLETE = 500, // after db is read in (happens asynchronously after ONSTARTUP)
|
||||
ONBEFORESHUTDOWN = 600, // system is about to shutdown, call WASABI_API_APP->main_cancelShutdown() to cancel
|
||||
};
|
||||
}
|
||||
|
||||
class waServiceFactory;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class NOVTABLE api_service : public Dispatchable
|
||||
{
|
||||
protected:
|
||||
api_service() {}
|
||||
~api_service() {}
|
||||
|
||||
public:
|
||||
int service_register( waServiceFactory *svc );
|
||||
int service_deregister( waServiceFactory *svc );
|
||||
|
||||
size_t service_getNumServices( FOURCC svc_type );
|
||||
waServiceFactory *service_enumService( FOURCC svc_type, size_t n );
|
||||
|
||||
waServiceFactory *service_getServiceByGuid( GUID guid );
|
||||
|
||||
int service_lock( waServiceFactory *owner, void *svcptr );
|
||||
int service_clientLock( void *svcptr );
|
||||
int service_release( void *svcptr );
|
||||
const char *service_getTypeName( FOURCC svc_type );
|
||||
|
||||
#ifdef WASABI_COMPILE_COMPONENTS
|
||||
GUID service_getOwningComponent( void *svcptr );
|
||||
GUID service_getLockingComponent( void *svcptr );
|
||||
#endif // WASABI_COMPILE_COMPONENTS
|
||||
|
||||
int service_unlock( void *svcptr );
|
||||
int service_isvalid( FOURCC svctype, waServiceFactory *service );
|
||||
// removes "me" from the services list and finds a second service with the same GUID and puts it in the same position
|
||||
// this is used by the lazy loader service factory - you shouldn't need it for any other purposes.
|
||||
// returns 0 if compaction actually happened
|
||||
int service_compactDuplicates( waServiceFactory *me );
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
API_SERVICE_SERVICE_REGISTER = 10,
|
||||
API_SERVICE_SERVICE_DEREGISTER = 20,
|
||||
API_SERVICE_SERVICE_GETNUMSERVICES = 30,
|
||||
API_SERVICE_SERVICE_ENUMSERVICE = 40,
|
||||
API_SERVICE_SERVICE_GETSERVICEBYGUID = 50,
|
||||
API_SERVICE_SERVICE_LOCK = 60,
|
||||
API_SERVICE_SERVICE_CLIENTLOCK = 70,
|
||||
API_SERVICE_SERVICE_RELEASE = 80,
|
||||
API_SERVICE_SERVICE_GETTYPENAME = 90,
|
||||
|
||||
#ifdef WASABI_COMPILE_COMPONENTS
|
||||
API_SERVICE_SERVICE_GETOWNINGCOMPONENT = 100,
|
||||
API_SERVICE_SERVICE_GETLOCKINGCOMPONENT = 110,
|
||||
#endif // WASABI_COMPILE_COMPONENTS
|
||||
|
||||
API_SERVICE_SERVICE_UNLOCK = 120,
|
||||
API_SERVICE_ISVALID = 130,
|
||||
API_SERVICE_COMPACT_DUPLICATES = 140,
|
||||
};
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
inline int api_service::service_register( waServiceFactory *svc )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_SERVICE_REGISTER, (int)0, svc );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline int api_service::service_deregister( waServiceFactory *svc )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_SERVICE_DEREGISTER, (int)0, svc );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline size_t api_service::service_getNumServices( FOURCC svc_type )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_SERVICE_GETNUMSERVICES, (int)0, svc_type );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline waServiceFactory *api_service::service_enumService( FOURCC svc_type, size_t n )
|
||||
{
|
||||
waServiceFactory *__retval = _call( API_SERVICE_SERVICE_ENUMSERVICE, (waServiceFactory *)0, svc_type, n );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline waServiceFactory *api_service::service_getServiceByGuid( GUID guid )
|
||||
{
|
||||
waServiceFactory *__retval = _call( API_SERVICE_SERVICE_GETSERVICEBYGUID, (waServiceFactory *)0, guid );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline int api_service::service_lock( waServiceFactory *owner, void *svcptr )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_SERVICE_LOCK, (int)0, owner, svcptr );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline int api_service::service_clientLock( void *svcptr )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_SERVICE_CLIENTLOCK, (int)0, svcptr );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline int api_service::service_release( void *svcptr )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_SERVICE_RELEASE, (int)0, svcptr );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline const char *api_service::service_getTypeName( FOURCC svc_type )
|
||||
{
|
||||
const char *__retval = _call( API_SERVICE_SERVICE_GETTYPENAME, (const char *)0, svc_type );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
#ifdef WASABI_COMPILE_COMPONENTS
|
||||
inline GUID api_service::service_getOwningComponent( void *svcptr )
|
||||
{
|
||||
GUID __retval = _call( API_SERVICE_SERVICE_GETOWNINGCOMPONENT, INVALID_GUID, svcptr );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline GUID api_service::service_getLockingComponent( void *svcptr )
|
||||
{
|
||||
GUID __retval = _call( API_SERVICE_SERVICE_GETLOCKINGCOMPONENT, INVALID_GUID, svcptr );
|
||||
return __retval;
|
||||
}
|
||||
#endif // WASABI_COMPILE_COMPONENTS
|
||||
|
||||
inline int api_service::service_unlock( void *svcptr )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_SERVICE_UNLOCK, (int)0, svcptr );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline int api_service::service_isvalid( FOURCC svctype, waServiceFactory *service )
|
||||
{
|
||||
int __retval = _call( API_SERVICE_ISVALID, (int)0, svctype, service );
|
||||
return __retval;
|
||||
}
|
||||
|
||||
inline int api_service::service_compactDuplicates( waServiceFactory *me )
|
||||
{
|
||||
return _call( API_SERVICE_COMPACT_DUPLICATES, (int)1, me );
|
||||
}
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
extern api_service *serviceApi;
|
||||
|
||||
#ifndef WASABI_API_SVC
|
||||
#define WASABI_API_SVC serviceApi
|
||||
#endif // !WASABI_API_SVC
|
||||
|
||||
#endif // __API_SERVICE_H
|
Loading…
Add table
Add a link
Reference in a new issue