]> rtime.felk.cvut.cz Git - orte.git/blob - orte/libjorte/JORTEPublicationSend.c
9b67ba21282842ee3cc44ea7c65ba128a1001d18
[orte.git] / orte / libjorte / JORTEPublicationSend.c
1 /* JORTEPublicationSend.c */
2
3 /**
4   * This code provides conversion between JAVA a C environments.
5   * The C functions are calling here and results are send to JAVA
6   * native functions. It uses the header pregenerated by JAVA
7   * (by command 'javah -jni class_with_native_function')
8   *
9   * @author Lukas Pokorny (lukas_pokorny@centrum.cz)
10   * @author CTU FEE Prague - Department of Control Engineering (dce.felk.cvut.cz)
11   * @author Project ORTE - OCERA Real Time Ethernet (www.ocera.org)
12   * @author dedication to Kj
13   * @version 0.1
14   *
15   *
16   * This program is free software; you can redistribute it and/or modify
17   * it under the terms of the GNU General Public License as published by
18   * the Free Software Foundation; either version 2 of the License, or
19   * (at your option) any later version.
20   *
21   * This program is distributed in the hope that it will be useful,
22   * but WITHOUT ANY WARRANTY; without even the implied warranty of
23   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24   * GNU General Public License for more details.
25   *
26   */
27
28
29 #include <stdlib.h>
30 // library header file's path
31 #include "orte.h"
32 // pregenerated header
33 #include "jorte/org_ocera_orte_Publication.h"
34 // enable TEST_STAGE run level
35 #include "jorte/4all.h"
36
37
38 JNIEXPORT jboolean JNICALL
39 Java_org_ocera_orte_Publication_jORTEPublicationSend
40 (JNIEnv *env, jobject obj, jlong pub_handle)
41 {
42   int       flag_ok = 0;
43   int8_t    b;
44   //
45
46   #ifdef TEST_STAGE
47     printf(":c: jORTEPublicationSend() called.. \n");
48   #endif
49
50   do
51   {
52     /////////////////////////////////////////////////
53     // call ORTE function
54     b = ORTEPublicationSend((ORTEPublication *) pub_handle);
55     #ifdef TEST_STAGE
56       printf(":c: b = ORTEPublicationSend() = %d \n",b);
57     #endif
58     if (b == ORTE_BAD_HANDLE)
59     {
60      #ifdef TEST_STAGE
61        printf(":!c: data not sent! [bad pub handle] \n");
62      #endif
63      break;
64     }
65     if(b == ORTE_OK)
66     {
67      #ifdef TEST_STAGE
68        printf(":c: data sent succesfuly.. \n");
69      #endif
70     }
71     // set flag
72     flag_ok = 1;
73   } while(0);
74
75   if(flag_ok == 0)
76   {
77     return 0;
78   }
79
80   return 1;
81
82 }