bool js_cocos2dx_audioengine_AudioEngine_preload(JSContext *cx, uint32_t argc, jsval *vp)
{
    JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
    bool ok = true;
    
    do {
        if (argc == 2) {
            std::string arg0;
            ok &= jsval_to_std_string(cx, args.get(0), &arg0);
            if (!ok) { ok = true; break; }
            std::function<void (bool)> arg1;
            do {
			    if(JS_TypeOfValue(cx, args.get(1)) == JSTYPE_FUNCTION)
			    {
			        std::shared_ptr<JSFunctionWrapper> func(new JSFunctionWrapper(cx, args.thisv().toObjectOrNull(), args.get(1)));
			        auto lambda = [=](bool larg0) -> void {
			            JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
			            jsval largv[1];
			            largv[0] = BOOLEAN_TO_JSVAL(larg0);
			            JS::RootedValue rval(cx);
			            bool succeed = func->invoke(1, &largv[0], &rval);
			            if (!succeed && JS_IsExceptionPending(cx)) {
			                JS_ReportPendingException(cx);
			            }
			        };
			        arg1 = lambda;
			    }
			    else
			    {
			        arg1 = nullptr;
			    }
			} while(0)
			;
            if (!ok) { ok = true; break; }
            cocos2d::experimental::AudioEngine::preload(arg0, arg1);
            return true;
        }
    } while (0);
    
    do {
        if (argc == 1) {
            std::string arg0;
            ok &= jsval_to_std_string(cx, args.get(0), &arg0);
            if (!ok) { ok = true; break; }
            cocos2d::experimental::AudioEngine::preload(arg0);
            return true;
        }
    } while (0);
    JS_ReportError(cx, "js_cocos2dx_audioengine_AudioEngine_preload : wrong number of arguments");
    return false;
}
Esempio n. 2
0
vec3
ParticleManager::GetRotation( IN HParticleEmitter hParticleEmitter )
{
    vec3 rval(0,0,0);

    ParticleEmitter* pParticleEmitter = GetObjectPointer(hParticleEmitter);
    if (!pParticleEmitter)
    {
        RETAILMSG(ZONE_ERROR, "ERROR: ParticleManager::GetRotation( 0x%x ): invalid ParticleEmitter", (UINT32)hParticleEmitter);
        return rval;
    }

    return pParticleEmitter->GetRotation();
}
bool js_EventListenerAcceleration_create(JSContext *cx, uint32_t argc, jsval *vp)
{
    JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
    bool ok = true;
    if (argc == 1) {
        std::function<void (Acceleration *, Event *)> arg0;
        JSFunctionWrapper *wrapper = nullptr;
        do {
            if(JS_TypeOfValue(cx, args.get(0)) == JSTYPE_FUNCTION)
            {
                JS::RootedObject jstarget(cx, args.thisv().toObjectOrNull());
                std::shared_ptr<JSFunctionWrapper> func(new JSFunctionWrapper(cx, jstarget, args.get(0)));
                wrapper = func.get();
                auto lambda = [=](Acceleration* acc, Event* event) -> void {
                    JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
                    jsval largv[2];
                    largv[0] = ccacceleration_to_jsval(cx, *acc);
                    if (event) {
                        js_type_class_t *typeClassEvent = js_get_type_from_native<Event>(event);
                        largv[1] = OBJECT_TO_JSVAL(jsb_get_or_create_weak_jsobject(cx, event, typeClassEvent));
                    } else {
                        largv[1] = JSVAL_NULL;
                    };
                    JS::RootedValue rval(cx);
                    bool succeed = func->invoke(2, &largv[0], &rval);
                    if (!succeed && JS_IsExceptionPending(cx)) {
                        JS_ReportPendingException(cx);
                    }
                };
                arg0 = lambda;
            }
            else
            {
                arg0 = nullptr;
            }
        } while(0);
        JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_EventListenerAcceleration_create : Error processing arguments");
        
        auto ret = EventListenerAcceleration::create(arg0);
        JS::RootedValue jsret(cx, OBJECT_TO_JSVAL(js_get_or_create_jsobject<EventListenerAcceleration>(cx, ret)));
        if (wrapper)
        {
            wrapper->setOwner(cx, jsret);
        }
        args.rval().set(jsret);
        return true;
    }
    JS_ReportError(cx, "js_cocos2dx_EventListenerAcceleration_create : wrong number of arguments");
    return false;
}
Esempio n. 4
0
static Node *idxaddr(Simp *s, Node *seq, Node *idx)
{
    Node *a, *t, *u, *v; /* temps */
    Node *r; /* result */
    Type *ty;
    size_t sz;

    a = rval(s, seq, NULL);
    ty = exprtype(seq)->sub[0];
    if (exprtype(seq)->type == Tyarray)
        t = addr(s, a, ty);
    else if (seq->expr.type->type == Tyslice)
        t = load(addr(s, a, mktyptr(seq->line, ty)));
    else
        die("Can't index type %s\n", tystr(seq->expr.type));
    assert(t->expr.type->type == Typtr);
    u = rval(s, idx, NULL);
    u = ptrsized(s, u);
    sz = tysize(ty);
    v = mul(u, disp(seq->line, sz));
    r = add(t, v);
    return r;
}
TEST_F(GlobalPropertyTests, test3) {
    ASSERT_TRUE(rs::jsapi::Global::DefineProperty(rt_, "test3", 
        [](JSContext* cx, unsigned argc, JS::Value* vp) {
            auto args = JS::CallArgsFromVp(argc, vp);
            args.rval().setObject(*JS_NewObject(cx, nullptr, JS::NullPtr()));
            return true;
        },
        nullptr)
    );
        
    rs::jsapi::Value result(rt_);
    rt_.Evaluate("(function(){return test3;})();", result);
    ASSERT_TRUE(result.isObject());
}
Esempio n. 6
0
vec3
LayerManager::GetRotation( IN HLayer hLayer )
{
    vec3 rval(0,0,0);

    Layer* pLayer = GetObjectPointer(hLayer);
    if (!pLayer)
    {
        RETAILMSG(ZONE_ERROR, "ERROR: LayerManager::GetRotation( 0x%x ): invalid Layer", (UINT32)hLayer);
        return rval;
    }

    return pLayer->GetRotation();
}
std::unique_ptr<MAST::FieldFunction<RealMatrixX> >
MAST::Multilayer2DSectionElementPropertyCard::
prestress_B_matrix( MAST::ElementBase& e) {
    
    // prepare vector of matrix functions from each layer
    std::vector<MAST::FieldFunction<RealMatrixX>*> layer_mats(_layers.size());
    for (unsigned int i=0; i<_layers.size(); i++)
        layer_mats[i] = _layers[i]->prestress_B_matrix(e).release();
    
    // now create the integrated object
    std::unique_ptr<MAST::FieldFunction<RealMatrixX> > rval
    (new MAST::Multilayer2DSectionProperty::Matrix(layer_mats));
    
    return rval;
}
Esempio n. 8
0
 uchar_vector sha256Rounds(const uchar_vector& data, uint64_t rounds) {
     unsigned char hash[SHA256_DIGEST_LENGTH];
     SHA256_CTX sha256;
     SHA256_Init(&sha256);
     SHA256_Update(&sha256, &data[0], data.size());
     SHA256_Final(hash, &sha256);
     for (int i = 0; i < rounds - 1; i++) {
         SHA256_Init(&sha256);
         SHA256_Update(&sha256, hash, SHA256_DIGEST_LENGTH);
         SHA256_Final(hash, &sha256);
     }
     
     uchar_vector rval(hash, SHA256_DIGEST_LENGTH);
     return rval;
 }
Esempio n. 9
0
static Node *lval(Simp *s, Node *n)
{
    Node *r;

    switch (exprop(n)) {
        case Ovar:      r = n;  break;
        case Oidx:      r = deref(idxaddr(s, n->expr.args[0], n->expr.args[1])); break;
        case Oderef:    r = deref(rval(s, n->expr.args[0], NULL)); break;
        case Omemb:     r = deref(membaddr(s, n)); break;
        default:
            die("%s cannot be an lval", opstr(exprop(n)));
            break;
    }
    return r;
}
Esempio n. 10
0
TEST_F(GlobalPropertyTests, test2) {
    ASSERT_TRUE(rs::jsapi::Global::DefineProperty(rt_, "test2", 
        [](JSContext* cx, unsigned argc, JS::Value* vp) {
            auto args = JS::CallArgsFromVp(argc, vp);
            args.rval().setString(JS_NewStringCopyZ(cx, "hello"));
            return true;
        },
        nullptr)
    );
        
    rs::jsapi::Value result(rt_);
    rt_.Evaluate("(function(){return test2;})();", result);
    ASSERT_TRUE(result.isString());
    ASSERT_STREQ("hello", result.ToString().c_str());
}
Esempio n. 11
0
TEST_F(GlobalPropertyTests, test1) {
    ASSERT_TRUE(rs::jsapi::Global::DefineProperty(rt_, "test1", 
        [](JSContext* cx, unsigned argc, JS::Value* vp) {
            auto args = JS::CallArgsFromVp(argc, vp);
            args.rval().setInt32(42);
            return true;
        },
        nullptr)
    );
        
    rs::jsapi::Value result(rt_);
    rt_.Evaluate("(function(){return test1;})();", result);
    ASSERT_TRUE(result.isInt32());
    ASSERT_EQ(42, result.toInt32());
}
Esempio n. 12
0
bool ScriptInterface::LoadGlobalScript(const VfsPath& filename, const std::wstring& code)
{
	JSAutoRequest rq(m->m_cx);
	JS::RootedObject global(m->m_cx, m->m_glob);
	utf16string codeUtf16(code.begin(), code.end());
	uint lineNo = 1;
	// CompileOptions does not copy the contents of the filename string pointer.
	// Passing a temporary string there will cause undefined behaviour, so we create a separate string to avoid the temporary.
	std::string filenameStr = filename.string8();

	JS::RootedValue rval(m->m_cx);
	JS::CompileOptions opts(m->m_cx);
	opts.setFileAndLine(filenameStr.c_str(), lineNo);
	return JS::Evaluate(m->m_cx, global, opts,
			reinterpret_cast<const char16_t*>(codeUtf16.c_str()), (uint)(codeUtf16.length()), &rval);
}
Esempio n. 13
0
static Node *simpucon(Simp *s, Node *n, Node *dst)
{
    Node *tmp, *u, *tag, *elt, *sz;
    Node *r;
    Type *ty;
    Ucon *uc;
    size_t i;

    /* find the ucon we're constructing here */
    ty = tybase(n->expr.type);
    uc = NULL;
    for (i = 0; i < ty->nmemb; i++) {
        if (!strcmp(namestr(n->expr.args[0]), namestr(ty->udecls[i]->name))) {
            uc = ty->udecls[i];
            break;
        }
    }
    if (!uc)
        die("Couldn't find union constructor");

    if (dst)
        tmp = dst;
    else
        tmp = temp(s, n);

    /* Set the tag on the ucon */
    u = addr(s, tmp, mktype(n->line, Tyuint));
    tag = mkintlit(n->line, uc->id);
    tag->expr.type = mktype(n->line, Tyuint);
    append(s, set(deref(u), tag));


    /* fill the value, if needed */
    if (!uc->etype)
        return tmp;
    elt = rval(s, n->expr.args[1], NULL);
    u = addk(u, Wordsz);
    if (stacktype(uc->etype)) {
        elt = addr(s, elt, uc->etype);
        sz = disp(n->line, tysize(uc->etype));
        r = mkexpr(n->line, Oblit, u, elt, sz, NULL);
    } else {
        r = set(deref(u), elt);
    }
    append(s, r);
    return tmp;
}
static bool jsb_cocos2dx_navmesh_NavMeshAgent_move(JSContext *cx, uint32_t argc, jsval *vp)
{
	JSObject *obj = JS_THIS_OBJECT(cx, vp);
	js_proxy_t *proxy = jsb_get_js_proxy(obj);
	cocos2d::NavMeshAgent* cobj = (cocos2d::NavMeshAgent *)(proxy ? proxy->ptr : NULL);
	JSB_PRECONDITION2(cobj, cx, false, "Invalid Native Object");

	bool ok = true;

	if (argc == 1){
		JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
		cocos2d::Vec3 arg0;
		ok &= jsval_to_vector3(cx, args.get(0), &arg0);
		JSB_PRECONDITION2(ok, cx, false, "jsb_cocos2dx_navmesh_NavMeshAgent_move : Error processing arguments");
		cobj->move(arg0);
		return true;
	}

	if (argc == 2){
		JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
		cocos2d::Vec3 arg0;
		ok &= jsval_to_vector3(cx, args.get(0), &arg0);
		JSB_PRECONDITION2(ok, cx, false, "jsb_cocos2dx_navmesh_NavMeshAgent_move : Error processing arguments");

		std::shared_ptr<JSFunctionWrapper> func(new JSFunctionWrapper(cx, obj, args.get(1)));

		cobj->move(arg0, [=](cocos2d::NavMeshAgent *agent, float totalTimeAfterMove)->void{
			jsval arg[2];
			js_proxy_t *agentProxy = js_get_or_create_proxy(cx, agent);
			if (proxy)
				arg[0] = OBJECT_TO_JSVAL(agentProxy->obj);
			else
				arg[0] = JSVAL_NULL;
			arg[1] = DOUBLE_TO_JSVAL((double)totalTimeAfterMove);
			JS::RootedValue rval(cx);

			bool invokeOk = func->invoke(2, arg, &rval);
			if (!invokeOk && JS_IsExceptionPending(cx)) {
				JS_ReportPendingException(cx);
			}
		});
		return true;
	}
    
    JS_ReportError(cx, "jsb_cocos2dx_navmesh_NavMeshAgent_move : wrong number of arguments: %d, was expecting %d or %d", argc, 1, 2);
    return false;
}
const std::string RemoteMinerClient::ReverseAddressHex(const uint160 address) const
{
	std::string rval("");
	std::string addresshex=address.GetHex();
	for(std::string::size_type i=0; i<addresshex.size(); i+=2)
	{
		if(i+1<addresshex.size())
		{
			rval=addresshex.substr(i,2)+rval;
		}
		else
		{
			rval=addresshex.substr(i,1)+rval;
		}
	}
	return rval;
}
Esempio n. 16
0
nsresult
ProxyAutoConfig::GetProxyForURI(const nsCString &aTestURI,
                                const nsCString &aTestHost,
                                nsACString &result)
{
  if (mJSNeedsSetup)
    SetupJS();

  if (!mJSRuntime || !mJSRuntime->IsOK())
    return NS_ERROR_NOT_AVAILABLE;

  JSContext *cx = mJSRuntime->Context();
  JSAutoRequest ar(cx);
  JSAutoCompartment ac(cx, mJSRuntime->Global());

  // the sRunning flag keeps a new PAC file from being installed
  // while the event loop is spinning on a DNS function. Don't early return.
  sRunning = this;
  mRunningHost = aTestHost;

  nsresult rv = NS_ERROR_FAILURE;
  JS::RootedString uriString(cx, JS_NewStringCopyZ(cx, aTestURI.get()));
  JS::RootedString hostString(cx, JS_NewStringCopyZ(cx, aTestHost.get()));

  if (uriString && hostString) {
    JS::AutoValueArray<2> args(cx);
    args[0].setString(uriString);
    args[1].setString(hostString);

    JS::Rooted<JS::Value> rval(cx);
    bool ok = JS_CallFunctionName(cx, mJSRuntime->Global(),
                                  "FindProxyForURL", args, rval.address());

    if (ok && rval.isString()) {
      nsDependentJSString pacString;
      if (pacString.init(cx, rval.toString())) {
        CopyUTF16toUTF8(pacString, result);
        rv = NS_OK;
      }
    }
  }

  mRunningHost.Truncate();
  sRunning = nullptr;
  return rv;
}
bool js_cocos2dx_cocosAds_CocosAds_addInterstitialAdListener(JSContext *cx, uint32_t argc, jsval *vp)
{
    JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
    bool ok = true;
    JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
    js_proxy_t *proxy = jsb_get_js_proxy(obj);
    CocosAds* cobj = (CocosAds *)(proxy ? proxy->ptr : NULL);
    JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_cocosAds_CocosAds_addInterstitialAdListener : Invalid Native Object");
    if (argc == 1) {
        std::function<void (int, std::basic_string<char>)> arg0;
        do {
            if(JS_TypeOfValue(cx, args.get(0)) == JSTYPE_FUNCTION)
            {
                std::shared_ptr<JSFunctionWrapper> func(new JSFunctionWrapper(cx, args.thisv().toObjectOrNull(), args.get(0)));
                auto lambda = [=](int larg0, std::basic_string<char> larg1) -> void
                {
                    cocos2d::Director::getInstance()->getScheduler()->performFunctionInCocosThread([=]{
                        JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
                        jsval largv[2];
                        largv[0] = int32_to_jsval(cx, larg0);
                        largv[1] = std_string_to_jsval(cx, larg1);
                        JS::RootedValue rval(cx);
                        bool succeed = func->invoke(2, &largv[0], &rval);
                        if (!succeed && JS_IsExceptionPending(cx)) {
                            JS_ReportPendingException(cx);
                        }
                    });
                };
                arg0 = lambda;
            }
            else
            {
                arg0 = nullptr;
            }
        } while(0)
            ;
        JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_cocosAds_CocosAds_addInterstitialAdListener : Error processing arguments");
        cobj->addInterstitialAdListener(arg0);
        args.rval().setUndefined();
        return true;
    }
    
    JS_ReportError(cx, "js_cocos2dx_cocosAds_CocosAds_addInterstitialAdListener : wrong number of arguments: %d, was expecting %d", argc, 1);
    return false;
}
Esempio n. 18
0
String
TmpFileImpl::releaseFile()
{
	String rval(m_filename);
	if (m_hdl != OW_INVALID_FILEHANDLE) 
	{
		if (closeFile(m_hdl) == -1)
		{
			OW_THROW_ERRNO_MSG(IOException, "Unable to close file");
		}
		// work like close, but don't delete the file, it will be given to the
		// caller
		delete [] m_filename;
		m_filename = NULL;
		m_hdl = OW_INVALID_FILEHANDLE;
	}
	return rval;
}
Esempio n. 19
0
/* pat; seq; 
 *      body;;
 *
 * =>
 *      .pseudo = seqinit
 *      jmp :cond
 *      :body
 *           ...body...
 *      :step
 *           ...step...
 *      :cond
 *           ...cond...
 *           cjmp (cond) :match :end
 *      :match
 *           ...match...
 *           cjmp (match) :body :step
 *      :end
 */
static void simpiter(Simp *s, Node *n)
{
    Node *lbody, *lstep, *lcond, *lmatch, *lend;
    Node *idx, *len, *dcl, *seq, *val, *done;
    Node *zero;

    lbody = genlbl();
    lstep = genlbl();
    lcond = genlbl();
    lmatch = genlbl();
    lend = genlbl();

    lappend(&s->loopstep, &s->nloopstep, lstep);
    lappend(&s->loopexit, &s->nloopexit, lend);

    zero = mkintlit(n->line, 0);
    zero->expr.type = tyintptr;

    seq = rval(s, n->iterstmt.seq, NULL);
    idx = gentemp(s, n, tyintptr, &dcl);
    declarelocal(s, dcl);

    /* setup */
    append(s, assign(s, idx, zero));
    jmp(s, lcond);
    simp(s, lbody);
    /* body */
    simp(s, n->iterstmt.body);
    /* step */
    simp(s, lstep);
    simp(s, assign(s, idx, addk(idx, 1)));
    /* condition */
    simp(s, lcond);
    len = seqlen(s, seq, tyintptr);
    done = mkexpr(n->line, Olt, idx, len, NULL);
    cjmp(s, done, lmatch, lend);
    simp(s, lmatch);
    val = load(idxaddr(s, seq, idx));
    umatch(s, n->iterstmt.elt, val, val->expr.type, lbody, lstep);
    simp(s, lend);

    s->nloopstep--;
    s->nloopexit--;
}
Esempio n. 20
0
int run(JSContext * cx)
{
	/* Enter a request before running anything in the context */
	JSAutoRequest ar(cx);

	/* Create the global object in a new compartment. */
	JSObject *global = JS_NewGlobalObject(cx, &global_class, nullptr);
	if (!global)
		return 3;

	/* Set the context's global */
	JSAutoCompartment ac(cx, global);
	JS_SetGlobalObject(cx, global);

	/* Populate the global object with the standard globals, like Object and Array. */
	if (!JS_InitStandardClasses(cx, global))
		 return 4;

	/* Your application code here. This may include JSAPI calls to create your own custom JS objects and run scripts. */
	js::RootedValue rval(cx);
	int rc = JS_EvaluateScript(cx, global, runCommand, strlen(runCommand),
				   "TestCommand", 0, rval.address());
	if (!rc)
		return 5;

	if (!JSVAL_IS_STRING(rval))
		return 0;

/* Result of the command is a string, print it out. */
	js::RootedString str(cx, JSVAL_TO_STRING(rval));
	size_t encodedLength = JS_GetStringEncodingLength(cx, str);
	rc = 0;
	char *buffer = (char *)malloc(encodedLength + 1);
	buffer[encodedLength] = '\0';
	size_t result = JS_EncodeStringToBuffer(cx, str, buffer, encodedLength);
	if (result == (size_t) - 1)
		rc = 6;
	else
		puts(buffer);
	free(buffer);

	return rc;
}
Esempio n. 21
0
static Node *intconvert(Simp *s, Node *from, Type *to, int issigned)
{
    Node *r;
    size_t fromsz, tosz;

    fromsz = size(from);
    tosz = tysize(to);
    r = rval(s, from, NULL);
    if (fromsz > tosz) {
        r = mkexpr(from->line, Otrunc, r, NULL);
    } else if (tosz > fromsz) {
        if (issigned)
            r = mkexpr(from->line, Oswiden, r, NULL);
        else
            r = mkexpr(from->line, Ozwiden, r, NULL);
    }
    r->expr.type = to;
    return r;
}
Esempio n. 22
0
static Node *assignat(Simp *s, Node *r, size_t off, Node *val)
{
    Node *pval, *pdst;
    Node *sz;
    Node *st;

    val = rval(s, val, NULL);
    pdst = add(r, disp(val->line, off));

    if (stacknode(val)) {
        sz = disp(val->line, size(val));
        pval = addr(s, val, exprtype(val));
        st = mkexpr(val->line, Oblit, pdst, pval, sz, NULL);
    } else {
        st = set(deref(pdst), val);
    }
    append(s, st);
    return r;
}
bool js_cocos2dx_nativehelper_NativeHelper_setPacketAssembler(JSContext *cx, uint32_t argc, jsval *vp)
{
    JS::CallArgs args = JS::CallArgsFromVp(argc, vp);
    bool ok = true;
    JS::RootedObject obj(cx, args.thisv().toObjectOrNull());
    js_proxy_t *proxy = jsb_get_js_proxy(obj);
    cocos2d::NativeHelper* cobj = (cocos2d::NativeHelper *)(proxy ? proxy->ptr : NULL);
    JSB_PRECONDITION2( cobj, cx, false, "js_cocos2dx_nativehelper_NativeHelper_setPacketAssembler : Invalid Native Object");
    if (argc == 1) {
        std::function<void (std::basic_string<char>, int)> arg0;
        do {
		    if(JS_TypeOfValue(cx, args.get(0)) == JSTYPE_FUNCTION)
		    {
		        std::shared_ptr<JSFunctionWrapper> func(new JSFunctionWrapper(cx, args.thisv().toObjectOrNull(), args.get(0)));
		        auto lambda = [=](std::basic_string<char> larg0, int larg1) -> void {
		            JSB_AUTOCOMPARTMENT_WITH_GLOBAL_OBJCET
		            jsval largv[2];
		            largv[0] = std_string_to_jsval(cx, larg0);
		            largv[1] = int32_to_jsval(cx, larg1);
		            JS::RootedValue rval(cx);
		            bool ok = func->invoke(2, &largv[0], &rval);
		            if (!ok && JS_IsExceptionPending(cx)) {
		                JS_ReportPendingException(cx);
		            }
		        };
		        arg0 = lambda;
		    }
		    else
		    {
		        arg0 = nullptr;
		    }
		} while(0)
		;
        JSB_PRECONDITION2(ok, cx, false, "js_cocos2dx_nativehelper_NativeHelper_setPacketAssembler : Error processing arguments");
        cobj->setPacketAssembler(arg0);
        args.rval().setUndefined();
        return true;
    }

    JS_ReportError(cx, "js_cocos2dx_nativehelper_NativeHelper_setPacketAssembler : wrong number of arguments: %d, was expecting %d", argc, 1);
    return false;
}
Esempio n. 24
0
MAPID valueMap::getID(const JS::Value& val, bool autoAdd)
{
//     VALUEMAPIT it = mMap.begin();
//     for (; it != mMap.end(); it++)
//     {
//         if (it->second.heapValue.get() == val)
//             return it->first;
//     }

    if (autoAdd)
    {
        JS::RootedValue rval(g_cx, val);
        return valueMap::add(rval, 10);
    }
	else
	{
		return containsValue(val);
	}
    return 0;
}
Esempio n. 25
0
static Node *visit(Simp *s, Node *n)
{
    size_t i;
    Node *r;

    for (i = 0; i < n->expr.nargs; i++)
        n->expr.args[i] = rval(s, n->expr.args[i], NULL);
    if (ispure(n)) {
        r = n;
    } else {
        if (exprtype(n)->type == Tyvoid) {
            r = NULL;
            append(s, n);
        } else {
            r = temp(s, n);
            append(s, set(r, n));
        }
    }
    return r;
}
Esempio n. 26
0
json_spirit::Value BuildJSONNode(AtNode::Ptr p)
{
	if (!p)
	{
		json_spirit::Value rval;
		return rval;
	}

	// Special case for numbers/booleans to allow round-tripping
	if (p->children.count("@number"))
	{
		// Convert to double
		std::wstringstream str;
		str << p->value;
		double val = 0;
		str >> val;

		json_spirit::Value rval(val);
		return rval;
	}
Esempio n. 27
0
Image Image::fromNoise(int w, int h) //static
{
    Image rval(w, h);

    std::mt19937 rng;
    std::uniform_int_distribution<int> roll(0,255);

    for (int i=0; i<w; ++i)
    {
        for (int j=0; j<h; ++j)
        {
            for (int k=0; k<4; ++k)
            {
                rval.at(j,i)[k] = roll(rng);
            }
        }
    }

    return rval;
}
Esempio n. 28
0
CIMValue RemoteMethodProvider::invokeMethod(
    const ProviderEnvironmentIFCRef& env,
    const String& ns,
    const CIMObjectPath& path,
    const String& methodName,
    const CIMParamValueArray& in,
    CIMParamValueArray& out )
{
    LoggerRef lgr = env->getLogger(COMPONENT_NAME);
    OW_LOG_DEBUG(lgr, Format("RemoteMethodProvider::invokeMethod ns = %1, path = %2, methodName = %3", ns, path, methodName));
    String lUrl(m_url);
    ClientCIMOMHandleRef hdl = RemoteProviderUtils::getRemoteClientCIMOMHandle(lUrl, m_useConnectionCredentials, env, m_pool, m_alwaysSendCredentials);
    OW_LOG_DEBUG(lgr, Format("RemoteMethodProvider::invokeMethod got ClientCIMOMHandleRef for url: %1", lUrl));

    ClientCIMOMHandleConnectionPool::HandleReturner returner(hdl, m_pool, lUrl);

    OW_LOG_DEBUG(lgr, "RemoteMethodProvider::invokeMethod calling remote WBEM server");

    CIMValue rval(CIMNULL);
    try
    {
        rval = hdl->invokeMethod(ns, path, methodName, in, out);
    }
    catch (CIMException& e)
    {
        if (e.getErrNo() == CIMException::NOT_SUPPORTED)
        {
            e.setErrNo(CIMException::FAILED); // providers shouldn't ever throw NOT_SUPPORTED
        }
        OW_LOG_INFO(lgr, Format("RemoteMethodProvider::invokeMethod remote WBEM server threw: %1", e));
        throw;
    }
    catch (const Exception& e)
    {
        String msg = Format("RemoteMethodProvider::invokeMethod failed calling remote WBEM server: %1", e);
        OW_LOG_ERROR(lgr, msg);
        OW_THROWCIMMSG_SUBEX(CIMException::FAILED, msg.c_str(), e);
    }
    return rval;
}
Esempio n. 29
0
File: flatten.c Progetto: oridb/mc
static Node *
visit(Flattenctx *s, Node *n)
{
	size_t i;
	Node *r;

	for (i = 0; i < n->expr.nargs; i++)
		n->expr.args[i] = rval(s, n->expr.args[i]);
	if (opispure[exprop(n)]) {
		r = n;
	} else {
		if (exprtype(n)->type == Tyvoid) {
			r = mkexpr(n->loc, Olit, mkvoid(n->loc), NULL);
			r->expr.type = mktype(n->loc, Tyvoid);
			append(s, n);
		} else {
			r = temp(s, n);
			append(s, asn(r, n));
		}
	}
	return r;
}
Esempio n. 30
0
void CConsole::ProcessBuffer(const wchar_t* szLine)
{
	shared_ptr<ScriptInterface> pScriptInterface = g_GUI->GetActiveGUI()->GetScriptInterface();
	JSContext* cx = pScriptInterface->GetContext();
	JSAutoRequest rq(cx);

	if (szLine == NULL) return;
	if (wcslen(szLine) <= 0) return;

	ENSURE(wcslen(szLine) < CONSOLE_BUFFER_SIZE);

	m_deqBufHistory.push_front(szLine);
	SaveHistory(); // Do this each line for the moment; if a script causes
	               // a crash it's a useful record.

	// Process it as JavaScript

	JS::RootedValue rval(cx);
	pScriptInterface->Eval(szLine, &rval);
	if (!rval.isUndefined())
		InsertMessage(pScriptInterface->ToString(&rval));
}