-/*
- * $Id$
- *
- * Various JNI helper functions
- *
- * Copyright 2006,2007 Martin Quinson, Malek Cherier All right reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package.
- *
- */
+/* Various JNI helper functions */
+
+/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
#include <stdlib.h> /* abort */
#include "xbt/misc.h"
if (!id) {
jmethodID tostr_id =
- (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+ (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
jstring jclassname =
- (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
+ (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
- char *m =
- bprintf("Cannot find method %s(%s) in %s", name, signature, classname);
+ char *m = bprintf("Cannot find method %s(%s) in %s", name, signature,
+ classname);
(*env)->ReleaseStringUTFChars(env, jclassname, classname);
if (!id) {
jmethodID tostr_id =
- (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+ (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
jstring jclassname =
- (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
+ (jstring) (*env)->CallObjectMethod(env, cls, tostr_id, NULL);
const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
char *m =
- bprintf("Cannot find static method %s(%s) in %s", name, signature,
- classname);
+ bprintf("Cannot find static method %s(%s) in %s", name, signature,
+ classname);
(*env)->ReleaseStringUTFChars(env, jclassname, classname);
{
jclass cls;
-
jmethodID id;
cls = jxbt_get_class(env, classname);
if (!id) {
char *m =
- bprintf("Cannot find static method %s(%s) in %s", name, signature,
- classname);
+ bprintf("Cannot find static method %s(%s) in %s", name, signature,
+ classname);
jxbt_throw_jni(env, m);
{
jclass cls;
-
jmethodID id;
cls = jxbt_get_class(env, classname);
id = (*env)->GetMethodID(env, cls, name, signature);
if (!id) {
- char *m =
- bprintf("Cannot find method %s(%s) in %s", name, signature, classname);
+ char *m = bprintf("Cannot find method %s(%s) in %s", name, signature,
+ classname);
jxbt_throw_jni(env, m);
if (!id) {
jmethodID getname_id =
- (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
+ (*env)->GetMethodID(env, cls, "getName", "()Ljava/lang/String;");
jstring jclassname =
- (jstring) (*env)->CallObjectMethod(env, cls, getname_id, NULL);
+ (jstring) (*env)->CallObjectMethod(env, cls, getname_id, NULL);
const char *classname = (*env)->GetStringUTFChars(env, jclassname, 0);
- char *m =
- bprintf("Cannot find field %s %s in %s", signature, name, classname);
+ char *m = bprintf("Cannot find field %s %s in %s", signature, name,
+ classname);
(*env)->ReleaseStringUTFChars(env, jclassname, classname);
id = (*env)->GetFieldID(env, cls, name, signature);
if (!id) {
- char *m =
- bprintf("Cannot find field %s %s in %s", signature, name, classname);
+ char *m = bprintf("Cannot find field %s %s in %s", signature, name,
+ classname);
jxbt_throw_jni(env, m);
{
jclass cls = (*env)->FindClass(env, name);
- xbt_assert2(cls, "%s (Plus severe error: class %s not found)\n", msg, name);
+ xbt_assert2(cls, "%s (Plus severe error: class %s not found)\n", msg,
+ name);
(*env)->ThrowNew(env, cls, msg);
jxbt_throw_by_name(env, "java/lang/NullPointerException", msg);
}
-
/* Errors on user side */
void jxbt_throw_illegal(JNIEnv * env, char *msg)
{
"simgrid/msg/ProcessNotFoundException",
bprintf("No such process: %s", invalid_name));
}
+
+// tranfert failure
+void jxbt_throw_transfer_failure(JNIEnv * env, char *details)
+{
+
+ jxbt_throw_by_name(env, "simgrid/msg/TransferFailureException", details);
+
+}
+
+// host failure Exception
+void jxbt_throw_host_failure(JNIEnv * env, char *details)
+{
+
+ jxbt_throw_by_name(env,
+ "simgrid/msg/HostFailureException",
+ bprintf("Host Failure %s", details));
+
+}
+
+// time out failure Exception
+void jxbt_throw_time_out_failure(JNIEnv * env, char *details)
+{
+
+ jxbt_throw_by_name(env, "simgrid/msg/TimeoutException", details);
+
+}
+
+// task Cancelled exception
+void jxbt_throw_task_cancelled(JNIEnv * env, char *details)
+{
+
+ jxbt_throw_by_name(env, "simgrid/msg/TaskCancelledException", details);
+
+}