Exemplo n.º 1
0
jobject
arfsd2ArFSDirective(JNIEnv *env, void *v_arfsd) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	ar_fs_directive_t *arfsd = (ar_fs_directive_t *)v_arfsd;

	PTRACE(2, "jni:arfsd2ArFSDirective entry");
	cls = (*env)->FindClass(env, BASEPKG"/arc/ArFSDirective");
	mid = (*env)->GetMethodID(env, cls, "<init>",
		"(Ljava/lang/String;[L"BASEPKG"/arc/Criteria;Ljava/lang/String;"
		"SJZZI[L"BASEPKG"/arc/Copy;JIJI)V");
	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(arfsd->fs_name),
	    lst2jarray(env, arfsd->ar_set_criteria,
	    BASEPKG"/arc/Criteria", crit2Criteria),
	    JSTRING(arfsd->log_path),
	    (jshort)arfsd->scan_method,
	    (jlong)arfsd->fs_interval,
	    JBOOL(arfsd->wait),
	    JBOOL(arfsd->archivemeta),
	    (jint)arfsd->num_copies,
	    arrOfPtrs2jarray(env, (void**)arfsd->fs_copy, /* metadata copies */
		MAX_COPY, BASEPKG"/arc/Copy", copy2Copy),
	    (jlong)(arfsd->change_flag),
	    (jint)(arfsd->options),
	    (jlong)(arfsd->bg_interval),
	    (jint)(arfsd->bg_time));
	PTRACE(2, "jni:arfsd2ArFSDirective() done");
	return (newObj);
}
Exemplo n.º 2
0
jobject
arcopyinst2ArCopyProc(JNIEnv *env, void *v_arcopyinst) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	struct ArcopyInstance *cpi = (struct ArcopyInstance *)v_arcopyinst;

	PTRACE(2, "jni:arcopyinst2ArCopyProc(%llu,%llu,%d,%s,%s)",
	    cpi->CiBytesWritten, cpi->CiSpace, cpi->CiFiles,
	    Str(cpi->CiMtype), Str(cpi->CiVsn));
	cls = (*env)->FindClass(env, BASEPKG"/arc/job/ArCopyProc");
	mid = (*env)->GetMethodID(env, cls, "<init>",
	    "(JJJIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");

	newObj = (*env)->NewObject(env, cls, mid,
	    (jlong)(cpi->CiBytesWritten / 1024), // KB to handle fsize_t
	    (jlong)(cpi->CiSpace / 1024), // KB required to archive all files
	    (jlong)cpi->CiPid,
	    (jint)cpi->CiFiles,
	    (jint)cpi->CiFilesWritten,
	    JSTRING(cpi->CiMtype),
	    JSTRING(cpi->CiVsn),
	    JSTRING(cpi->CiOprmsg));
	PTRACE(2, "jni:arcopyinst2ArCopyProc() done");
	return (newObj);
}
Exemplo n.º 3
0
jobject
cparams2CopyParams(JNIEnv *env, void *v_cparams) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	ar_set_copy_params_t *cp = (ar_set_copy_params_t *)v_cparams;

	PTRACE(2, "jni:cparams2CopyParams entry");

	if (cp == NULL) {
		PTRACE(2, "jni: cparams2CopyParams called with NULL v_cparams");
		return (NULL);
	}

	cls = (*env)->FindClass(env, BASEPKG"/arc/CopyParams");
	mid = (*env)->GetMethodID(env, cls, "<init>",
	    "(Ljava/lang/String;IZLjava/lang/String;ILjava/lang/String;"
	    "Ljava/lang/String;Ljava/lang/String;ZZ[L"BASEPKG"/arc/ArPriority;"
	    "ZIIIISJILjava/lang/String;Ljava/lang/String;"
	    "L"BASEPKG"/rec/RecyclerParams;IZZSJJJ)V");

	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(cp->ar_set_copy_name),
	    (jint)cp->bufsize,
	    JBOOL(cp->buflock),
	    ull2jstr(env, cp->archmax),
	    (jint)cp->drives,
	    ull2jstr(env, cp->drivemax),
	    ull2jstr(env, cp->drivemin),
	    JSTRING(cp->disk_volume),
	    JBOOL(cp->fillvsns),
	    JBOOL(cp->tapenonstop),
	    lst2jarray(env, cp->priority_lst,
	    BASEPKG"/arc/ArPriority", priority2ArPriority),
	    JBOOL(cp->unarchage),
	    (jint)cp->join,
	    (jint)cp->rsort,
	    (jint)cp->sort,
	    (jint)cp->offline_copy,
	    (jshort)cp->reserve,
	    uint2jlong(cp->startage),
	    (jint)cp->startcount,
	    ull2jstr(env, cp->startsize),
	    ull2jstr(env, cp->ovflmin),
	    recparams2RecyclerParams(env, &cp->recycle),
	    // DEBUG params
	    (jint)cp->simdelay,
	    JBOOL(cp->tstovfl),
	    JBOOL(cp->directio),
	    (jshort)(cp->rearch_stage_copy),
	    (jlong)(cp->change_flag),
	    (jlong)(cp->queue_time_limit),
	    (jlong)(cp->fillvsns_min));
	PTRACE(2, "jni:cparams2CopyParams() done");
	return (newObj);
}
Exemplo n.º 4
0
JNIEXPORT jstring JNICALL
Java_com_sun_netstorage_samqfs_mgmt_fs_Restore_searchFiles(JNIEnv *env,
    jclass cls /*ARGSUSED*/, jobject ctx, jstring fsname, jstring dumppath,
    jint entries, jstring filepath, jstring restrictions) {

	char *str = NULL;

	jboolean isCopy, isCopy2, isCopy3, isCopy4;
	char *fstr = GET_STR(fsname, isCopy);
	char *dstr = GET_STR(dumppath, isCopy2);
	char *cstr = GET_STR(filepath, isCopy3);
	char *rstr = GET_STR(restrictions, isCopy4);

	PTRACE(1, "jni:Restore_searchFiles(...,%s, %s) entry",
	    Str(cstr), Str(rstr));
	if (-1 == search_versions(CTX,
	    fstr, dstr, (int)entries, cstr, rstr, &str)) {
		REL_STR(fsname, fstr, isCopy);
		REL_STR(dumppath, dstr, isCopy2);
		REL_STR(filepath, cstr, isCopy3);
		REL_STR(restrictions, rstr, isCopy4);
		ThrowEx(env);
		return (NULL);
	}

	REL_STR(fsname, fstr, isCopy);
	REL_STR(dumppath, dstr, isCopy2);
	REL_STR(filepath, cstr, isCopy3);
	REL_STR(restrictions, rstr, isCopy4);

	PTRACE(1, "jni:Restore_searchFiles() done");
	return (JSTRING(str));
}
Exemplo n.º 5
0
void
ThrowEx(JNIEnv *env) {

	jclass ec;
	jmethodID mid;
	jthrowable throwObj;
	char className[100];

	PTRACE(1, "jni:error %d recvd: %s.", samerrno, samerrmsg);
	if ((samerrno >= SE_SAMRPC_API_BEGIN &&
	    samerrno <= SE_RPC_NOT_YET) ||
	    samerrno == SE_NETWORK_DOWN) {
		strcpy(className, BASEPKG"/SamFSCommException");
	} else {
		switch (samerrno) {
		case SE_RPC_TIMEDOUT:
			strcpy(className,
			    BASEPKG"/SamFSTimeoutException");
			break;
		case SE_RPC_INSECURE_CLIENT:
			strcpy(className,
			    BASEPKG"/SamFSAccessDeniedException");
			break;
		default:
			strcpy(className, BASEPKG"/SamFSException");
		}
	}
	PTRACE(1, "jni:throw %s", className);
	ec = (*env)->FindClass(env, className);
	mid = (*env)->GetMethodID(env, ec, "<init>", "(Ljava/lang/String;I)V");
	throwObj = (*env)->NewObject(env, ec, mid,
	    JSTRING(samerrmsg), (jint)samerrno);
	(*env)->Throw(env, throwObj);
}
Exemplo n.º 6
0
JNIEXPORT jstring JNICALL
Java_com_sun_netstorage_samqfs_mgmt_fs_Restore_restoreInodes(JNIEnv *env,
    jclass cls /*ARGSUSED*/, jobject ctx, jstring fsname, jstring dumppath,
    jobjectArray filepaths, jobjectArray destinations, jintArray copies,
    jint replaceType) {

	char *str = NULL;

	jboolean isCopy, isCopy2;
	char *fstr = GET_STR(fsname, isCopy);
	char *dstr = GET_STR(dumppath, isCopy2);

	PTRACE(1, "jni:Restore_restoreInodes() entry");

	if (-1 == restore_inodes(CTX, fstr,
	    dstr, jarray2lst(env, filepaths, "java/Lang/String", String2charr),
	    jarray2lst(env, destinations, "java/Lang/String", String2charr),
	    jintArray2lst(env, copies), replaceType,
	    &str)) {

		REL_STR(fsname, fstr, isCopy);
		REL_STR(dumppath, dstr, isCopy2);
		ThrowEx(env);
		return (NULL);
	}
	REL_STR(fsname, fstr, isCopy);
	REL_STR(dumppath, dstr, isCopy2);
	PTRACE(1, "jni:Restore_restoreInodes() done");
	return (JSTRING(str));

}
Exemplo n.º 7
0
jobject
host2Host(JNIEnv *env, void *v_host_info) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	host_info_t *h = (host_info_t *)v_host_info;

	PTRACE(3, "jni:%s|%d|%d|%d|%d",
	    Str(h->host_name),
	    (NULL == h->ip_addresses) ? -1 : h->ip_addresses->length,
	    h->server_priority,
	    h->state,
	    h->current_server);

	PTRACE(2, "jni:host2Host() entry");
	cls = (*env)->FindClass(env, BASEPKG"/fs/Host");
	/* call the private constructor to initialize all fields */
	mid = (*env)->GetMethodID(env, cls, "<init>",
	    "(Ljava/lang/String;[Ljava/lang/String;IZI)V");
	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(h->host_name),
	    lst2jarray(env, h->ip_addresses, "java/lang/String", charr2String),
	    (jint)h->server_priority,
	    JBOOL(h->current_server),
	    (jint)h->state);

	PTRACE(2, "jni:host2Host() done");
	return (newObj);
}
Exemplo n.º 8
0
JNIEXPORT jstring JNICALL
Java_com_sun_netstorage_samqfs_mgmt_fs_Restore_takeDump(JNIEnv *env,
    jclass cls /*ARGSUSED*/, jobject ctx, jstring fsname, jstring dumppath) {

	char *str = NULL;

	jboolean isCopy, isCopy2;
	char *fstr = GET_STR(fsname, isCopy);
	char *dstr = GET_STR(dumppath, isCopy2);

	PTRACE(1, "jni:Restore_takeDump(...,%s, %s) entry",
	    Str(fstr), Str(dstr));
	if (-1 == take_dump(CTX, fstr, dstr, &str)) {
		REL_STR(fsname, fstr, isCopy);
		REL_STR(dumppath, dstr, isCopy2);
		ThrowEx(env);
		return (NULL);
	}

	REL_STR(fsname, fstr, isCopy);
	REL_STR(dumppath, dstr, isCopy2);

	PTRACE(1, "jni:Restore_takeDump() done");
	return (JSTRING(str));
}
Exemplo n.º 9
0
void JniFirebase::AuthWithPassword (const char* email, const char* password, long callback) {
    auto env = getEnv();
    if (!GetClass(env, "jnistub/AuthPasswordStub", &s_passwordClass)) {
        return;
    }
    
    if (!GetMethod(env, s_passwordClass, "<init>",
                   "(Lcom/firebase/client/Firebase;JLjava/lang/String;Ljava/lang/String;)V", &s_passwordCtor)) {
        return;
    }
    
    JOBJECT localRef = JOBJECT(env,
                               env->NewObject(s_passwordClass, s_passwordCtor, getJniObject(),
                                              (jlong)callback,
                                              (jstring)JSTRING(env, env->NewStringUTF(email)),
                                              (jstring)JSTRING(env, env->NewStringUTF(password))));
}
Exemplo n.º 10
0
void JniFirebase::AuthWithOAuthToken (const char* provider, const char* token, long callback) {
    auto env = getEnv();
    if (!GetClass(env, "jnistub/AuthOAuthStub", &s_oauthClass)) {
        return;
    }
    
    if (!GetMethod(env, s_oauthClass, "<init>",
                   "(Lcom/firebase/client/Firebase;JLjava/lang/String;Ljava/lang/String;)V",
                   &s_oauthCtor)) {
        return;
    }
    
    JOBJECT localRef = JOBJECT(env,
                               env->NewObject(s_oauthClass, s_oauthCtor, getJniObject(),
                                              (jlong)callback,
                                              (jstring)JSTRING(env, env->NewStringUTF(provider)),
                                              (jstring)JSTRING(env, env->NewStringUTF(token))));
}
Exemplo n.º 11
0
/*
 * convert an unsigned long long to a jstring (does not fit a jlong)
 */
jstring
ull2jstr(JNIEnv *env, unsigned long long val) {
	static char buf[21]; /* size of 2^64-1 in decimal representation */

	buf[20] = '\0';
	if (val == fsize_reset)	// field not set
		return (NULL);
	else
		return (JSTRING(ulltostr(val, &buf[20])));
}
Exemplo n.º 12
0
jobject
arglobd2ArGlobalDirective(JNIEnv *env, void *v_arglobd) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	ar_global_directive_t *argd = (ar_global_directive_t *)v_arglobd;

	PTRACE(2, "jni:arglobd2ArGlobalDirective entry");
	cls = (*env)->FindClass(env, BASEPKG"/arc/ArGlobalDirective");
	mid = (*env)->GetMethodID(env, cls, "<init>",
	    "([L"BASEPKG"/arc/BufDirective;[L"BASEPKG"/arc/BufDirective;"
	    "[L"BASEPKG"/arc/BufDirective;[L"BASEPKG"/arc/DrvDirective;"
	    "JSLjava/lang/String;Ljava/lang/String;ZZ"
	    "[L"BASEPKG"/arc/Criteria;JI[Ljava/lang/String;JI)V");

	newObj = (*env)->NewObject(env, cls, mid,
	    lst2jarray(env, argd->ar_bufs,
	    BASEPKG"/arc/BufDirective", bufdir2BufDirective),
	    lst2jarray(env, argd->ar_max,
	    BASEPKG"/arc/BufDirective", bufdir2BufDirective),
	    lst2jarray(env, argd->ar_overflow_lst,
	    BASEPKG"/arc/BufDirective", bufdir2BufDirective),
	    lst2jarray(env, argd->ar_drives,
	    BASEPKG"/arc/DrvDirective", drvdir2DrvDirective),
	    (jlong)(argd->ar_interval),
	    (jshort)argd->scan_method,
	    JSTRING(argd->log_path),
	    JSTRING(argd->notify_script),
	    JBOOL(argd->wait),
	    JBOOL(argd->archivemeta),
	    lst2jarray(env, argd->ar_set_lst,
		BASEPKG"/arc/Criteria", crit2Criteria),
	    (jlong)(argd->change_flag),
	    (jint)(argd->options),
	    lst2jarray(env, argd->timeouts, "java/lang/String",
		charr2String),
	    (jlong)(argd->bg_interval),
	    (jint)(argd->bg_time));

	PTRACE(2, "jni:arglobd2ArGlobalDirective() done");
	return (newObj);
}
Exemplo n.º 13
0
void JniFirebase::SetString(const char *value) {
    if (!m_firebase) {
        return;
    }
    auto env = getEnv();
    
    if (!GetMethod(env, s_firebaseClass, s_firebaseSetValueName, s_firebaseSetValueSig, &s_firebaseSetValue)) {
        return;
    }
    env->CallVoidMethod(m_firebase, s_firebaseSetValue, (jstring)JSTRING(env, env->NewStringUTF(value)));
}
Exemplo n.º 14
0
void JRealComplexObj::access(int n, JLinkObj& link, const JDataType& data) { 
  switch (n) {
    case OUT_DATA :
      JCOMPLEX(data) = cval;
      break;
    case OUT_STRING :
      JSTRING(data) = label;
      break;
    default:
      JLabelObj::access(n, link, data);
  }
}
Exemplo n.º 15
0
jobject
archset2ArSet(JNIEnv *env, void *v_arch_set) {
	jclass cls;
	jmethodID mid;
	jobject newObj;
	arch_set_t *as = (arch_set_t *)v_arch_set;

	PTRACE(2, "jni:archset2ArSet() entry");

	if (as == NULL)
		return (NULL);

	cls = (*env)->FindClass(env, BASEPKG"/arc/ArSet");
	mid = (*env)->GetMethodID(env, cls, "<init>",
		"(Ljava/lang/String;"
		"Ljava/lang/String;"
		"S[L"BASEPKG"/arc/Criteria;"
		"[L"BASEPKG"/arc/CopyParams;"
		"[L"BASEPKG"/arc/CopyParams;"
		"[L"BASEPKG"/arc/VSNMap;"
		"[L"BASEPKG"/arc/VSNMap;)V");

	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(as->name),
	    JSTRING(as->description),
	    (jshort)(as->type),
	    lst2jarray(env, as->criteria, BASEPKG"/arc/Criteria",
		crit2Criteria),
	    arrOfPtrs2jarray(env, (void *) as->copy_params,
		5, BASEPKG"/arc/CopyParams", cparams2CopyParams),
	    arrOfPtrs2jarray(env, (void *) as->rearch_copy_params,
		5, BASEPKG"/arc/CopyParams", cparams2CopyParams),
	    arrOfPtrs2jarray(env, (void *) as->vsn_maps, 5,
		BASEPKG"/arc/VSNMap", map2VSNMap),
	    arrOfPtrs2jarray(env, (void *) as->rearch_vsn_maps, 5,
		BASEPKG"/arc/VSNMap", map2VSNMap));
	PTRACE(2, "jni:archset2ArSet() done");
	return (newObj);
}
Exemplo n.º 16
0
void
ThrowWarnings(JNIEnv *env, jobjectArray msgs) {

	jclass ec;
	jmethodID mid;
	jthrowable throwObj;

	PTRACE(1, "jni:warnings received");
	ec = (*env)->FindClass(env, BASEPKG"/SamFSWarnings");
	mid = (*env)->GetMethodID(env, ec, "<init>",
	    "(Ljava/lang/String;[Ljava/lang/String;)V");
	throwObj = (*env)->NewObject(env, ec, mid, JSTRING(samerrmsg), msgs);
	(*env)->Throw(env, throwObj);
}
Exemplo n.º 17
0
jobject
archreq2ArchReq(JNIEnv *env, void *v_archreq) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	struct ArchReq *areq = (struct ArchReq *)v_archreq;
	int file_count;

	PTRACE(2, "jni:archreq2ArchReq entry");
	cls = (*env)->FindClass(env, BASEPKG"/arc/job/ArchReq");
	mid = (*env)->GetMethodID(env, cls, "<init>",
	    "(Ljava/lang/String;Ljava/lang/String;JIJIIJS"
	    "[L"BASEPKG"/arc/job/ArCopyProc;)V");

	/* Showqueue uses ArCount if ArFiles is 0 so we will too. */
	file_count = (areq->ArFiles != 0) ? areq->ArFiles : areq->ArCount;

	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(areq->ArFsname),
	    JSTRING(areq->ArAsname),
	    (jlong)areq->ArTime,
	    (jint)areq->ArState,
	    (jlong)areq->ArSeqnum,
	    (jint)areq->ArDrivesUsed,
	    (jint)file_count,
	    (jlong)(areq->ArSpace / 1024),
	    (jshort)areq->ArFlags,
	    arr2jarray(env,
		areq->ArCpi,
		sizeof (struct ArcopyInstance),
		areq->ArDrives,
		BASEPKG"/arc/job/ArCopyProc",
		arcopyinst2ArCopyProc));
	PTRACE(2, "jni:archreq2ArchReq() done");
	return (newObj);
}
Exemplo n.º 18
0
JniFirebase::JniFirebase(const char* path) {
    auto env = getEnv();
    
    if (!GetClass(env, "com/firebase/client/Firebase", &s_firebaseClass)) {
        return;
    }
        
    if (!GetMethod(env, s_firebaseClass, "<init>", "(Ljava/lang/String;)V", &s_firebaseCtor)) {
        return;
    }
        
    JOBJECT localRef = JOBJECT(env, env->NewObject(s_firebaseClass, s_firebaseCtor,
                                                  (jstring)JSTRING(env, env->NewStringUTF(path))));
    m_firebase = env->NewGlobalRef(localRef);
}
Exemplo n.º 19
0
void
ThrowMultiStepOpEx(JNIEnv *env, int failedStep) {

	jclass ec;
	jmethodID mid;
	jthrowable throwObj;

	PTRACE(1, "jni:throw SamFSMultiStepOpException(%d)", failedStep);
	ec = (*env)->FindClass(env, BASEPKG"/SamFSMultiStepOpException");
	mid = (*env)->GetMethodID(env, ec, "<init>",
	    "(Ljava/lang/String;II)V");
	throwObj = (*env)->NewObject(env, ec, mid,
	    JSTRING(samerrmsg), (jint)samerrno, (jint)failedStep);
	(*env)->Throw(env, throwObj);
}
Exemplo n.º 20
0
void
ThrowMultiMsgEx(JNIEnv *env, jobjectArray msgs) {

	jclass ec;
	jmethodID mid;
	jthrowable throwObj;

	PTRACE(1,
	    "jni:multimsg error %d received: %s.", samerrno, Str(samerrmsg));
	ec = (*env)->FindClass(env, BASEPKG"/SamFSMultiMsgException");
	mid = (*env)->GetMethodID(env, ec, "<init>",
	    "(Ljava/lang/String;I[Ljava/lang/String;)V");
	throwObj = (*env)->NewObject(env, ec, mid,
	    JSTRING(samerrmsg), (jint)samerrno, msgs);
	(*env)->Throw(env, throwObj);
}
Exemplo n.º 21
0
JNIEXPORT jstring JNICALL
Java_com_sun_netstorage_samqfs_mgmt_arc_Archiver_archiveFiles(JNIEnv *env,
    jclass cls /* ARGSUSED */, jobject ctx, jobjectArray files, jint options) {
	char *jobID;


	PTRACE(1, "jni:Releaser_releaseFiles() entry");
	if (-1 == archive_files(CTX,
	    jarray2lst(env, files, "java/lang/String", String2charr),
	    (int32_t)options, &jobID)) {
		ThrowEx(env);
		return (NULL);
	}

	PTRACE(1, "jni:Archiver_archiveFiles() exit");
	return (JSTRING(jobID));
}
Exemplo n.º 22
0
void JniFirebase::SetJson(const char *value) {
    auto env = getEnv();
    
    if (s_objectMapperInstance == NULL) {
        lock<std::mutex> lock(s_objectMapperLock);
        if (s_objectMapperInstance == NULL) {
            if (!GetClass(env, "java/util/HashMap", &s_objectClass)) {
                return;
            }

            if (!GetClass(env, s_objectMapperClassName, &s_objectMapperClass)) {
                return;
            }

            jmethodID ctor = NULL;
            if (!GetMethod(env, s_objectMapperClass, "<init>", "()V", &ctor))
            {
                return;
            }

            if (!GetMethod(env, s_objectMapperClass, s_objectMapperReadValueName, s_objectMapperReadValueSig, &s_objectMapperReadValue)) {
                return;
            }

            JOBJECT localRef = JOBJECT(env, env->NewObject(s_objectMapperClass, ctor));
            s_objectMapperInstance = env->NewGlobalRef(localRef);
        }
    }
    
    JOBJECT localValue = JOBJECT(env,
                                env->CallObjectMethod(s_objectMapperInstance, s_objectMapperReadValue,
                                                      (jstring)JSTRING(env, env->NewStringUTF(value)), s_objectClass));

    if (env->ExceptionCheck() == JNI_TRUE) {
        SetString(GetJNIExceptionDescription(env, env->ExceptionOccurred()));
        return;
    }
    
    if (!GetMethod(env, s_firebaseClass, s_firebaseSetValueName, s_firebaseSetValueSig, &s_firebaseSetValue)) {
        return;
    }
    
    env->CallVoidMethod(m_firebase, s_firebaseSetValue, (jobject)localValue);
}
Exemplo n.º 23
0
jobject
drvdir2DrvDirective(JNIEnv *env, void *v_drvdir) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	drive_directive_t *dd = (drive_directive_t *)v_drvdir;

	PTRACE(2, "jni:drvdir2DrvDirective() entry");
	cls = (*env)->FindClass(env, BASEPKG"/arc/DrvDirective");
	mid = (*env)->GetMethodID(env, cls, "<init>",
		"(Ljava/lang/String;IJ)V");
	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(dd->auto_lib),
	    (jint)dd->count,
	    (jlong)(dd->change_flag));
	PTRACE(2, "jni:drvdir2DrvDirective() done");
	return (newObj);
}
Exemplo n.º 24
0
jobject
reldir2ReleaserDirective(JNIEnv *env, void *v_reldir) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	float sprio, aprio, mprio, rprio;
	rl_fs_directive_t *rl = (rl_fs_directive_t *)v_reldir;

	PTRACE(2, "jni:reldir2ReleaserDirective(%x,%x)", env, rl);

	sprio = aprio = mprio = rprio = -1;
	if (SIMPLE_AGE_PRIO == rl->type)
		sprio = rl->age_priority.simple;
	if (DETAILED_AGE_PRIO == rl->type) {
		aprio = rl->age_priority.detailed.access_weight;
		mprio = rl->age_priority.detailed.modify_weight;
		rprio = rl->age_priority.detailed.residence_weight;
	}

	cls = (*env)->FindClass(env, BASEPKG"/rel/ReleaserDirective");
	/* call the private constructor to initialize all fields */
	mid = (*env)->GetMethodID(env, cls,
	    "<init>", "(Ljava/lang/String;JZZZZIFSFFFFI)V");

	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(rl->releaser_log),
	    (jlong)rl->min_residence_age,
	    JBOOL(rl->no_release),
	    JBOOL(rl->rearch_no_release),
	    JBOOL(rl->display_all_candidates),
	    JBOOL(rl->debug_partial),
	    (jint)rl->list_size,
	    (jfloat)rl->size_priority,
	    (jshort)rl->type,
	    (jfloat)sprio,
	    (jfloat)aprio,
	    (jfloat)mprio,
	    (jfloat)rprio,
	    (jint)rl->change_flag);
	PTRACE(2, "jni:reldir2ReleaserDirective done", env, rl);
	return (newObj);
}
Exemplo n.º 25
0
jobject
crit2Criteria(JNIEnv *env, void *v_arcrit) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	ar_set_criteria_t *crit = (ar_set_criteria_t *)v_arcrit;

	PTRACE(2, "jni:crit2Criteria() entry");
	cls = (*env)->FindClass(env, BASEPKG"/arc/Criteria");
	mid = (*env)->GetMethodID(env, cls, "<init>",
	    "(Ljava/lang/String;"
	    "Ljava/lang/String;"
	    "Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;"
	    "Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;"
	    "CCI[L"BASEPKG"/arc/Copy;S[BZLjava/lang/String;"
	    "JII)V");
	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(crit->fs_name),
	    JSTRING(crit->set_name),
	    JSTRING(crit->path),
	    JSTRING(crit->name), /* regexp */
	    (crit->minsize == fsize_reset) ? NULL :
	    ull2jstr(env, crit->minsize),
	    (crit->maxsize == fsize_reset) ? NULL :
	    ull2jstr(env, crit->maxsize),
	    JSTRING(crit->user),
	    JSTRING(crit->group),
	    (jchar)(crit->release),
	    (jchar)(crit->stage),
	    (jint)crit->access,
	    arrOfPtrs2jarray(env, (void**)crit->arch_copy, MAX_COPY,
	    BASEPKG"/arc/Copy", copy2Copy),
	    (jshort)(crit->num_copies),
	    convertKeyC2J(env, crit->key),
	    JBOOL(crit->nftv),
	    JSTRING(crit->after),
	    (jlong)(crit->change_flag),
	    (jint)(crit->attr_flags),
	    (jint)(crit->partial_size));

	PTRACE(2, "jni:crit2Criteria() done");
	return (newObj);
}
Exemplo n.º 26
0
jobject
relfs2ReleaserJob(JNIEnv *env, void *v_relfs) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	release_fs_t *relfs = (release_fs_t *)v_relfs;

	PTRACE(1, "jni:relfs2ReleaserJob() entry");
	cls = (*env)->FindClass(env, BASEPKG"/rel/ReleaserJob");
	/* call the private constructor to initialize all fields */
	mid = (*env)->GetMethodID(env, cls, "<init>",
	    "(Ljava/lang/String;SS)V");
	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(relfs->fi_name),
	    (jshort)relfs->fi_low,
	    (jshort)relfs->used_pct);
	PTRACE(1, "jni:relfs2ReleaserJob() done");
	return (newObj);
}
Exemplo n.º 27
0
JNIEXPORT jstring JNICALL
Java_com_sun_netstorage_samqfs_mgmt_fs_Host_getMetadataServerName(
	JNIEnv *env, jclass cls /*ARGSUSED*/, jobject ctx, jstring fsName) {

	jboolean isCopy;
	char *cstr = GET_STR(fsName, isCopy);
	char *res = NULL;

	PTRACE(1, "jni:Host_getMetadataServerName() entry");
	if (-1 == get_mds_host(CTX, cstr, &res)) {
		REL_STR(fsName, cstr, isCopy);
		ThrowEx(env);
		return (NULL);
	}

	REL_STR(fsName, cstr, isCopy);

	PTRACE(1, "jni:Host_getMetadataServerName() done");
	return (JSTRING(res));
}
Exemplo n.º 28
0
jobject
bufdir2BufDirective(JNIEnv *env, void *v_bufdir) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	buffer_directive_t *bd = (buffer_directive_t *)v_bufdir;

	PTRACE(2, "jni:bufdir2BufDirective() entry");
	cls = (*env)->FindClass(env, BASEPKG"/arc/BufDirective");
	mid = (*env)->GetMethodID(env, cls, "<init>",
		"(Ljava/lang/String;Ljava/lang/String;ZJ)V");
	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(bd->media_type),
	    ull2jstr(env, bd->size),
	    JBOOL(bd->lock),
	    (jlong)(bd->change_flag));
	PTRACE(2, "jni:bufdir2BufDirective() done");
	return (newObj);
}
Exemplo n.º 29
0
JNIEXPORT jstring JNICALL
Java_com_sun_netstorage_samqfs_mgmt_fs_Restore_getParams(JNIEnv *env,
    jclass cls /*ARGSUSED*/, jobject ctx, jstring fsname) {

	char *str = NULL;
	jboolean isCopy;
	char *cstr = GET_STR(fsname, isCopy);

	PTRACE(1, "jni:Restore_getParams(..., %s)", Str(cstr));
	if (-1 == get_csd_params(CTX, cstr, &str)) {
		REL_STR(fsname, cstr, isCopy);
		ThrowEx(env);
		return (NULL);
	}

	REL_STR(fsname, cstr, isCopy);

	PTRACE(1, "jni:Restore_getParams() done %s", Str(str));

	return (JSTRING(str));
}
Exemplo n.º 30
0
jobject
priority2ArPriority(JNIEnv *env, void *v_prio) {

	jclass cls;
	jmethodID mid;
	jobject newObj;
	priority_t *prio = (priority_t *)v_prio;

	PTRACE(2, "jni:priority2ArPriority() entry");
	cls = (*env)->FindClass(env, BASEPKG"/arc/ArPriority");
	mid = (*env)->GetMethodID(env, cls, "<init>",
		"(Ljava/lang/String;FI)V");

	newObj = (*env)->NewObject(env, cls, mid,
	    JSTRING(prio->priority_name),
	    (jfloat)prio->value,
	    (jint)prio->change_flag);
	PTRACE(2, "jni:priority2ArPriority() done");

	return (newObj);
}