BioGearsEngineJNI.h
1 /**************************************************************************************
2 Copyright 2015 Applied Research Associates, Inc.
3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4 this file except in compliance with the License. You may obtain a copy of the License
5 at:
6 http://www.apache.org/licenses/LICENSE-2.0
7 Unless required by applicable law or agreed to in writing, software distributed under
8 the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
9 CONDITIONS OF ANY KIND, either express or implied. See the License for the
10 specific language governing permissions and limitations under the License.
11 **************************************************************************************/
12 
13 //Standard Includes
14 #include <iostream>
15 #include <memory>
16 //External Includes
17 #include <jni.h>
18 //Project Includes
19 #include <biogears/engine/BioGearsPhysiologyEngine.h>
20 #include <biogears/engine/Controller/BioGearsEngine.h>
21 #include <biogears/engine/Equipment/ECG.h>
22 #include <biogears/cdm/scenario/SEScenarioExec.h>
23 #include <biogears/cdm/utils/SEEventHandler.h>
24 
26 {
27 public:
28  BioGearsEngineJNI(const std::string& logFile);
30 
31  void Reset();
32 
33  void ForwardDebug(const std::string& msg, const std::string& origin);
34  void ForwardInfo(const std::string& msg, const std::string& origin);
35  void ForwardWarning(const std::string& msg, const std::string& origin);
36  void ForwardError(const std::string& msg, const std::string& origin);
37  void ForwardFatal(const std::string& msg, const std::string& origin);
38  void CustomExec(double time_s, biogears::PhysiologyEngine* engine);
39  void PushData(double time_s);
40 
41  void HandlePatientEvent(CDM::enumPatientEvent::value type, bool active, const biogears::SEScalarTime* time = nullptr);
43 
44  JNIEnv* jniEnv;
45  jobject jniObj;
51  std::unique_ptr<biogears::PhysiologyEngine> eng;
52 
53  jmethodID jniDebugMethodID;
54  jmethodID jniInfoMethodID;
55  jmethodID jniWarnMethodID;
56  jmethodID jniErrorMethodID;
57  jmethodID jniFatalMethodID;
58 };
jmethodID jniErrorMethodID
Definition: BioGearsEngineJNI.h:56
~BioGearsEngineJNI()
Definition: BioGearsEngineJNI.cpp:367
bool firstUpdate
Definition: BioGearsEngineJNI.h:48
value
Underlying enum type.
Definition: Anesthesia.hxx:699
biogears::SEScenarioExec * exec
Definition: BioGearsEngineJNI.h:47
void ForwardInfo(const std::string &msg, const std::string &origin)
Definition: BioGearsEngineJNI.cpp:440
void ForwardDebug(const std::string &msg, const std::string &origin)
Definition: BioGearsEngineJNI.cpp:429
Definition: SEScenarioExec.h:25
jobject jniObj
Definition: BioGearsEngineJNI.h:45
jmethodID jniDebugMethodID
Definition: BioGearsEngineJNI.h:53
biogears::DataTrack * trk
Definition: BioGearsEngineJNI.h:46
jmethodID jniFatalMethodID
Definition: BioGearsEngineJNI.h:57
void ForwardError(const std::string &msg, const std::string &origin)
Definition: BioGearsEngineJNI.cpp:462
void CustomExec(double time_s, biogears::PhysiologyEngine *engine)
Definition: BioGearsEngineJNI.cpp:387
jmethodID jniInfoMethodID
Definition: BioGearsEngineJNI.h:54
Definition: PhysiologyEngine.h:68
value
Underlying enum type.
Definition: Patient.hxx:1004
void HandlePatientEvent(CDM::enumPatientEvent::value type, bool active, const biogears::SEScalarTime *time=nullptr)
Definition: BioGearsEngineJNI.cpp:489
Definition: Logger.h:64
void ForwardFatal(const std::string &msg, const std::string &origin)
Definition: BioGearsEngineJNI.cpp:473
Definition: SEScalarTime.h:37
int update_cnt
Definition: BioGearsEngineJNI.h:49
void Reset()
Definition: BioGearsEngineJNI.cpp:372
void ForwardWarning(const std::string &msg, const std::string &origin)
Definition: BioGearsEngineJNI.cpp:451
int updateFrequency_cnt
Definition: BioGearsEngineJNI.h:50
Definition: DataTrack.h:37
std::unique_ptr< biogears::PhysiologyEngine > eng
Definition: BioGearsEngineJNI.h:51
jmethodID jniWarnMethodID
Definition: BioGearsEngineJNI.h:55
void PushData(double time_s)
Definition: BioGearsEngineJNI.cpp:394
void HandleAnesthesiaMachineEvent(CDM::enumAnesthesiaMachineEvent::value type, bool active, const biogears::SEScalarTime *time=nullptr)
Definition: BioGearsEngineJNI.cpp:498
Definition: SEScenarioExec.h:30
Definition: BioGearsEngineJNI.h:25
Definition: SEEventHandler.h:23
JNIEnv * jniEnv
Definition: BioGearsEngineJNI.h:44
BioGearsEngineJNI(const std::string &logFile)
Definition: BioGearsEngineJNI.cpp:357