X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/347996b4a10c4e8579080692afa60e0afb88b60a..39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f:/src/bindings/java/jmsg_task.h diff --git a/src/bindings/java/jmsg_task.h b/src/bindings/java/jmsg_task.h index 2a89b6e2ab..b665ac4344 100644 --- a/src/bindings/java/jmsg_task.h +++ b/src/bindings/java/jmsg_task.h @@ -1,7 +1,6 @@ /* Functions related to the java task instances. */ -/* Copyright (c) 2007-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2007-2021. 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. */ @@ -12,269 +11,54 @@ #include #include "simgrid/msg.h" -SG_BEGIN_DECL() +SG_BEGIN_DECL -/** - * This function associated a native task to a java task instance. - * - * @param jtask The java task instance. - * @param task The native task to bind. - * @param env The environment of the current thread. - * - * @exception If the class Task is not found the function throws - * the ClassNotFoundException. If the field bind of - * this class is not found the function throws the exception - * NotSuchFieldException. - */ +/** Binds a native instance to a java instance. */ void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env); -/** - * This function returns a native task from a java task instance. - * - * @param jtask The java task object from which get the native task. - * @param env The environment of the current thread. - * - * @return The function returns the native task associated to the - * java task object. - * - * @exception If the class Task is not found the function throws - * the ClassNotFoundException. If the field bind of - * this class is not found the function throws the exception - * NotSuchFieldException. - */ -msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env); - -/** - * This function tests if a java task instance is valid. - * A java task object is valid if it is bind to a native - * task. - * - * @param jtask The java task to test the validity. - * @param env The environment of the current thread. - * - * @return If the java task is valid the function returns true. - * Otherwise the function returns false. - */ -jboolean jtask_is_valid(jobject jtask, JNIEnv * env); - -/* - * Class org_simgrid_msg_Task - * Method nativeInit - * Signature (); - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls); - -/* - * Class org_simgrid_msg_Task - * Method create - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_create - (JNIEnv * env, jobject jtask, jstring jname, jdouble jcomputeDuration, jdouble jmessageSize); -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_nativeFinalize(JNIEnv * env, jobject jtask); -/* - * Class org_simgrid_msg_Task - * Method parallelCreate - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_parallelCreate - (JNIEnv *, jobject, - jstring, jobjectArray, - jdoubleArray, - jdoubleArray); -/* - * Class org_simgrid_msg_Task - * Method destroy - * Signature (Lsimgrid/msg/Task;)V - */ -/* JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_destroy */ -/* (JNIEnv *, jobject); */ - -/* - * Class org_simgrid_msg_Task - * Method cancel - * Signature ()V - */ -JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel - (JNIEnv *, jobject); - -/* - * Class org_simgrid_msg_Task - * Method execute - * Signature ()V - */ -JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute - (JNIEnv *, jobject); - -/* - * Class org_simgrid_msg_Task - * Method setBound - * Signature ()V - */ -JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound - (JNIEnv *, jobject, jdouble); - -/* - * Class org_simgrid_msg_Task - * Method getName - * Signature ()Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName - (JNIEnv *, jobject); - -/* - * Class org_simgrid_msg_Task - * Method getSender - * Signature ()Lsimgrid/msg/Process; - */ -JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender - (JNIEnv *, jobject); -/* - * Class org_simgrid_msg_Task - * Method getSource - * Signature ()Lsimgrid/msg/Host; - */ -JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource - (JNIEnv *, jobject); -/* - * Class org_simgrid_msg_Task - * Method getFlopsAmount - * Signature ()D - */ -JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getFlopsAmount - (JNIEnv *, jobject); - -/** - * Class org_simgrid_msg_Task - * Method setName - * Signature (Ljava/lang/string;)V - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_setName(JNIEnv *env, jobject jtask, jobject jname); -/* - * Class org_simgrid_msg_Task - * Method setPriority - * Signature (D)V - */ -JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority - (JNIEnv *, jobject, jdouble); -/** - * Class org_simgrid_msg_Task - * Method setComputeDuration - * Signature (D)V - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_setFlopsAmount - (JNIEnv *env, jobject jtask, jdouble computationAmount); - - /** - * Class org_simgrid_msg_Task - * Method setDataSize - * Signature (D)V - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_setBytesAmount - (JNIEnv *env, jobject jtask, jdouble dataSize); - -/** - * Class org_simgrid_msg_Task - * Method send - */ -JNIEXPORT void JNICALL - Java_org_simgrid_msg_Task_send - (JNIEnv *, jobject, jstring, jdouble); - -/** - * Class org_simgrid_msg_Task - * Method sendBounded - */ -JNIEXPORT void JNICALL - Java_org_simgrid_msg_Task_sendBounded - (JNIEnv *, jobject, jstring, jdouble, jdouble); - - -/** - * Class org_simgrid_msg_Task - * Method receive - */ -JNIEXPORT jobject JNICALL - Java_org_simgrid_msg_Task_receive - (JNIEnv *, jclass, jstring, jdouble, jobject); - -/** - * Class org_simgrid_msg_Task - * Method irecv - * Signature (Ljava/lang/String;)Lorg/simgrid/msg/Comm; - */ -JNIEXPORT jobject JNICALL -Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox); -/** - * Class org_simgrid_msg_Task - * Method receiveBounded - */ -JNIEXPORT jobject JNICALL -Java_org_simgrid_msg_Task_receiveBounded(JNIEnv * env, jclass cls, - jstring jalias, jdouble jtimeout, - jobject jhost, jdouble rate); -/** - * Class org_simgrid_msg_Task - * Method irecvBounded - */ -JNIEXPORT jobject JNICALL -Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls, - jstring jmailbox, jdouble rate); -/** - * Class org_simgrid_msg_Task - * Method isend - * Signature (Lorg/simgrid/msg/Task;Ljava/lang/String;)Lorg/simgrid/msg/Comm; - */ -JNIEXPORT jobject JNICALL -Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox); -/** - * Class org_simgrid_msg_Task - * Method isendBounded - */ -JNIEXPORT jobject JNICALL -Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmailbox, jdouble maxrate); - -/** - * Class org_simgrid_msg_Task - * Method dsend - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_dsend(JNIEnv * env, jobject jtask, - jstring jalias); - -/** - * Class org_simgrid_msg_Task - * Method dsendBounded - */ -JNIEXPORT void JNICALL -Java_org_simgrid_msg_Task_dsendBounded(JNIEnv * env, jobject jtask, - jstring jalias, jdouble maxrate); - -/** - * Class org_simgrid_msg_Task - * Method listen - */ -JNIEXPORT jboolean JNICALL -Java_org_simgrid_msg_Task_listen(JNIEnv *, jclass, jstring); -/** - * Class org_simgrid_msg_Task - * Method listenFromHost - */ -JNIEXPORT jint JNICALL -Java_org_simgrid_msg_Task_listenFromHost(JNIEnv *, jclass, jstring, - jobject); -/** - * Class org_simgrid_msg_Task - * Method listenFrom - */ -JNIEXPORT jint JNICALL -Java_org_simgrid_msg_Task_listenFrom(JNIEnv *, jclass, jstring); - -SG_END_DECL() - -#endif /* !MSG_JTASK_H */ +/** Extract the native instance from the java one */ +msg_task_t jtask_to_native(jobject jtask, JNIEnv* env); + +/** Initialize the native world, called from the Java world at startup */ +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_nativeInit(JNIEnv* env, jclass cls); + +/* Implement the Java API */ + +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_create(JNIEnv* env, jobject jtask, jstring jname, + jdouble jcomputeDuration, jdouble jmessageSize); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_nativeFinalize(JNIEnv* env, jobject jtask); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_parallelCreate(JNIEnv* env, jobject jtask, jstring jname, + jobjectArray jhosts, jdoubleArray jcomputeDurations_arg, + jdoubleArray jmessageSizes); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_cancel(JNIEnv* env, jobject jtask); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_execute(JNIEnv* env, jobject jtask); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBound(JNIEnv* env, jobject jtask, jdouble bound); +JNIEXPORT jstring JNICALL Java_org_simgrid_msg_Task_getName(JNIEnv* env, jobject jtask); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setName(JNIEnv* env, jobject jtask, jobject jname); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSender(JNIEnv* env, jobject jtask); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_getSource(JNIEnv* env, jobject jtask); +JNIEXPORT jdouble JNICALL Java_org_simgrid_msg_Task_getFlopsAmount(JNIEnv* env, jobject jtask); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setPriority(JNIEnv* env, jobject jtask, jdouble prioriy); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setFlopsAmount(JNIEnv* env, jobject jtask, jdouble computationAmount); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_setBytesAmount(JNIEnv* env, jobject jtask, jdouble dataSize); + +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_sendBounded(JNIEnv* env, jobject jtask, jstring jalias, + jdouble jtimeout, jdouble maxrate); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receive(JNIEnv* env, jclass cls, jstring jalias, jdouble jtimeout); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_irecv(JNIEnv* env, jclass cls, jstring jmailbox); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_receiveBounded(JNIEnv* env, jclass cls, jstring jalias, + jdouble jtimeout, jdouble rate); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_irecvBounded(JNIEnv* env, jclass cls, jstring jmailbox, + jdouble rate); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_isend(JNIEnv* env, jobject jtask, jstring jmailbox); +JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Task_isendBounded(JNIEnv* env, jobject jtask, jstring jmailbox, + jdouble maxrate); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_dsend(JNIEnv* env, jobject jtask, jstring jalias); +JNIEXPORT void JNICALL Java_org_simgrid_msg_Task_dsendBounded(JNIEnv* env, jobject jtask, jstring jalias, + jdouble maxrate); +JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Task_listen(JNIEnv* env, jclass cls, jstring jalias); +JNIEXPORT jint JNICALL Java_org_simgrid_msg_Task_listenFromHost(JNIEnv* env, jclass cls, jstring jalias, jobject jhost); +JNIEXPORT jint JNICALL Java_org_simgrid_msg_Task_listenFrom(JNIEnv* env, jclass cls, jstring jalias); + +SG_END_DECL +#endif