Initial community commit

This commit is contained in:
Jef
2024-09-24 14:54:57 +02:00
parent 537bcbc862
commit 20d28e80a5
16810 changed files with 4640254 additions and 2 deletions

View File

@@ -0,0 +1,184 @@
#include <precomp.h>
#include <api/service/svcs/svc_coreadmin.h>
#include <api/script/objects/core/coreadminobj.h>
#include <api/script/objects/core/coreobj.h>
static CoreAdminScriptObjectController _coreAdminController;
ScriptObjectController *coreAdminController = &_coreAdminController;
// Table of exported functions and events
// "function name", n. params, function_pointer
function_descriptor_struct CoreAdminScriptObjectController::exportedFunction[] = {
{L"getNamedCore", 1, (void*)coreadmin_getNamedCore},
{L"newNamedCore", 1, (void*)coreadmin_newNamedCore},
{L"freeCore", 1, (void*)coreadmin_freeCore},
{L"freeCoreByName", 1, (void*)coreadmin_freeCoreByName},
};
int CoreAdminScriptObjectController::getNumFunctions() {
return sizeof(exportedFunction) / sizeof(function_descriptor_struct);
}
ScriptObject *CoreAdminScriptObjectController::instantiate() {
ScriptCoreAdminObject *scao = new ScriptCoreAdminObject;
ASSERT(scao != NULL);
return scao->getScriptObject();
}
void CoreAdminScriptObjectController::destroy(ScriptObject *o) {
ScriptCoreAdminObject *scao = static_cast<ScriptCoreAdminObject *>(o->vcpu_getInterface(COREADMIN_SCRIPTOBJECT_GUID));
ASSERT(scao != NULL);
delete scao;
}
void *CoreAdminScriptObjectController::encapsulate(ScriptObject *o) {
return NULL;
}
void CoreAdminScriptObjectController::deencapsulate(void *o) {
}
scriptVar CoreAdminScriptObjectController::coreadmin_getNamedCore(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar name)
{
SCRIPT_FUNCTION_INIT
ScriptCoreAdminObject *scao = static_cast<ScriptCoreAdminObject *>(o->vcpu_getInterface(COREADMIN_SCRIPTOBJECT_GUID));
if (scao) {
const wchar_t *cname = GET_SCRIPT_STRING(name);
if (cname) {
#ifndef FAKE_SCRIPTCORE
// Get the token for the requested core.
CoreToken core = scao->getNamedCore(cname);
if (core == -1) {
RETURN_SCRIPT_VOID;
}
#endif
// Make a new Core scriptobj to point to the requested core.
CoreScriptObjectController *controller = static_cast<CoreScriptObjectController *>(coreController);
#ifndef FAKE_SCRIPTCORE
ScriptObject *coreobj = controller->instantiate(core);
#else
ScriptObject *coreobj = controller->instantiate(NULL);
#endif
return MAKE_SCRIPT_OBJECT(coreobj);
}
}
RETURN_SCRIPT_NULL;
}
scriptVar CoreAdminScriptObjectController::coreadmin_newNamedCore(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar name) {
SCRIPT_FUNCTION_INIT
ScriptCoreAdminObject *scao = static_cast<ScriptCoreAdminObject *>(o->vcpu_getInterface(COREADMIN_SCRIPTOBJECT_GUID));
if (scao) {
const wchar_t *cname = GET_SCRIPT_STRING(name);
if (cname) {
// Get the token for the created core.
/*CoreToken core = */scao->newNamedCore(cname);
// Make a new Core scriptobj to point to the created core.
CoreScriptObjectController *controller = static_cast<CoreScriptObjectController *>(coreController);
#ifndef FAKE_SCRIPTCORE
ScriptObject *coreobj = controller->instantiate(core);
// Then get the object back and bind a sequencer and stuff to it. Like we just said "new Core"
ScriptCoreObject *sco = static_cast<ScriptCoreObject *>(coreobj->vcpu_getInterface(CORE_SCRIPTOBJECT_GUID));
if (sco) {
sco->initAsCreated();
}
#else
ScriptObject *coreobj = controller->instantiate(NULL);
#endif
return MAKE_SCRIPT_OBJECT(coreobj);
}
}
RETURN_SCRIPT_VOID;
}
scriptVar CoreAdminScriptObjectController::coreadmin_freeCore(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar core) {
SCRIPT_FUNCTION_INIT
ScriptCoreAdminObject *scao = static_cast<ScriptCoreAdminObject *>(o->vcpu_getInterface(COREADMIN_SCRIPTOBJECT_GUID));
if (scao) {
// Pull the ScriptCoreObject from the scriptVar
ScriptObject *coreobj = GET_SCRIPT_OBJECT(core);
if (coreobj) {
ScriptCoreObject *sco = static_cast<ScriptCoreObject *>(coreobj->vcpu_getInterface(CORE_SCRIPTOBJECT_GUID));
if (sco) {
#ifndef FAKE_SCRIPTCORE
scao->freeCore(sco->core_handle);
#endif
return MAKE_SCRIPT_INT(1);
}
}
}
return MAKE_SCRIPT_INT(0);
}
scriptVar CoreAdminScriptObjectController::coreadmin_freeCoreByName(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar name) {
SCRIPT_FUNCTION_INIT
ScriptCoreAdminObject *scao = static_cast<ScriptCoreAdminObject *>(o->vcpu_getInterface(COREADMIN_SCRIPTOBJECT_GUID));
if (scao) {
const wchar_t *cname = GET_SCRIPT_STRING(name);
if (cname) {
// Try to remove it.
int retval = scao->freeCoreByName(cname);
return MAKE_SCRIPT_INT(retval);
}
}
return MAKE_SCRIPT_INT(0);
}
// -----------------------------------------------------------------------------------------------------
ScriptCoreAdminObject::ScriptCoreAdminObject() {
getScriptObject()->vcpu_setClassName(L"CoreAdmin");
getScriptObject()->vcpu_setController(coreAdminController);
getScriptObject()->vcpu_setInterface(COREADMIN_SCRIPTOBJECT_GUID, static_cast<ScriptCoreAdminObject *>(this));
#ifndef FAKE_SCRIPTCORE
waServiceFactory *s = api->service_enumService(WaSvc::COREADMIN,0);
ASSERTPR(s,"Core Admin must be present to use ScriptCore!");
admin = castService<svc_coreAdmin>(s);
#endif
}
ScriptCoreAdminObject::~ScriptCoreAdminObject() {
#ifndef FAKE_SCRIPTCORE
api->service_release(admin);
admin = NULL;
#endif
}
CoreToken ScriptCoreAdminObject::getNamedCore(const wchar_t *name) {
#ifndef FAKE_SCRIPTCORE
return admin->nameToToken(name);
#else
return 0;
#endif
}
CoreToken ScriptCoreAdminObject::newNamedCore(const wchar_t *name) {
#ifndef FAKE_SCRIPTCORE
return admin->createCore(name);
#else
return 0;
#endif
}
int ScriptCoreAdminObject::freeCore(CoreToken core) {
#ifndef FAKE_SCRIPTCORE
if (core == 0) return 0; // don't touch the main core.
return admin->freeCoreByToken(core);
#else
return 0;
#endif
}
int ScriptCoreAdminObject::freeCoreByName(const wchar_t *name) {
#ifndef FAKE_SCRIPTCORE
CoreToken core = admin->nameToToken(name);
if (core == 0) return 0; // don't touch the main core.
return admin->freeCoreByToken(core);
#else
return 0;
#endif
}

View File

@@ -0,0 +1,67 @@
#ifndef __COREADMINOBJ_H
#define __COREADMINOBJ_H
#include <api/script/objcontroller.h>
#include <api/script/objects/rootobj.h>
#include <api/core/sequence.h>
#include <api/syscb/callbacks/corecbi.h>
#ifdef GEN_FF
#ifndef FAKE_SCRIPTCORE
#define FAKE_SCRIPTCORE
#endif
#endif
class svc_coreAdmin;
// {F857BECA-8E19-41f1-973E-097E39649F03}
static const GUID COREADMIN_SCRIPTOBJECT_GUID =
{ 0xf857beca, 0x8e19, 0x41f1, { 0x97, 0x3e, 0x9, 0x7e, 0x39, 0x64, 0x9f, 0x3 } };
extern ScriptObjectController *coreAdminController;
// -----------------------------------------------------------------------------------------------------
class ScriptCoreAdminObject : public RootObjectInstance
{
public:
ScriptCoreAdminObject();
virtual ~ScriptCoreAdminObject();
CoreToken getNamedCore(const wchar_t *name);
CoreToken newNamedCore(const wchar_t *name);
int freeCore(CoreToken core);
int freeCoreByName(const wchar_t *name);
private:
#ifndef FAKE_SCRIPTCORE
svc_coreAdmin *admin;
#endif
};
// -----------------------------------------------------------------------------------------------------
class CoreAdminScriptObjectController : public ScriptObjectControllerI
{
public:
virtual const wchar_t *getClassName() { return L"CoreAdmin"; }
virtual const wchar_t *getAncestorClassName() { return L"Object"; }
virtual ScriptObjectController *getAncestorController() { return WASABI_API_MAKI->maki_getController(rootObjectGuid); }
virtual int getNumFunctions();
virtual const function_descriptor_struct *getExportedFunctions() { return exportedFunction; }
virtual GUID getClassGuid() { return COREADMIN_SCRIPTOBJECT_GUID; }
virtual int getInstantiable() { return 0; }
virtual int getReferenceable() { return 0; }
virtual ScriptObject *instantiate();
virtual void *encapsulate(ScriptObject *o);
virtual void destroy(ScriptObject *o);
virtual void deencapsulate(void *o);
static scriptVar coreadmin_getNamedCore(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar name);
static scriptVar coreadmin_newNamedCore(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar name);
static scriptVar coreadmin_freeCore(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar core);
static scriptVar coreadmin_freeCoreByName(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar name);
private:
static function_descriptor_struct exportedFunction[];
};
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,192 @@
#ifndef __CONOBJ_H
#define __CONOBJ_H
#include <api/script/objcontroller.h>
#include <api/script/objects/rootobj.h>
#include <api/core/sequence.h>
#include <api/syscb/callbacks/corecbi.h>
#include <api/core/corehandle.h>
#ifdef GEN_FF
#ifndef FAKE_SCRIPTCORE
#define FAKE_SCRIPTCORE
#endif
#endif
// {2825A91B-D488-4245-AAF1-7059CF88437B}
static const GUID CORE_SCRIPTOBJECT_GUID =
{ 0x2825a91b, 0xd488, 0x4245, { 0xaa, 0xf1, 0x70, 0x59, 0xcf, 0x88, 0x43, 0x7b } };
extern ScriptObjectController *coreController;
class PlayItem;
class CoreAdminScriptObjectController;
class svc_coreAdmin;
// -----------------------------------------------------------------------------------------------------
class ScriptCoreObject : public RootObjectInstance
#ifndef FAKE_SCRIPTCORE
, public ListSequencer, public CoreCallbackI/*, public CoreCallbackI*/
#endif
{
friend class CoreAdminScriptObjectController;
public:
ScriptCoreObject(CoreToken token = 0x80000000);
virtual ~ScriptCoreObject();
void playFile(const wchar_t *file);
void stop();
void setVolume(int v);
int getStatus();
/* virtual int corecb_onStopped();
virtual int corecb_onEndOfDecode();*/
static scriptVar maki_playFile(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar file);
static scriptVar maki_stop(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
// static scriptVar maki_onStop(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
// static scriptVar maki_setVolume(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar v);
// static scriptVar maki_getStatus(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
// Callback Methods in Maki.
static scriptVar /*int*/ maki_onStarted(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onStopped(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onPaused(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onUnpaused(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onSeeked(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newpos);
static scriptVar /*int*/ maki_onVolumeChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newvol);
static scriptVar /*int*/ maki_onPanChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newpan);
static scriptVar /*int*/ maki_onEQStatusChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newval);
static scriptVar /*int*/ maki_onEQPreampChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newval);
static scriptVar /*int*/ maki_onEQBandChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ band, scriptVar /*int*/ newval);
static scriptVar /*int*/ maki_onEQFreqChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newval);
static scriptVar /*int*/ maki_onEQAutoChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newval);
static scriptVar /*int*/ maki_onStatusMsg(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ text);
static scriptVar /*int*/ maki_onWarningMsg(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ text);
static scriptVar /*int*/ maki_onErrorMsg(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ text);
static scriptVar /*int*/ maki_onTitleChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ title);
static scriptVar /*int*/ maki_onTitle2Change(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ title2);
static scriptVar /*int*/ maki_onInfoChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ info);
static scriptVar /*int*/ maki_onUrlChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ url);
static scriptVar /*int*/ maki_onLengthChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ newlength);
static scriptVar /*int*/ maki_onNextFile(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onNeedNextFile(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ fileid);
static scriptVar /*int*/ maki_onSetNextFile(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ playstring);
static scriptVar /*int*/ maki_onErrorOccured(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ severity, scriptVar /*String*/ text);
static scriptVar /*int*/ maki_onAbortCurrentSong(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onEndOfDecode(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onFileComplete(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ playstring);
static scriptVar /*int*/ maki_onConvertersChainRebuilt(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_onMediaFamilyChange(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ newfamily);
static scriptVar /*int*/ maki_setNextFile(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ playstr);
static scriptVar /*int*/ maki_getStatus(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*String*/ maki_getCurrent(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_getCurPlaybackNumber(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_getNumTracks(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_getPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_getWritePosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_setPosition(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ ms);
static scriptVar /*int*/ maki_getLength(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_getVolume(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*void*/ maki_setVolume(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ vol);
static scriptVar /*int*/ maki_getPan(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*void*/ maki_setPan(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ bal);
static scriptVar /*void*/ maki_setMute(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ mute);
static scriptVar /*int*/ maki_getMute(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_getLeftVuMeter(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*int*/ maki_getRightVuMeter(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*void*/ maki_userButton(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ button);
static scriptVar /*int*/ maki_getEqStatus(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*void*/ maki_setEqStatus(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ enable);
static scriptVar /*int*/ maki_getEqPreamp(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*void*/ maki_setEqPreamp(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ pre);
static scriptVar /*int*/ maki_getEqBand(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ band);
static scriptVar /*void*/ maki_setEqBand(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ band, scriptVar /*int*/ val);
static scriptVar /*int*/ maki_getEqAuto(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*void*/ maki_setEqAuto(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ enable);
static scriptVar /*void*/ maki_setCustomMsg(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*String*/ text);
static scriptVar /*void*/ maki_setPriority(SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar /*int*/ priority);
static scriptVar /*int*/ maki_getPriority(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static scriptVar /*void*/ maki_rebuildConvertersChain(SCRIPT_FUNCTION_PARAMS, ScriptObject *o);
static PtrList<ScriptCoreObject> objects;
protected:
#ifndef FAKE_SCRIPTCORE
virtual int getNumEntries() { return 1; }
virtual const char *enumItem(int pos);
virtual int getCurrent() { return 0; }
virtual int setCurrent(int cur) { return 0; }
#endif
// Callback Methods forwarded to Maki.
virtual int corecb_onStarted();
virtual int corecb_onStopped();
virtual int corecb_onPaused();
virtual int corecb_onUnpaused();
virtual int corecb_onSeeked(int newpos);
virtual int corecb_onVolumeChange(int newvol);
virtual int corecb_onPanChange(int newpan);
virtual int corecb_onEQStatusChange(int newval);
virtual int corecb_onEQPreampChange(int newval);
virtual int corecb_onEQBandChange(int band, int newval);
virtual int corecb_onEQFreqChange(int newval);
virtual int corecb_onEQAutoChange(int newval);
virtual int corecb_onStatusMsg(const wchar_t *text);
virtual int corecb_onWarningMsg(const wchar_t *text);
virtual int corecb_onErrorMsg(const wchar_t *text);
virtual int corecb_onTitleChange(const wchar_t *title);
virtual int corecb_onTitle2Change(const wchar_t *title2);
virtual int corecb_onInfoChange(const wchar_t *info);
virtual int corecb_onUrlChange(const wchar_t *url);
virtual int corecb_onLengthChange(int newlength);
virtual int corecb_onNextFile();
virtual int corecb_onNeedNextFile(int fileid);
virtual int corecb_onSetNextFile(const wchar_t *playstring);
virtual int corecb_onErrorOccured(int severity, const wchar_t *text);
virtual int corecb_onAbortCurrentSong();
virtual int corecb_onEndOfDecode();
virtual int corecb_onFileComplete(const wchar_t *playstring);
virtual int corecb_onConvertersChainRebuilt();
virtual int corecb_onMediaFamilyChange(const wchar_t *newfamily);
private:
// Only called by us and our friend the admin.
#ifndef FAKE_SCRIPTCORE
virtual void initAsCreated();
svc_coreAdmin *svc;
CoreToken core_handle;
String filetoplay;
int curvol;
int registered_sequencer;
#endif
};
// -----------------------------------------------------------------------------------------------------
class CoreScriptObjectController : public ScriptObjectControllerI {
friend CoreAdminScriptObjectController;
public:
virtual const wchar_t *getClassName() { return L"Core"; }
virtual const wchar_t *getAncestorClassName() { return L"Object"; }
virtual ScriptObjectController *getAncestorController() { return WASABI_API_MAKI->maki_getController(rootObjectGuid); }
virtual int getNumFunctions();
virtual const function_descriptor_struct *getExportedFunctions() { return exportedFunction; }
virtual GUID getClassGuid() { return CORE_SCRIPTOBJECT_GUID; }
virtual int getInstantiable() { return 1; }
virtual int getReferenceable() { return 1; }
virtual ScriptObject *instantiate();
virtual void *encapsulate(ScriptObject *o);
virtual void destroy(ScriptObject *o);
virtual void deencapsulate(void *o);
private:
static function_descriptor_struct exportedFunction[];
// Only called by us and our friend the admin.
virtual ScriptObject *instantiate(CoreToken token = 0x80000000);
};
// -----------------------------------------------------------------------
#endif

View File

@@ -0,0 +1,38 @@
#include <precomp.h>
#include "svc_scriptcore.h"
#include <api/script/objects/core/coreobj.h>
#include <api/script/objects/core/coreadminobj.h>
#ifndef _WASABIRUNTIME
BEGIN_SERVICES(ScriptCore_Svc);
DECLARE_SERVICETSINGLE(svc_scriptObject, CoreScriptObjectSvc);
END_SERVICES(ScriptCore_Svc, _ScriptCore_Svc);
#ifdef _X86_
extern "C" { int _link_ScriptCore_Svc; }
#else
extern "C" { int __link_ScriptCore_Svc; }
#endif
#endif
// -----------------------------------------------------------------------------------------------------
// Service
ScriptObjectController *CoreScriptObjectSvc::getController(int n) {
switch (n) {
case 0:
return coreController;
}
return NULL;
}
ScriptObjectController *CoreAdminScriptObjectSvc::getController(int n) {
switch (n) {
case 0:
return coreAdminController;
}
return NULL;
}

View File

@@ -0,0 +1,27 @@
#ifndef __GUIVIDEOSVC_H
#define __GUIVIDEOSVC_H
#include <api/service/svcs/svc_scriptobji.h>
class CoreScriptObjectSvc : public svc_scriptObjectI {
public:
CoreScriptObjectSvc() {};
virtual ~CoreScriptObjectSvc() {};
static const char *getServiceName() { return "MediaCore maki object"; }
virtual ScriptObjectController *getController(int n);
};
class CoreAdminScriptObjectSvc : public svc_scriptObjectI {
public:
CoreAdminScriptObjectSvc() {};
virtual ~CoreAdminScriptObjectSvc() {};
static const char *getServiceName() { return "MediaCoreAdmin maki object"; }
virtual ScriptObjectController *getController(int n);
};
#endif