Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / src / bindings / java / jmsg_task.h
index 77daa9f..b665ac4 100644 (file)
@@ -1,7 +1,6 @@
 /* Functions related to the java task instances.                            */
 
-/* Copyright (c) 2007-2014. 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. */
 #include <jni.h>
 #include "simgrid/msg.h"
 
+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);
-/*
- * 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);
-
-
-
-#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