X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0bb2f73d0ec9cd4db699a802178b21db75d8f2af..6297441a796323e62ff1a6f1404207db2e55cfb4:/src/jxbt_utilities.h diff --git a/src/jxbt_utilities.h b/src/jxbt_utilities.h index dc06f1bca8..4752c7cb61 100644 --- a/src/jxbt_utilities.h +++ b/src/jxbt_utilities.h @@ -1,6 +1,6 @@ /* Various JNI helper functions */ -/* Copyright (c) 2007, 2008, 2009, 2010. The SimGrid Team. +/* Copyright (c) 2007-2012. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -53,7 +53,7 @@ jfieldID jxbt_get_sfield(JNIEnv * env, const char *classname, /* ***************** */ #define jxbt_check_res(fun, res, allowed_exceptions, detail) do {\ - if (res != MSG_OK && res | allowed_exceptions) { \ + if (res != MSG_OK && (res | allowed_exceptions)) { \ xbt_die("%s failed with error code %d, which is not an allowed exception. Please fix me.",fun,res); \ } else if (res == MSG_HOST_FAILURE) { \ jxbt_throw_host_failure(env, detail); \ @@ -65,6 +65,8 @@ jfieldID jxbt_get_sfield(JNIEnv * env, const char *classname, jxbt_throw_task_cancelled(env,detail); \ } } while (0) +/* Throws an exception according to its name */ +void jxbt_throw_by_name(JNIEnv * env, const char *name, char *msg); /** Thrown on internal error of this layer, or on problem with JNI */ void jxbt_throw_jni(JNIEnv * env, const char *msg); /** Thrown when using an object not bound to a native one where it should, or reverse (kinda JNI issue) */