Esempio n. 1
0
rho_param *rho_param_dup(rho_param *p)
{
    int i, lim;
    rho_param *ret = NULL;

    if (!p) return NULL;

    switch (p->type) {
    case RHO_PARAM_STRING:
        ret = rho_param_str(p->v.string);
        break;
    case RHO_PARAM_ARRAY:
        ret = rho_param_array(p->v.array->size);
        for (i = 0, lim = p->v.array->size; i < lim; ++i)
            ret->v.array->value[i] = rho_param_dup(p->v.array->value[i]);
        break;
    case RHO_PARAM_HASH:
        ret = rho_param_hash(p->v.hash->size);
        for (i = 0, lim = p->v.hash->size; i < lim; ++i) {
            ret->v.hash->name[i] = strdup(p->v.hash->name[i]);
            ret->v.hash->value[i] = rho_param_dup(p->v.hash->value[i]);
        }
        break;
    }
    return ret;
}
Esempio n. 2
0
extern "C" void mapview_create(rho_param *p) {
	RHO_MAP_TRACE("MapView create executed");
	RhoMapViewOpenViewCommand* command = new RhoMapViewOpenViewCommand();
	ourMapViewDlg.mParams = rho_param_dup(p);

	RhoNativeViewUtil::executeInUIThread_WM(command);
}
Esempio n. 3
0
AndroidMapDevice::AndroidMapDevice(rho_param *p)
    :m_params(rho_param_dup(p)), m_mapview(NULL), m_jdevice(NULL)
{
    RHO_MAP_TRACE("AndroidMapDevice: ctor start");
    JNIEnv *env = jnienv();
    jclass cls = getJNIClass(RHODES_JAVA_CLASS_MAPVIEW);
    if (!cls) return;
    jmethodID mid = getJNIClassStaticMethod(env, cls, "create", "(J)V");
    if (!mid) return;
    env->CallStaticVoidMethod(cls, mid, (jlong)this);
    RHO_MAP_TRACE("AndroidMapDevice: ctor finish");
}