-/*
- * $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);
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);
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);
}
// tranfert failure
-void jxbt_throw_transfer_failure(JNIEnv *env,const char *task_name,const char *alias)
+void jxbt_throw_transfer_failure(JNIEnv * env, char *details)
{
-
- jxbt_throw_by_name(env,
- "simgrid/msg/TransferFailureException",
- bprintf("There has been a problem during your task transfer (task :%s / alias :%s)",task_name,alias));
-
+
+ jxbt_throw_by_name(env, "simgrid/msg/TransferFailureException", details);
+
}
// host failure Exception
-void jxbt_throw_host_failure(JNIEnv *env,const char *task_name,const char *alias)
+void jxbt_throw_host_failure(JNIEnv * env, char *details)
{
-
- jxbt_throw_by_name(env,
- "simgrid/msg/HostFailureException",
- bprintf("Host Failure while sending (task :%s / alias %s) : The host on which you are running has just been rebooted",task_name,alias));
-
-}
\ No newline at end of file
+
+ 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);
+
+}