您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ESV函数代码示例

51自学网 2021-06-01 20:34:14
  C++
这篇教程C++ ESV函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ESV函数的典型用法代码示例。如果您正苦于以下问题:C++ ESV函数的具体用法?C++ ESV怎么用?C++ ESV使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ESV函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: lastIndexOf

/*    Search for an item using strict equality "===". This call searches from    the end of the array for the specified element.    @return Returns the items index into the array if found, otherwise -1.    function lastIndexOf(element: Object, fromIndex: Number = 0): Number */static EjsNumber *lastArrayIndexOf(Ejs *ejs, EjsArray *ap, int argc, EjsObj **argv){    EjsObj      *element;    int     i, start;    assert(argc == 1 || argc == 2);    element = argv[0];    start = ((argc == 2) ? (int) ((EjsNumber*) argv[1])->value : ap->length - 1);    if (start < 0) {        start += ap->length;    }    if (start >= ap->length) {        start = ap->length - 1;    }    if (start < 0) {        return ESV(minusOne);    }    for (i = start; i >= 0; i--) {        if (compareArrayElement(ejs, ap->data[i], element)) {            return ejsCreateNumber(ejs, i);        }    }    return ESV(minusOne);}
开发者ID:leemit,项目名称:ejscript,代码行数:32,


示例2: length

/*    Set the length. TODO - what does this do?    public override function set length(value: int): void */static EjsObj *setLength(Ejs *ejs, EjsXML *xml, int argc, EjsObj **argv){    int         length;    assert(ejsIsXML(ejs, xml));    if (argc != 1) {        ejsThrowArgError(ejs, "usage: obj.length = value");        return 0;    }    length = ejsVarToInteger(ejs, argv[0]);    if (length < ap->length) {        for (i = length; i < ap->length; i++) {            if (ejsSetProperty(ejs, ap, i, ESV(undefined)) < 0) {                //  TODO - DIAG                return 0;            }        }    } else if (length > ap->length) {        if (ejsSetProperty(ejs, ap, length - 1, ESV(undefined)) < 0) {            //  TODO - DIAG            return 0;        }    }    ap->length = length;    return 0;}
开发者ID:embedthis,项目名称:ejscript,代码行数:34,


示例3: switch

static EjsAny *invokeNamespaceOperator(Ejs *ejs, EjsNamespace *lhs, int opCode, EjsNamespace *rhs){    bool        boolResult;    switch (opCode) {    case EJS_OP_COMPARE_EQ:        if (!ejsIsDefined(ejs, rhs)) {            return ((opCode == EJS_OP_COMPARE_EQ) ? ESV(false): ESV(true));        }        boolResult = ejsCompareString(ejs, lhs->value, rhs->value) == 0;        break;    case EJS_OP_COMPARE_STRICTLY_EQ:        boolResult = lhs == rhs;        break;    case EJS_OP_COMPARE_NE:        if (!ejsIsDefined(ejs, rhs)) {            return ((opCode == EJS_OP_COMPARE_EQ) ? ESV(false): ESV(true));        }        boolResult = !(ejsCompareString(ejs, lhs->value, rhs->value) == 0);        break;    case EJS_OP_COMPARE_STRICTLY_NE:        boolResult = !(lhs == rhs);        break;    default:        ejsThrowTypeError(ejs, "Operation is not valid on this type");        return 0;    }    return ejsCreateBoolean(ejs, boolResult);}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:33,


示例4: waitForMessage

/*    function waitForMessage(timeout: Number = -1): Boolean */static EjsBoolean *workerWaitForMessage(Ejs *ejs, EjsWorker *worker, int argc, EjsObj **argv){    MprTicks    mark, remaining;    int         timeout;    timeout = (argc > 0) ? ejsGetInt(ejs, argv[0]): MAXINT;    if (timeout < 0) {        timeout = MAXINT;    }    mark = mprGetTicks();    remaining = timeout;    worker->gotMessage = 0;    do {        mprWaitForEvent(ejs->dispatcher, (int) remaining);        remaining = mprGetRemainingTicks(mark, timeout);    } while (!worker->gotMessage && remaining > 0 && !ejs->exception);    if (worker->gotMessage) {        worker->gotMessage = 0;        return ESV(true);    } else {        return ESV(true);    }}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:28,


示例5: send

/*      function send(...content): Number */static EjsNumber *ws_send(Ejs *ejs, EjsWebSocket *ws, int argc, EjsObj **argv){    EjsArray        *args;    EjsByteArray    *ba;    EjsAny          *arg;    ssize           nbytes;    int             i;    args = (EjsArray*) argv[0];    if (ws->conn->state < HTTP_STATE_PARSED && !waitForHttpState(ws, HTTP_STATE_PARSED, -1, 1)) {        return ESV(null);    }    nbytes = 0;    for (i = 0; i < args->length; i++) {        if ((arg = ejsGetProperty(ejs, args, i)) != 0) {            if (ejsIs(ejs, arg, ByteArray)) {                ba = (EjsByteArray*) arg;                nbytes = ejsGetByteArrayAvailableData(ba);                nbytes = httpSendBlock(ws->conn, WS_MSG_BINARY, (cchar*) &ba->value[ba->readPosition], nbytes, HTTP_BLOCK);            } else {                nbytes = httpSend(ws->conn, ejsToMulti(ejs, arg));            }            if (nbytes < 0) {                return ESV(null);            }        }    }    return ejsCreateNumber(ejs, (MprNumber) nbytes);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:32,


示例6: verifyIssuer

/*    function get verifyIssuer(): Boolean */static EjsBoolean *http_verifyIssuer(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv){    if (!hp->ssl) {        hp->ssl = mprCreateSsl(0);    }    return hp->ssl->verifyIssuer ?  ESV(true) : ESV(false);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:10,


示例7: run

/*      static function run(timeout: Number = -1, oneEvent: Boolean = false): Boolean */static EjsObj *app_run(Ejs *ejs, EjsObj *unused, int argc, EjsObj **argv){    MprTicks    mark, remaining;    int64       dispatcherMark;    int         rc, oneEvent, timeout;    timeout = (argc > 0) ? ejsGetInt(ejs, argv[0]) : MAXINT;    oneEvent = (argc > 1) ? ejsGetInt(ejs, argv[1]) : 0;    if (ejs->hosted) {        return ESV(true);    }    if (timeout < 0) {        timeout = MAXINT;    }    mark = mprGetTicks();    remaining = timeout;    dispatcherMark = mprGetEventMark(ejs->dispatcher);    do {        rc = mprWaitForEvent(ejs->dispatcher, remaining, dispatcherMark);         remaining = mprGetRemainingTicks(mark, timeout);        dispatcherMark = mprGetEventMark(ejs->dispatcher);    } while (!ejs->exception && !oneEvent && !ejs->exiting && remaining > 0 && !mprIsStopping());    return (rc == 0) ? ESV(true) : ESV(false);}
开发者ID:leemit,项目名称:ejscript,代码行数:28,


示例8: WebSocket

/*      function WebSocket(uri: Uri, protocols = null, options)    options = {        certificate: Path,        verify: Boolean,    } */static EjsWebSocket *wsConstructor(Ejs *ejs, EjsWebSocket *ws, int argc, EjsObj **argv){    EjsAny      *certificate;    bool        verify;    assert(ejsIsPot(ejs, ws));    ejsLoadHttpService(ejs);    ws->ejs = ejs;    verify = 0;    ws->uri = httpUriToString(((EjsUri*) argv[0])->uri, 0);    if (argc >= 2) {        if (ejsIs(ejs, argv[1], Array)) {            ws->protocols = sclone((ejsToString(ejs, argv[1]))->value);        } else if (ejsIs(ejs, argv[1], String)) {            ws->protocols = sclone(((EjsString*) argv[1])->value);        } else {            ws->protocols = sclone("chat");        }    } else {        ws->protocols = sclone("chat");    }    if (*ws->protocols == '/0') {        ejsThrowArgError(ejs, "Bad protocol");        return 0;    }    if (argc >= 3) {        ws->frames = ejsGetPropertyByName(ejs, argv[2], EN("frames")) == ESV(true);        verify = ejsGetPropertyByName(ejs, argv[2], EN("verify")) == ESV(true);        if ((certificate = ejsGetPropertyByName(ejs, argv[2], EN("certificate"))) != 0) {            ws->certFile = ejsToMulti(ejs, argv[0]);        }    }    if ((ws->conn = httpCreateConn(MPR->httpService, NULL, ejs->dispatcher)) == 0) {        ejsThrowMemoryError(ejs);        return 0;    }    httpSetAsync(ws->conn, 1);    httpPrepClientConn(ws->conn, 0);    httpSetConnNotifier(ws->conn, webSocketNotify);    httpSetWebSocketProtocols(ws->conn, ws->protocols);    httpSetConnContext(ws->conn, ws);    if (sstarts(ws->uri, "wss")) {        ws->ssl = mprCreateSsl(0);        mprVerifySslIssuer(ws->ssl, verify);        mprVerifySslPeer(ws->ssl, verify);#if FUTURE        if (!hp->caFile) {            //MOB - Some define for this.            hp->caFile = mprJoinPath(mprGetAppDir(), "http-ca.crt");        }        mprSetSslCaFile(hp->ssl, hp->caFile);        mprSetSslCaFile(hp->ssl, mprJoinPath(mprGetAppDir(), "http-ca.crt"));#endif    }    startWebSocketRequest(ejs, ws);    return ws;}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:67,


示例9: join

/*    static function join(workers: Object = null, timeout: Number = -1): Boolean */static EjsObj *workerJoin(Ejs *ejs, EjsWorker *unused, int argc, EjsObj **argv){    EjsObj      *workers;    int         timeout;    workers = (argc > 0) ? argv[0] : NULL;    timeout = (argc == 2) ? ejsGetInt(ejs, argv[1]) : MAXINT;    return (join(ejs, workers, timeout) == 0) ? ESV(true): ESV(false);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:13,


示例10: return

/*    Cast the object operand to a primitive type */static EjsObj *xlCast(Ejs *ejs, EjsXML *vp, EjsType *type){    MprBuf      *buf;    EjsObj      *result;    EjsXML      *elt, *item;    int         next;    if (type == ESV(XML)) {        return (EjsObj*) vp;    }    switch (type->sid) {    case S_Object:    case S_Boolean:        return (EjsObj*) ejsCreateBoolean(ejs, 1);    case S_Number:        result = xlCast(ejs, vp, ESV(String));        result = (EjsObj*) ejsToNumber(ejs, result);        return result;    case S_String:        buf = mprCreateBuf(MPR_BUFSIZE, -1);        if (mprGetListLength(vp->elements) == 1) {            elt = mprGetFirstItem(vp->elements);            if (elt->kind == EJS_XML_ELEMENT) {                if (elt->elements == 0) {                    return (EjsObj*) ESV(empty);                }                if (elt->elements && mprGetListLength(elt->elements) == 1) {                    //  TODO - what about PI and comments?                    item = mprGetFirstItem(elt->elements);                    if (item->kind == EJS_XML_TEXT) {                        return (EjsObj*) item->value;                    }                }            }        }        for (next = 0; (elt = mprGetNextItem(vp->elements, &next)) != 0; ) {            if (ejsXMLToBuf(ejs, buf, elt, -1) < 0) {                return 0;            }            if (next < vp->elements->length) {                mprPutStringToBuf(buf, " ");            }        }        return (EjsObj*) ejsCreateStringFromAsc(ejs, (char*) buf->start);    default:        ejsThrowTypeError(ejs, "Cannot cast to this type");        return 0;    }}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:56,


示例11: wait

/*      Wait for a request to complete. Timeout is in msec. Timeout < 0 means use default inactivity and request timeouts.    Timeout of zero means no timeout.    function wait(timeout: Number = -1): Boolean */static EjsBoolean *http_wait(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv){    MprTicks    timeout;    timeout = (argc >= 1) ? ejsGetInt(ejs, argv[0]) : -1;    if (timeout == 0) {        timeout = MPR_MAX_TIMEOUT;    }    if (!waitForState(hp, HTTP_STATE_FINALIZED, timeout, 0)) {        return ESV(false);    }    return ESV(true);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:19,


示例12: response

/*      function get response(): String */static EjsString *http_response(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv){    EjsAny  *response;    if (hp->responseCache) {        return hp->responseCache;    }    if ((response = http_readString(ejs, hp, argc, argv)) == ESV(null)) {        return ESV(empty);    }    hp->responseCache = (EjsString*) response;    return hp->responseCache;}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:16,


示例13: sendBlock

/*      function sendBlock(content, options): Number */static EjsNumber *ws_sendBlock(Ejs *ejs, EjsWebSocket *ws, int argc, EjsObj **argv){    EjsByteArray    *ba;    EjsAny          *content, *vp;    ssize           nbytes;    cchar           *str;    int             last, mode, type, flags;    assert(argc == 2);    if (ws->conn->state < HTTP_STATE_PARSED && !waitForHttpState(ws, HTTP_STATE_PARSED, -1, 1)) {        return ESV(null);    }    content = argv[0];    last = ejsGetPropertyByName(ejs, argv[1], EN("last")) != ESV(false);    if ((vp = ejsGetPropertyByName(ejs, argv[1], EN("mode"))) != 0) {        mode = (int) ejsGetNumber(ejs, vp);        if (mode != HTTP_BUFFER && mode != HTTP_BLOCK && mode != HTTP_NON_BLOCK) {            ejsThrowArgError(ejs, "Bad message mode");            return 0;        }    } else {        mode = HTTP_BUFFER;    }    if ((vp = ejsGetPropertyByName(ejs, argv[1], EN("type"))) != 0) {        type = (int) ejsGetNumber(ejs, vp);        if (type != WS_MSG_CONT && type != WS_MSG_TEXT && type != WS_MSG_BINARY) {            ejsThrowArgError(ejs, "Bad message type");            return 0;        }    } else {        type = WS_MSG_TEXT;    }    flags = mode;    if (!last) {        flags |= HTTP_MORE;    }    if (ejsIs(ejs, content, ByteArray)) {        ba = (EjsByteArray*) content;        nbytes = ejsGetByteArrayAvailableData(ba);        nbytes = httpSendBlock(ws->conn, type, (cchar*) &ba->value[ba->readPosition], nbytes, flags);    } else {        str = ejsToMulti(ejs, content);        nbytes = httpSendBlock(ws->conn, type, str, slen(str), flags);    }    if (nbytes < 0) {        ejsThrowIOError(ejs, "Cannot send block");        return 0;    }    return ejsCreateNumber(ejs, (MprNumber) nbytes);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:54,


示例14: switch

static EjsAny *invokeNullOperator(Ejs *ejs, EjsObj *lhs, int opcode, EjsObj *rhs){    EjsObj      *result;    if (rhs == 0 || TYPE(lhs) != TYPE(rhs)) {        if ((result = coerceNullOperands(ejs, lhs, opcode, rhs)) != 0) {            return result;        }    }    /*        Types now match. Both left and right types are both "null"     */    switch (opcode) {    /*        NOTE: strict eq is the same as eq     */    case EJS_OP_COMPARE_EQ: case EJS_OP_COMPARE_STRICTLY_EQ:    case EJS_OP_COMPARE_LE: case EJS_OP_COMPARE_GE:    case EJS_OP_COMPARE_UNDEFINED:    case EJS_OP_COMPARE_NOT_ZERO:    case EJS_OP_COMPARE_NULL:        return ESV(true);    case EJS_OP_COMPARE_NE: case EJS_OP_COMPARE_STRICTLY_NE:    case EJS_OP_COMPARE_LT: case EJS_OP_COMPARE_GT:    case EJS_OP_COMPARE_FALSE:    case EJS_OP_COMPARE_TRUE:    case EJS_OP_COMPARE_ZERO:        return ESV(false);    /*        Unary operators     */    case EJS_OP_LOGICAL_NOT: case EJS_OP_NOT: case EJS_OP_NEG:        return ESV(one);    /*        Binary operators. Reinvoke with left = zero     */    case EJS_OP_ADD: case EJS_OP_AND: case EJS_OP_DIV: case EJS_OP_MUL: case EJS_OP_OR: case EJS_OP_REM:    case EJS_OP_SHL: case EJS_OP_SHR: case EJS_OP_SUB: case EJS_OP_USHR: case EJS_OP_XOR:        return ejsInvokeOperator(ejs, ESV(zero), opcode, rhs);    default:        ejsThrowTypeError(ejs, "Opcode %d not implemented for type %@", opcode, TYPE(lhs)->qname.name);        return 0;    }}
开发者ID:embedthis,项目名称:ejscript,代码行数:50,


示例15: assert

static EjsBoolean *regex_test(Ejs *ejs, EjsRegExp *rp, int argc, EjsObj **argv){    EjsString   *str;    int         count;    str = (EjsString*) argv[0];    assert(rp->compiled);    count = pcre_exec(rp->compiled, NULL, str->value, (int) str->length, rp->endLastMatch, 0, 0, 0);    if (count < 0) {        rp->endLastMatch = 0;        return ESV(false);    }    return ESV(true);}
开发者ID:liexusong,项目名称:ejs-2,代码行数:14,


示例16: wait

/*    Wait for a request to complete. Timeout is in msec. Timeout < 0 means use default inactivity and request timeouts.    Timeout of zero means no timeout.    function wait(state: Number, timeout: Number = -1): Boolean */static EjsUri *ws_wait(Ejs *ejs, EjsWebSocket *ws, int argc, EjsObj **argv){    MprTicks    timeout;    int         state;    state = argc >= 1 ? ejsGetInt(ejs, argv[0]) : WS_STATE_CLOSED;    timeout = argc >= 2 ? ejsGetInt(ejs, argv[1]) : -1;    if (timeout == 0) {        timeout = MPR_MAX_TIMEOUT;    }    if (!waitForReadyState(ws, state, timeout, 0)) {        return ESV(false);    }    return ESV(true);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:21,


示例17: switch

static EjsObj *invokeVoidOperator(Ejs *ejs, EjsVoid *lhs, int opcode, EjsVoid *rhs){    EjsObj      *result;    if (rhs == 0 || TYPE(lhs) != TYPE(rhs)) {        if ((result = coerceVoidOperands(ejs, lhs, opcode, rhs)) != 0) {            return result;        }    }    /*     *  Types match, left and right types are both "undefined"     */    switch (opcode) {    case EJS_OP_COMPARE_EQ: case EJS_OP_COMPARE_STRICTLY_EQ:    case EJS_OP_COMPARE_LE: case EJS_OP_COMPARE_GE:    case EJS_OP_COMPARE_UNDEFINED:    case EJS_OP_COMPARE_NOT_ZERO:    case EJS_OP_COMPARE_NULL:        return ESV(true);    case EJS_OP_COMPARE_NE: case EJS_OP_COMPARE_STRICTLY_NE:    case EJS_OP_COMPARE_LT: case EJS_OP_COMPARE_GT:    case EJS_OP_COMPARE_FALSE:    case EJS_OP_COMPARE_TRUE:    case EJS_OP_COMPARE_ZERO:        return ESV(false);    /*     *  Unary operators     */    case EJS_OP_LOGICAL_NOT: case EJS_OP_NOT: case EJS_OP_NEG:        return ESV(nan);    /*     *  Binary operators     */    case EJS_OP_ADD: case EJS_OP_AND: case EJS_OP_DIV: case EJS_OP_MUL: case EJS_OP_OR: case EJS_OP_REM:    case EJS_OP_SHL: case EJS_OP_SHR: case EJS_OP_SUB: case EJS_OP_USHR: case EJS_OP_XOR:        return ESV(nan);    default:        ejsThrowTypeError(ejs, "Opcode %d not implemented for type %@", opcode, TYPE(lhs)->qname.name);        return 0;    }    assert(0);}
开发者ID:liexusong,项目名称:ejs-2,代码行数:48,


示例18: interpretCommands

/*      Interpret from the console or from a literal command */static int interpretCommands(EcCompiler *cp, cchar *cmd){    Ejs         *ejs;    EjsString   *result;    char        *tmpArgv[1];    int         err;    ejs = cp->ejs;    cp->interactive = 1;    if (ecOpenConsoleStream(cp, (cmd) ? commandGets: consoleGets, cmd) < 0) {        mprError("Cannot open input");        return EJS_ERR;    }    tmpArgv[0] = EC_INPUT_STREAM;    while (!cp->stream->eof && !mprIsStopping()) {        err = 0;        cp->uid = 0;        ejs->result = ESV(undefined);        if (ecCompile(cp, 1, tmpArgv) < 0) {            mprRawLog(0, "%s", cp->errorMsg);            ejs->result = ESV(undefined);            err++;        }        if (!err && cp->errorCount == 0) {            if (ejsRunProgram(ejs, NULL, NULL) < 0) {                ejsReportError(ejs, "Error in script");            }        }        if (!ejs->exception && ejs->result != ESV(undefined)) {            if (ejsIs(ejs, ejs->result, Date) /* MOB || ejsIsType(ejs, ejs->result) */) {                if ((result = (EjsString*) ejsToString(ejs, ejs->result)) != 0) {                    mprPrintf("%@/n", result);                }            } else if (ejs->result != ESV(null)) {                if ((result = (EjsString*) ejsSerialize(ejs, ejs->result, EJS_JSON_SHOW_PRETTY)) != 0) {                    mprPrintf("%@/n", result);                }            }        }        ecResetInput(cp);        cp->errorCount = 0;        cp->fatalError = 0;    }    ecCloseStream(cp);    return 0;}
开发者ID:satanupup,项目名称:appweb,代码行数:51,


示例19: preload

/*    function preload(path: Path): Object    NOTE: this blocks.  */static EjsObj *workerPreload(Ejs *ejs, EjsWorker *worker, int argc, EjsObj **argv){    Ejs         *inside;    EjsWorker   *insideWorker;    EjsString   *result;    assert(argc > 0 && ejsIs(ejs, argv[0], Path));    assert(!worker->inside);    if (worker->state > EJS_WORKER_BEGIN) {        ejsThrowStateError(ejs, "Worker has already started");        return 0;    }    insideWorker = worker->pair;    assert(insideWorker->inside);    inside = insideWorker->ejs;    loadFile(worker->pair, ((EjsPath*) argv[0])->value);    if (inside->exception) {        handleError(ejs, worker, inside->exception, 1);        return 0;    }    result = ejsToJSON(inside, inside->result, NULL);    if (result == 0) {        return ESV(null);    }    return ejsDeserialize(ejs, result);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:32,


示例20: ESV

static EjsString *regex_matched(Ejs *ejs, EjsRegExp *rp, int argc, EjsObj **argv){    if (rp->matched == 0) {        return ESV(null);    }    return rp->matched;}
开发者ID:liexusong,项目名称:ejs-2,代码行数:7,


示例21: certificate

/*    function get certificate(): String */static EjsString *http_certificate(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv){    if (hp->certFile) {        return ejsCreateStringFromAsc(ejs, hp->certFile);    }    return ESV(null);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:10,


示例22: scheme

/*      Get the scheme portion    static function get scheme(): String? */static EjsString *uri_scheme(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv){    if (up->uri->scheme == 0) {        return ESV(null);    }    return ejsCreateStringFromAsc(ejs, up->uri->scheme);}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:11,


示例23: name

/*    function get name(): String */static EjsString *hs_name(Ejs *ejs, EjsHttpServer *sp, int argc, EjsObj **argv){    if (sp->name) {        return ejsCreateStringFromAsc(ejs, sp->name);    }    return ESV(null);}
开发者ID:embedthis,项目名称:ejs.web,代码行数:10,


示例24: query

/*      Get the query portion    static function get query(): String? */static EjsString *uri_query(Ejs *ejs, EjsUri *up, int argc, EjsObj **argv){    if (up->uri->query == 0) {        return ESV(null);    }        return ejsCreateStringFromAsc(ejs, up->uri->query);}
开发者ID:monmarzia,项目名称:ejs-2,代码行数:11,


示例25: ejsThrowSyntaxError

PUBLIC EjsAny *ejsDeserialize(Ejs *ejs, EjsString *str){    EjsObj      *obj;    JsonState   js;    if (!ejsIs(ejs, str, String)) {        ejsThrowSyntaxError(ejs, "Object is not a string");        return 0;    }    if (str->length == 0) {        return ESV(empty);    }    js.next = js.data = str->value;    js.end = &js.data[str->length];    js.error = 0;    if ((obj = parseLiteral(ejs, &js)) == 0) {        if (js.error) {            ejsThrowSyntaxError(ejs,                 "Cannot parse object literal. Error at position %d./n"                "===========================/n"                "Offending text: %w/n"                "===========================/n"                "In literal %w"                "/n===========================/n",                (int) (js.error - js.data), js.error, js.data);        } else {            ejsThrowSyntaxError(ejs, "Cannot parse object literal. Undefined error");        }        return 0;    }    return obj;}
开发者ID:coordcn,项目名称:ejs,代码行数:32,


示例26: key

/*      function get key(): String */static EjsAny *http_key(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv){    if (hp->keyFile) {        return ejsCreateStringFromAsc(ejs, hp->keyFile);    }    return ESV(null);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:10,


示例27: preeval

/*    function preeval(script: String): Object    NOTE: this blocks.  */static EjsObj *workerPreeval(Ejs *ejs, EjsWorker *worker, int argc, EjsObj **argv){    Ejs         *inside;    EjsWorker   *insideWorker;    EjsString   *result;    assert(!worker->inside);    if (worker->state > EJS_WORKER_BEGIN) {        ejsThrowStateError(ejs, "Worker has already started");        return 0;    }    insideWorker = worker->pair;    assert(insideWorker->inside);    inside = insideWorker->ejs;    (inside->service->loadScriptLiteral)(inside, (EjsString*) argv[0], NULL);    if (inside->exception) {        handleError(ejs, worker, inside->exception, 1);        return 0;    }    result = ejsToJSON(inside, inside->result, NULL);    if (result == 0) {        return ESV(null);    }    return ejsDeserialize(ejs, result);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:31,


示例28: setLimits

/*    function setLimits(limits: Object): Void */static EjsObj *hs_setLimits(Ejs *ejs, EjsHttpServer *sp, int argc, EjsObj **argv){    EjsObj      *vp, *app, *cache, *cacheLimits;    HttpLimits  *limits;    if (sp->limits == 0) {        sp->limits = ejsCreateEmptyPot(ejs);        limits = (sp->endpoint) ? sp->endpoint->limits : ejs->http->serverLimits;        assert(limits);        ejsGetHttpLimits(ejs, sp->limits, limits, 1);    }    ejsBlendObject(ejs, sp->limits, argv[0], EJS_BLEND_OVERWRITE);    if (sp->endpoint) {        limits = (sp->endpoint) ? sp->endpoint->limits : ejs->http->serverLimits;        ejsSetHttpLimits(ejs, limits, sp->limits, 1);    }    if ((vp = ejsGetPropertyByName(ejs, sp->limits, EN("sessionTimeout"))) != 0) {        app = ejsGetPropertyByName(ejs, ejs->global, N("ejs", "App"));        cache = ejsGetPropertyByName(ejs, app, N("ejs", "cache"));        if (cache && cache != ESV(null)) {            cacheLimits = ejsCreateEmptyPot(ejs);            ejsSetPropertyByName(ejs, cacheLimits, EN("lifespan"), vp);            ejsCacheSetLimits(ejs, cache, cacheLimits);        }    }    return 0;}
开发者ID:embedthis,项目名称:ejs.web,代码行数:30,


示例29: assert

PUBLIC EjsFile *ejsCreateFileFromFd(Ejs *ejs, int fd, cchar *name, int mode){    EjsFile     *fp;    assert(fd >= 0);    assert(name);    if ((fp = ejsCreateObj(ejs, ESV(File), 0)) == NULL) {        return NULL;    }    fp->perms = EJS_FILE_PERMS;    fp->mode = EJS_FILE_OPEN;    if (!(mode & O_WRONLY)) {        fp->mode |= EJS_FILE_READ;    }    if (mode & (O_WRONLY | O_RDWR)) {        fp->mode |= EJS_FILE_WRITE;    }    if ((fp->file = mprAttachFileFd(fd, name, mode)) == 0) {        return 0;    }    fp->attached = 1;    fp->path = MPR->emptyString;    return fp;}
开发者ID:coordcn,项目名称:ejs,代码行数:25,


示例30: finalized

/*      function get finalized(): Boolean */static EjsBoolean *http_finalized(Ejs *ejs, EjsHttp *hp, int argc, EjsObj **argv){    if (hp->conn) {        return ejsCreateBoolean(ejs, hp->conn->tx->finalizedOutput);    }    return ESV(false);}
开发者ID:soffmodd,项目名称:ejs-2,代码行数:10,



注:本文中的ESV函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ETK_OBJECT函数代码示例
C++ ESP_LOGE函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。