mirror of
https://github.com/samba-team/samba.git
synced 2025-12-17 04:23:50 +03:00
113 lines
2.8 KiB
C
113 lines
2.8 KiB
C
/*
|
|
* @file ejsSystem.c
|
|
* @brief System class for the EJS Object Model
|
|
*/
|
|
/********************************** Copyright *********************************/
|
|
/*
|
|
* Copyright (c) Mbedthis Software LLC, 2005-2006. All Rights Reserved.
|
|
*/
|
|
/********************************** Includes **********************************/
|
|
|
|
#include "ejs.h"
|
|
|
|
/******************************************************************************/
|
|
/************************************ Methods *********************************/
|
|
/******************************************************************************/
|
|
#if UNUSED
|
|
/*
|
|
* function int random()
|
|
*/
|
|
|
|
static int randomProc(Ejs *ep, EjsVar *thisObj, int argc, EjsVar **argv)
|
|
{
|
|
ejsTrace(ep, "random()\n");
|
|
return 0;
|
|
}
|
|
|
|
/******************************************************************************/
|
|
/*
|
|
* function void yield()
|
|
*/
|
|
|
|
static int yieldProc(Ejs *ep, EjsVar *thisObj, int argc, EjsVar **argv)
|
|
{
|
|
ejsTrace(ep, "yield()\n");
|
|
return 0;
|
|
}
|
|
|
|
/******************************************************************************/
|
|
/*
|
|
* function void sleep(int milliSeconds)
|
|
*/
|
|
|
|
static int sleepProc(Ejs *ep, EjsVar *thisObj, int argc, EjsVar **argv)
|
|
{
|
|
ejsTrace(ep, "sleep()\n");
|
|
return 0;
|
|
}
|
|
|
|
#endif
|
|
/******************************************************************************/
|
|
/*
|
|
* function void exit(int status)
|
|
*
|
|
* Exit the widget with the given status. All JavaScript processing ceases.
|
|
*/
|
|
|
|
static int exitProc(Ejs *ep, EjsVar *thisObj, int argc, EjsVar **argv)
|
|
{
|
|
int status;
|
|
|
|
status = 0;
|
|
if ((argc == 1) && ejsVarIsInteger(argv[0])) {
|
|
status = argv[0]->integer;
|
|
}
|
|
ejsExit(ep, status);
|
|
return 0;
|
|
}
|
|
|
|
/******************************************************************************/
|
|
/******************************** Initialization ******************************/
|
|
/******************************************************************************/
|
|
|
|
int ejsDefineSystemClass(Ejs *ep)
|
|
{
|
|
EjsVar *systemClass;
|
|
|
|
/*
|
|
* We create the system class and define static methods on it.
|
|
* NOTE: There is no object instance
|
|
*/
|
|
systemClass = ejsDefineClass(ep, "System", "Object", 0);
|
|
if (systemClass == 0) {
|
|
return MPR_ERR_CANT_INITIALIZE;
|
|
}
|
|
|
|
ejsDefineCMethod(ep, systemClass, "exit", exitProc, EJS_NO_LOCAL);
|
|
|
|
#if UNUSED
|
|
ejsDefineCMethod(ep, systemClass, "random", randomProc, EJS_NO_LOCAL);
|
|
ejsDefineCMethod(ep, systemClass, "yield", yieldProc, EJS_NO_LOCAL);
|
|
ejsDefineCMethod(ep, systemClass, "sleep", sleepProc, EJS_NO_LOCAL);
|
|
|
|
/*
|
|
* Define properties
|
|
*/
|
|
ejsSetPropertyToString(systemClass, "name", "");
|
|
#endif
|
|
|
|
return ejsObjHasErrors(systemClass) ? MPR_ERR_CANT_INITIALIZE : 0;
|
|
}
|
|
|
|
/******************************************************************************/
|
|
|
|
/*
|
|
* Local variables:
|
|
* tab-width: 4
|
|
* c-basic-offset: 4
|
|
* End:
|
|
* vim:tw=78
|
|
* vim600: sw=4 ts=4 fdm=marker
|
|
* vim<600: sw=4 ts=4
|
|
*/
|