389 lines
20 KiB
C
389 lines
20 KiB
C
|
|
#pragma once
|
|||
|
|
|
|||
|
|
#include "jni.h"
|
|||
|
|
#include <QVector>
|
|||
|
|
|
|||
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>java<76><61>sig<69><67>Ӧ
|
|||
|
|
#define SIG_STRING "Ljava/lang/String;"
|
|||
|
|
#define SIG_LIST "Ljava/util/List;"
|
|||
|
|
#define SIG_DOUBLE "D"
|
|||
|
|
#define SIG_INT "I"
|
|||
|
|
#define SIG_LONG "J"
|
|||
|
|
#define SIG_SHORT "S"
|
|||
|
|
#define SIG_BOOL "Z"
|
|||
|
|
|
|||
|
|
enum BindType { BIND_NONE, BIND_STRING, BIND_CHAR, BIND_DOUBLE, BIND_INT };
|
|||
|
|
|
|||
|
|
typedef struct _Read_Result_
|
|||
|
|
{
|
|||
|
|
/* Infomations */
|
|||
|
|
jstring msg_type;
|
|||
|
|
jstring msg_id;
|
|||
|
|
jstring data_type;
|
|||
|
|
|
|||
|
|
/* Header Black */
|
|||
|
|
jstring designator; // designator
|
|||
|
|
jstring site_code; // site code
|
|||
|
|
jstring detector_code; // detector code
|
|||
|
|
jstring system_type; // system type: P for particulate; B for gas with 3-D <20><> - <20><> coincidence detection; and
|
|||
|
|
// G for all other gas systems (high-resolu-tion <20><>-spectrometry or 2-D <20><>-<2D><> coinci-dence detection)
|
|||
|
|
jstring sample_geometry; // sample geometry
|
|||
|
|
jstring spectrum_quantity; // spectrum qualifier: preliminary ( PREL )or full ( FULL)
|
|||
|
|
jstring sample_ref_id; // sample reference identification
|
|||
|
|
jstring measurement_id; // measurement identification
|
|||
|
|
jstring detector_bk_measurement_id; // detector background measurement identification
|
|||
|
|
jstring gas_bk_measurement_id; // gas background measurement identification (memory effect)
|
|||
|
|
jstring transmit_date; // transmit date (yyyy / mm / dd)
|
|||
|
|
jstring transmit_time; // transmit time (hh : mm : ss . s)
|
|||
|
|
|
|||
|
|
/* Comment Block */
|
|||
|
|
jstring comment;
|
|||
|
|
|
|||
|
|
/* Sample Block */
|
|||
|
|
jdouble dimension_1;
|
|||
|
|
jdouble dimension_2;
|
|||
|
|
|
|||
|
|
/* Acquisition Block */
|
|||
|
|
jstring acquisition_start_date; // acquisition start date (yyyy / mm / dd)
|
|||
|
|
jstring acquisition_start_time; // acquisition start time (hh : mm : ss . s)
|
|||
|
|
jdouble acquisition_real_time; // acquisition real time (s)
|
|||
|
|
jdouble acquisition_live_time; // acquisition live time (s)
|
|||
|
|
|
|||
|
|
/* Collection Block */
|
|||
|
|
jstring collection_start_date; // collection start date (yyyy / mm / dd)
|
|||
|
|
jstring collection_start_time; // collection start time (hh : mm : ss . s)
|
|||
|
|
jstring collection_stop_date; // collection stop date (yyyy / mm / dd)
|
|||
|
|
jstring collection_stop_time; // collection stop time (hh : mm : ss . s)
|
|||
|
|
jdouble air_volume; // total air volume sampled (standard cubic meters [scm])
|
|||
|
|
|
|||
|
|
/* Processing Block */
|
|||
|
|
jdouble sample_volume_of_Xe; // sample volume of Xe (cm 3 )
|
|||
|
|
jdouble uncertainty_1; // uncertainty (cm 3 )
|
|||
|
|
jdouble Xe_collection_yield; // Xe collection yield (Xe gas in sample/total Xe gas sampled)
|
|||
|
|
jdouble uncertainty_2; // uncertainty (Xe gas in sample/total Xe gas sampled)
|
|||
|
|
jstring archive_bottle_id; // archive bottle identification
|
|||
|
|
|
|||
|
|
/* Calibration Block */
|
|||
|
|
jstring date_calibration; // date of last calibration (yyyy / mm / dd)
|
|||
|
|
jstring time_calibration; // time of last calibration (hh : mm : ss)
|
|||
|
|
|
|||
|
|
/* g_Energy Block */
|
|||
|
|
jobjectArray g_energy; // <20><> -energy (keV)
|
|||
|
|
jobjectArray g_centroid_channel; // centroid channel
|
|||
|
|
jobjectArray g_uncertainty; // uncertainty (channels)
|
|||
|
|
jint g_record_count;
|
|||
|
|
|
|||
|
|
/* b_Energy Block */
|
|||
|
|
jobjectArray b_electron_energy; // electron energy (keV)
|
|||
|
|
jobjectArray b_decay_mode; // decay mode descriptor: B for <20><>-particle, C for conversion electron (CE)
|
|||
|
|
jobjectArray b_channel; // maximum channel of <20><>-particle distribution or centroid channel of CE (channels)
|
|||
|
|
jobjectArray b_uncertainty; // uncertainty (channels)
|
|||
|
|
jint b_record_count;
|
|||
|
|
|
|||
|
|
/* g_Resolution Block */
|
|||
|
|
jobjectArray g_r_energy; // <20><> -energy (keV)
|
|||
|
|
jobjectArray g_r_FWHM; // FWHM (keV)
|
|||
|
|
jobjectArray g_r_uncertainty; // uncertainty (keV)
|
|||
|
|
jint g_r_record_count;
|
|||
|
|
|
|||
|
|
/* b_Resolution Block */
|
|||
|
|
jobjectArray b_r_electron_energy; // electron energy (keV)
|
|||
|
|
jobjectArray b_r_FWHM; // FWHM (keV)
|
|||
|
|
jobjectArray b_r_uncertainty; // uncertainty (keV)
|
|||
|
|
jint b_r_record_count;
|
|||
|
|
|
|||
|
|
/* g_Efficiency Block */
|
|||
|
|
jobjectArray g_e_energy; // <20><> -energy (keV)
|
|||
|
|
jobjectArray g_e_efficiency; // efficiency (counts in peak/photon emitted)
|
|||
|
|
jobjectArray g_e_uncertainty; // uncertainty (counts in peak/photon emitted)
|
|||
|
|
jint g_e_record_count;
|
|||
|
|
|
|||
|
|
/* ROI_Limits Block */
|
|||
|
|
jobjectArray ROI_number; // ROI number
|
|||
|
|
jobjectArray POI_B_x1; // 2-D ROI <20><>-range start, x 1 (keV)
|
|||
|
|
jobjectArray POI_B_x2; // 2-D ROI <20><>-range stop, x 2 (keV)
|
|||
|
|
jobjectArray POI_G_y1; // 2-D ROI <20><>-range start, y 1 (keV)
|
|||
|
|
jobjectArray POI_G_y2; // 2-D ROI <20><>-range stop, y 2 (keV)
|
|||
|
|
jint roi_record_count;
|
|||
|
|
|
|||
|
|
/* b-gEfficiency Block */
|
|||
|
|
jobjectArray bg_nuclide_name; // nuclide name
|
|||
|
|
jobjectArray bg_ROI_number; // ROI number
|
|||
|
|
jobjectArray bg_efficiency; // <20><>-<2D><> coincidence efficiency (counts in ROI/<2F><>-<2D><> pair emitted)
|
|||
|
|
jobjectArray bg_uncertainty; // uncertainty (counts in ROI/<2F><>-<2D><> pair emitted)
|
|||
|
|
jint bg_record_count;
|
|||
|
|
|
|||
|
|
/* Ratios Block */
|
|||
|
|
jobjectArray ratio_id; // ratio identifier
|
|||
|
|
jobjectArray ROI_num_highter_G_energy_ROI; // ROI number for the higher <20><> -energy ROI
|
|||
|
|
jobjectArray ROI_num_lower_G_energy_ROI; // ROI number for the lower <20><> -energy ROI
|
|||
|
|
jobjectArray count_ratio; // Q_DECLARE_METATYPE(RMSSOHData::HeaderBlock)count ratio(counts in higher <20><> -energy ROI/counts in lower <20><> -energy ROI)
|
|||
|
|
jobjectArray count_ratio_uncertainty; // count ratio uncertainty (percent)
|
|||
|
|
jint ratio_record_count;
|
|||
|
|
|
|||
|
|
/* g_Spectrum Block */
|
|||
|
|
jlong num_g_channel; // number of <20><> channels
|
|||
|
|
jlong g_energy_span; // <20><>-energy span (keV)
|
|||
|
|
jlong g_begin_channel; // begin of channels
|
|||
|
|
jobjectArray g_counts; // count at channel
|
|||
|
|
|
|||
|
|
/* b_Spectrum Block */
|
|||
|
|
jlong num_b_channel; // number of <20><> -channels
|
|||
|
|
jlong b_energy_span; // <20><> -energy span (keV)
|
|||
|
|
jlong b_begin_channel; // begin of channels
|
|||
|
|
jobjectArray b_counts; // counts at channels
|
|||
|
|
|
|||
|
|
/* Histogram Block */
|
|||
|
|
jlong b_channels; // <20><>-channels
|
|||
|
|
jlong g_channels; // <20><>-channels
|
|||
|
|
jlong b_h_energy_span; // <20><>-energy span
|
|||
|
|
jlong g_h_energy_span; // <20><>-energy span
|
|||
|
|
jobjectArray h_counts; // counts at channels
|
|||
|
|
|
|||
|
|
/* Certificate Block */
|
|||
|
|
jdouble total_source_activity = 0; // total source activity (Bq)
|
|||
|
|
jstring assay_date; // assay date (yyyy / mm / dd)
|
|||
|
|
jstring assay_time; // assay time (hh : mm : ss)
|
|||
|
|
jstring units_activity; // units of activity: <20><>B,<2C><> <20><>b<EFBFBD><62> for Bq or <20><>[blank]<5D><>; if nothing, then <20><>B<EFBFBD><42> is assigned
|
|||
|
|
jobjectArray nuclide_name; // nuclide name
|
|||
|
|
jobjectArray half_life_time; // half-life in seconds, hours, days, or years
|
|||
|
|
jobjectArray time_unit; // time unit(Y, D, H, S)
|
|||
|
|
jobjectArray activity_nuclide_time_assay; // activity of nuclide at time of assay
|
|||
|
|
jobjectArray uncertainty; // uncertainty (%)
|
|||
|
|
jobjectArray cer_g_energy; // <20><>-energy (keV)
|
|||
|
|
jobjectArray g_intensity; // <20><>-intensity (percent)
|
|||
|
|
jobjectArray electron_decay_mode; // electron decay mode descriptor: B for <20><> particle or C for conversion electron (CE), 0 for none (that is, <20><>-only source)
|
|||
|
|
jobjectArray maximum_energy; // maximum <20><>-particle energy or CE energy (keV)
|
|||
|
|
jobjectArray intensity_b_particle; // intensity of <20><>-particle (percent)
|
|||
|
|
jint record_count = 0;
|
|||
|
|
|
|||
|
|
/* Totaleff Block */
|
|||
|
|
jobjectArray t_g_energy; // <20><>-energy (keV)
|
|||
|
|
jobjectArray total_efficiency; // total efficiency (counts/photon emitted)
|
|||
|
|
jobjectArray t_uncertainty; // uncertainty (counts/photon emitted)
|
|||
|
|
jint t_record_count;
|
|||
|
|
|
|||
|
|
}ReadResult;
|
|||
|
|
|
|||
|
|
typedef struct _Generate_Result_
|
|||
|
|
{
|
|||
|
|
//BgGasGenerate BgGas;
|
|||
|
|
jobjectArray g_ROI_B_Boundary_start;
|
|||
|
|
jobjectArray g_ROI_B_Boundary_stop;
|
|||
|
|
jobjectArray g_ROI_G_Boundary_start;
|
|||
|
|
jobjectArray g_ROI_G_Boundary_stop;
|
|||
|
|
jobjectArray g_roi_cts; //<2F><><EFBFBD>屾<EFBFBD><E5B1BE><EFBFBD><EFBFBD><D7B8><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
jobjectArray g_deduct_d_cts; //<2F><><EFBFBD>屾<EFBFBD><E5B1BE><EFBFBD>۳<D7BF>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
jint g_b_fitting_type;
|
|||
|
|
jint g_g_fitting_type;
|
|||
|
|
jobjectArray g_b_fitting_e_c;
|
|||
|
|
jobjectArray g_g_fitting_e_c;
|
|||
|
|
jobjectArray g_b_fitting_c_e;
|
|||
|
|
jobjectArray g_g_fitting_c_e;
|
|||
|
|
|
|||
|
|
//BgSampleGenerate BgSample;
|
|||
|
|
//BgBoundary s_boungdary;
|
|||
|
|
jobjectArray s_ROI_B_Boundary_start;
|
|||
|
|
jobjectArray s_ROI_B_Boundary_stop;
|
|||
|
|
jobjectArray s_ROI_G_Boundary_start;
|
|||
|
|
jobjectArray s_ROI_G_Boundary_stop;
|
|||
|
|
jobjectArray s_roi_cts; //<2F><>Ʒ<EFBFBD>ո<EFBFBD><D5B8><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
jobjectArray s_deduct_d_cts; //<2F><>Ʒ<EFBFBD>۳<D7BF>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
jint s_b_fitting_type;
|
|||
|
|
jint s_g_fitting_type;
|
|||
|
|
jobjectArray s_b_fitting_e_c;
|
|||
|
|
jobjectArray s_g_fitting_e_c;
|
|||
|
|
jobjectArray s_b_fitting_c_e;
|
|||
|
|
jobjectArray s_g_fitting_c_e;
|
|||
|
|
jstring s_collection_time; //<2F>ɼ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
|
|||
|
|
//BgOtherGenerate BgOther;
|
|||
|
|
jobjectArray ROI_net_coutns; //<2F><><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
jobjectArray ROI_net_err;
|
|||
|
|
jobjectArray ROI_con_uncer; //<2F><><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ũ<EFBFBD>ȺͲ<C8BA>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD> [n..0]Ũ<><C5A8> [n..1]<5D><>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
|||
|
|
jobjectArray ROI_con_counts_factor; //<2F><><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ũ<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ϵ<EFBFBD><CFB5> [n..0]ϵ<><CFB5>
|
|||
|
|
//enum XeType{both,_131m,_133m,none};
|
|||
|
|
jstring XeType;
|
|||
|
|
jdouble LC_Xe135; //LC XE135
|
|||
|
|
jdouble LC_Xe131m; //LC XE131m
|
|||
|
|
jdouble LC_Xe133m; //LC XE133m
|
|||
|
|
jdouble LC_Xe133; //LC XE133
|
|||
|
|
jobjectArray LC;
|
|||
|
|
jobjectArray LC_CTS;
|
|||
|
|
jdouble MDC_Xe135; //MDC XE135
|
|||
|
|
jdouble MDC_Xe131m; //MDC XE131m
|
|||
|
|
jdouble MDC_Xe133m; //MDC XE133m
|
|||
|
|
jdouble MDC_Xe133; //MDC XE133
|
|||
|
|
jobjectArray MDC;
|
|||
|
|
jobjectArray MDC_CTS;
|
|||
|
|
jdouble Xe135_con; //135<33><35>Ũ<EFBFBD><C5A8>
|
|||
|
|
jdouble Xe135_uncer; //135<33><35>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
|
|||
|
|
jdouble Xe131m_con;
|
|||
|
|
jdouble Xe131m_uncer;
|
|||
|
|
jdouble Xe133m_con;
|
|||
|
|
jdouble Xe133m_uncer;
|
|||
|
|
jdouble Xe133_con;
|
|||
|
|
jdouble Xe133_uncer;
|
|||
|
|
jobjectArray ROI_B_Boundary_start;
|
|||
|
|
jobjectArray ROI_B_Boundary_stop;
|
|||
|
|
jobjectArray ROI_G_Boundary_start;
|
|||
|
|
jobjectArray ROI_G_Boundary_stop;
|
|||
|
|
jobjectArray d_roi_cts; //̽<><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7B8><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
// <20><><EFBFBD>Ϻ<EFBFBD>ֵ
|
|||
|
|
jint b_fitting_type;
|
|||
|
|
jint g_fitting_type;
|
|||
|
|
jobjectArray b_fitting_e_c;
|
|||
|
|
jobjectArray g_fitting_e_c;
|
|||
|
|
jobjectArray b_fitting_c_e;
|
|||
|
|
jobjectArray g_fitting_c_e;
|
|||
|
|
//BgDetbgrGenerate BgDetbgr;
|
|||
|
|
jobjectArray d_ROI_B_Boundary_start;
|
|||
|
|
jobjectArray d_ROI_B_Boundary_stop;
|
|||
|
|
jobjectArray d_ROI_G_Boundary_start;
|
|||
|
|
jobjectArray d_ROI_G_Boundary_stop;
|
|||
|
|
jobjectArray d_d_roi_cts; //̽<><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7B8><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
jint d_b_fitting_type;
|
|||
|
|
jint d_g_fitting_type;
|
|||
|
|
jobjectArray d_b_fitting_e_c;
|
|||
|
|
jobjectArray d_g_fitting_e_c;
|
|||
|
|
jobjectArray d_b_fitting_c_e;
|
|||
|
|
jobjectArray d_g_fitting_c_e;
|
|||
|
|
}GenerateResult;
|
|||
|
|
|
|||
|
|
typedef struct _SOHFile_Result_
|
|||
|
|
{
|
|||
|
|
/* Header block */
|
|||
|
|
jstring station_code; // station code
|
|||
|
|
jstring detector_code; // detector code or NA if 1) there is more than one detector or 2) data are from the sam-pling site of a split station
|
|||
|
|
jstring start_date; // SOH data sampling period start date (yyyy/mm/dd)
|
|||
|
|
jstring start_time; // SOH data sampling period start time (hh:mm:ss)
|
|||
|
|
jstring designator; // designator
|
|||
|
|
jstring end_date; // SOH data sampling period end date (yyyy/mm/dd)
|
|||
|
|
jstring end_time; // SOH data sampling period end time (hh:mm:ss)
|
|||
|
|
jstring transmit_date; // transmit date (yyyy/mm/dd)
|
|||
|
|
jstring transmit_time; // transmit time (hh:mm:ss)
|
|||
|
|
|
|||
|
|
/* Air Sampler Flow block */
|
|||
|
|
jobjectArray average_flow_rate; // average flow rate (standard cubic metersper hour (scm/h))
|
|||
|
|
jobjectArray flow_rate_standard_deviation; // flow rate standard deviation (scm/h)
|
|||
|
|
jobjectArray af_start_date; // SOH data sampling interval start date (yyyy/mm/dd)
|
|||
|
|
jobjectArray af_start_time; // SOH data sampling interval start time (hh:mm:ss)
|
|||
|
|
jobjectArray af_interval_duration; // SOH data sampling interval duration (s)
|
|||
|
|
jint af_record_count;
|
|||
|
|
|
|||
|
|
/* Air Sampler Env block */
|
|||
|
|
jobjectArray temperature; // average air temperature after filter (<28><>C)
|
|||
|
|
jobjectArray pressure; // average static air pressure after filter (hPa)
|
|||
|
|
jobjectArray ae_date; // date (yyyy/mm/dd)
|
|||
|
|
jobjectArray ae_time; // time (hh:mm:ss)
|
|||
|
|
jobjectArray ae_interval_duration; // SOH data sampling interval duration (s)
|
|||
|
|
jint ae_record_count;
|
|||
|
|
|
|||
|
|
/* Det Env block */
|
|||
|
|
jobjectArray room_temperature; // average room temperature (<28><>C)
|
|||
|
|
jobjectArray detector_shield_status; // detector shield status (OPEN or CLOSED)
|
|||
|
|
jobjectArray humidity; // average room humidity (in percent relative humidity)
|
|||
|
|
jobjectArray d_voltage; // detector high voltage (V)
|
|||
|
|
jobjectArray crystal_temperature; // average crystal temperature (<28><>C)
|
|||
|
|
jobjectArray electric_cooler_status; // electric cooler status (ON or OFF)
|
|||
|
|
jobjectArray fill_fraction; // liquid nitrogen fill-fraction
|
|||
|
|
jobjectArray leakage; // detector leakage current (nanoamperes [nA])
|
|||
|
|
jobjectArray d_date; // date (yyyy/mm/dd)
|
|||
|
|
jobjectArray d_time; // time (hh:mm:ss)
|
|||
|
|
jobjectArray d_interval_duration; // SOH data sampling interval duration (s)
|
|||
|
|
jint d_record_count;
|
|||
|
|
|
|||
|
|
/* NIMBIN block */
|
|||
|
|
jobjectArray flag; // +/-
|
|||
|
|
jobjectArray n_voltage; // average NIMBIN voltage (V)
|
|||
|
|
jobjectArray n_date; // date (yyyy/mm/dd)
|
|||
|
|
jobjectArray n_time; // time (hh:mm:ss)
|
|||
|
|
jobjectArray n_interval_duration; // SOH data sampling interval duration (s)
|
|||
|
|
jint n_record_count;
|
|||
|
|
|
|||
|
|
/* Power Supply block */
|
|||
|
|
jobjectArray MAIN; // MAIN (for MAIN power supply)
|
|||
|
|
jobjectArray main_power_status; // status of main power supply (ON/OFF)
|
|||
|
|
jobjectArray AUX; // AUX (for AUXiliary power supply)
|
|||
|
|
jobjectArray aux_power_status; // status of auxiliary power supply (ON/OFF)
|
|||
|
|
jobjectArray UPS; // UPS (for Uninterrupted Power Supply)
|
|||
|
|
jobjectArray ups_status; // status of uninterruptedly power supply (ON/ OFF)
|
|||
|
|
jobjectArray p_date; // date (yyyy/mm/dd)
|
|||
|
|
jobjectArray p_time; // time (hh:mm:ss)
|
|||
|
|
jobjectArray p_interval_duration; // SOH data sampling interval duration (s)
|
|||
|
|
jint p_record_count;
|
|||
|
|
|
|||
|
|
/* Equip Status block */
|
|||
|
|
jobjectArray C_value; // status of sampling system (ON/OFF) or the SRID of the sample being collected
|
|||
|
|
jobjectArray P_value; // status of sample preparation, processing, or decay (ON/OFF) or the SRID of the sample being processed or decayed
|
|||
|
|
jobjectArray A_value; // status of detector system (ON/OFF) or the SRID of the sample being counted
|
|||
|
|
jobjectArray e_date; // date (yyyy/mm/dd)
|
|||
|
|
jobjectArray e_time; // time (hh:mm:ss)
|
|||
|
|
jobjectArray e_interval_duration; // SOH data sampling interval duration (s)
|
|||
|
|
jint e_record_count;
|
|||
|
|
|
|||
|
|
/* Tamper Env block */
|
|||
|
|
jobjectArray tamper_sensor_name; // tamper sensor name
|
|||
|
|
jobjectArray tamper_sensor_status; // tamper sensor status (OPEN or CLOSED)
|
|||
|
|
jobjectArray t_date; // date (yyyy/mm/dd)
|
|||
|
|
jobjectArray t_time; // time (hh:mm:ss)
|
|||
|
|
jobjectArray t_interval_duration; // SOH data sampling interval duration (s)
|
|||
|
|
jint t_record_count;
|
|||
|
|
|
|||
|
|
/* Process Sensors block */
|
|||
|
|
jobjectArray sensor_type; // sensor type (TEMP, PRESSURE,PROCESSFLOW, VOLTAGE, COUN-TRATES, DEWPOINT, CO2VOLUME)
|
|||
|
|
jobjectArray sensor_name; // tamper sensor status (OPEN or CLOSED)
|
|||
|
|
jobjectArray sensor_reading; // sensor reading (TEMP in <20><>C, PRESSURE in Pa, PROCESSFLOW in m3/h, VOLT-AGE in V, COUNTRATE in counts/s, DEWPOINT in <20><>C, CO2VOLUME in cm3)
|
|||
|
|
jobjectArray ps_date; // date (yyyy/mm/dd)
|
|||
|
|
jobjectArray ps_time; // time (hh:mm:ss)
|
|||
|
|
jobjectArray ps_duration; // SOH duration (s)
|
|||
|
|
jint ps_record_count;
|
|||
|
|
|
|||
|
|
/* Chromatogram block */
|
|||
|
|
jstring srid; // the SRID of the sample being counted
|
|||
|
|
jobjectArray interval_number; // interval number (starts at 1)
|
|||
|
|
jobjectArray interval_start_channel; // interval start channel
|
|||
|
|
jobjectArray c_duration; // duration between chromatogram readings (in seconds [s])
|
|||
|
|
jint interval_record_count;
|
|||
|
|
jlong total_number; // total number of chromatogram readings
|
|||
|
|
jobjectArray detector_response; // detector response
|
|||
|
|
}SOHFileResult;
|
|||
|
|
|
|||
|
|
class CplusToJava
|
|||
|
|
{
|
|||
|
|
public:
|
|||
|
|
static jobjectArray GetjobjectArray(JNIEnv* env, jclass jcls, jobject jstruct, std::string var);
|
|||
|
|
//<2F><>QVector<double>ת<><D7AA>ΪjobjectArray
|
|||
|
|
static jobjectArray QVectorD2jobjectArray(QVector<double> vec, JNIEnv* env);
|
|||
|
|
//<2F><>QVector<QString>ת<><D7AA>ΪjobjectArray
|
|||
|
|
static jobjectArray QVectorQS2jobjectArray(QVector<QString> vec, JNIEnv* env);
|
|||
|
|
//<2F><>QVector<long>ת<><D7AA>ΪjobjectArray
|
|||
|
|
static jobjectArray QVectorL2jobjectArray(QVector<long> vec, JNIEnv* env);
|
|||
|
|
//<2F><>QVector<long>ת<><D7AA>ΪjobjectArray
|
|||
|
|
static jobjectArray QVectorLL2jobjectArray(QVector<long long> vec, JNIEnv* env);
|
|||
|
|
//<2F><>QVector<int>ת<><D7AA>ΪjobjectArray
|
|||
|
|
static jobjectArray QVectorI2jobjectArray(QVector<int> vec, JNIEnv* env);
|
|||
|
|
//<2F><>QVector<short>ת<><D7AA>ΪjobjectArray
|
|||
|
|
static jobjectArray QVectorS2jobjectArray(QVector<short> vec, JNIEnv* env);
|
|||
|
|
//<2F><><EFBFBD><EFBFBD>jobject
|
|||
|
|
static jobject Createjobject(JNIEnv* env, jint esize, jobjectArray array);
|
|||
|
|
//jobjectת<74><D7AA>ΪjobjectArray
|
|||
|
|
static jobjectArray jobject2jobjectArray(JNIEnv* env, jobject array);
|
|||
|
|
//<2F><>jobjectArrayת<79><D7AA>ΪQVector<double>
|
|||
|
|
static QVector<double> jobjectArray2QVectorD(JNIEnv* env, jobjectArray listValue);
|
|||
|
|
//<2F><>jstringת<67><D7AA>ΪQString
|
|||
|
|
static QString jstring2QString(JNIEnv* env, jstring jstr);
|
|||
|
|
|
|||
|
|
//<2F>ṹ<EFBFBD><E1B9B9><EFBFBD><EFBFBD>ȡ
|
|||
|
|
static QString getStructString(JNIEnv* env, jclass jcls, jobject jstruct, const char* name);
|
|||
|
|
|
|||
|
|
//-999<39>ж<EFBFBD>
|
|||
|
|
static double DoubleLimit(const double& _data);
|
|||
|
|
static double DoubleLimit(const QString& _data);
|
|||
|
|
static QVector<QString> DoubleLimit(QVector<QString>& data);
|
|||
|
|
static QVector<QString> DoubleLimit(QVector<double> _data);
|
|||
|
|
|
|||
|
|
static QString GetSqlBy(const QVector<QString>& _data, bool bSFlag);
|
|||
|
|
};
|
|||
|
|
|