Ejemplo n.º 1
0
/**
 * Class:     DDS_WaitSet
 * Method:    jniDetachCondition
 * Signature: (LDDS/Condition;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniDetachCondition)(
    JNIEnv *env,
    jobject jwaitSet,
    jobject jcondition)
{
    gapi_waitSet waitSet;
    gapi_condition condition;
    
    waitSet = (gapi_waitSet) saj_read_gapi_address(env, jwaitSet);
    condition = (gapi_condition) saj_read_gapi_address(env, jcondition);

    return (jint)gapi_waitSet_detach_condition(waitSet, condition);
}
Ejemplo n.º 2
0
/**
 * Class:     org_opensplice_dds_dcps_DataReaderViewImpl
 * Method:    jniGetQos
 * Signature: (LDDS/DataReaderViewQosHolder;)V
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniGetQos)(
    JNIEnv *env,
    jobject jdataReaderView,
    jobject jqosHolder)
{
    gapi_dataReaderViewQos* qos;
    gapi_returnCode_t result;
    saj_returnCode rc;
    jobject jqos;
    gapi_dataReaderView dataReaderView;

    if(jqosHolder != NULL){
        dataReaderView = (gapi_dataReaderView)saj_read_gapi_address(env, jdataReaderView);
        jqos = NULL;
        qos = gapi_dataReaderViewQos__alloc();
        result = gapi_dataReaderView_get_qos(dataReaderView, qos);

        if(result == GAPI_RETCODE_OK){
            rc = saj_DataReaderViewQosCopyOut(env, qos, &jqos);
            gapi_free(qos);

            if(rc == SAJ_RETCODE_OK){
                (*env)->SetObjectField(env, jqosHolder,
                        GET_CACHED(dataReaderViewQosHolder_value_fid), jqos);
                (*env)->DeleteLocalRef(env, jqos);
            } else {
                result = GAPI_RETCODE_ERROR;
            }
        }
    } else {
        result = GAPI_RETCODE_BAD_PARAMETER;
    }
    return (jint)result;
}
Ejemplo n.º 3
0
/**
 * Class:     org_opensplice_dds_dcps_TopicImpl
 * Method:    jniGetAllDataDisposedTopicStatus
 * Signature: ()LDDS/AllDataDisposedTopicStatus;
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniGetAllDataDisposedTopicStatus)(
    JNIEnv *env, 
    jobject jtopic,
    jobject jstatusHolder)
{
    gapi_topic topic;
    jobject jstatus;
    gapi_allDataDisposedTopicStatus status;
    saj_returnCode rc;
    gapi_returnCode_t result;
    
    if(jstatusHolder){
        topic = (gapi_topic) saj_read_gapi_address(env, jtopic);
        result = gapi_topic_get_all_data_disposed_topic_status(topic, &status);
        
        if(result == GAPI_RETCODE_OK){
            rc = saj_statusCopyOutAllDataDisposedTopicStatus(env, &status, &jstatus);
            
            if(rc == SAJ_RETCODE_OK){
                (*env)->SetObjectField(env, jstatusHolder, 
                            GET_CACHED(allDataDisposedTopicStatusHolder_value_fid), jstatus);
                (*env)->DeleteLocalRef(env, jstatus);
            } else {
                result = GAPI_RETCODE_ERROR;
            }
        }
    } else {
        result = GAPI_RETCODE_BAD_PARAMETER;
    }
    return (jint)result;
}
Ejemplo n.º 4
0
/**
 * Class:     org_opensplice_dds_dcps_DataReaderViewImpl
 * Method:    jniCreateReadcondition
 * Signature: (III)LDDS/ReadCondition;
 */
JNIEXPORT jobject JNICALL
SAJ_FUNCTION(jniCreateReadcondition)(
    JNIEnv *env,
    jobject jdataReaderView,
    jint jsampleStates,
    jint jviewStates,
    jint jinstanceStates)
{
    jobject jcondition;
    gapi_dataReaderView dataReaderView;
    gapi_readCondition condition;
    saj_returnCode rc;

    jcondition = NULL;
    condition = GAPI_OBJECT_NIL;

    dataReaderView = (gapi_dataReaderView) saj_read_gapi_address(env, jdataReaderView);
    condition = gapi_dataReaderView_create_readcondition(
                                dataReaderView,
                                (const gapi_sampleStateMask)jsampleStates,
                                (const gapi_viewStateMask)jviewStates,
                                (const gapi_instanceStateMask)jinstanceStates);

    if (condition != GAPI_OBJECT_NIL){
        rc = saj_construct_java_object(env,  PACKAGENAME "ReadConditionImpl",
                                        (PA_ADDRCAST)condition, &jcondition);
    }
    return jcondition;
}
Ejemplo n.º 5
0
/**
 * Class:     org_opensplice_dds_dcps_DataWriterImpl
 * Method:    jniSetListener
 * Signature: (LDDS/DataWriterListener;I)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniSetListener)(
    JNIEnv *env,
    jobject jdataWriter,
    jobject jlistener,
    jint jmask)
{
    struct gapi_dataWriterListener *listener;
    gapi_dataWriter dataWriter;
    gapi_returnCode_t grc;

    dataWriter = (gapi_dataWriter)saj_read_gapi_address(env, jdataWriter);
    listener = saj_dataWriterListenerNew(env, jlistener);

    if(listener != NULL){
        saj_write_java_listener_address(env, dataWriter, listener->listener_data);
    }
    grc = gapi_dataWriter_set_listener(dataWriter, listener,
                                                    (unsigned long int)jmask);

    if((grc != GAPI_RETCODE_OK) && (listener != NULL)){
        saj_listenerDataFree(env, saj_listenerData(listener->listener_data));
    }
    return (jint)grc;
}
Ejemplo n.º 6
0
/**
 * Class:     org_opensplice_dds_dcps_PublisherImpl
 * Method:    jniSetListener
 * Signature: (LDDS/PublisherListener;I)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniSetListener)(
    JNIEnv *env,
    jobject jpublisher,
    jobject jlistener,
    jint jmask)
{
    struct gapi_publisherListener *listener;
    gapi_publisher publisher;
    gapi_returnCode_t grc;
    
    publisher = (gapi_publisher)saj_read_gapi_address(env, jpublisher);
    listener = saj_publisherListenerNew(env, jlistener);
    grc = gapi_publisher_set_listener(publisher, listener, 
                                                    (unsigned long int)jmask);
    
    if(grc == GAPI_RETCODE_OK){
        if(listener != NULL){
            saj_write_java_listener_address(env, publisher, listener->listener_data);
        }
    } else if(listener != NULL){
        saj_listenerDataFree(env, saj_listenerData(listener->listener_data));
    } 
    return (jint)grc; 
}
Ejemplo n.º 7
0
/**
 * Class:     org_opensplice_dds_dcps_DataWriterImpl
 * Method:    jniGetOfferedIncompatibleQosStatus
 * Signature: ()LDDS/OfferedIncompatibleQosStatus;
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniGetOfferedIncompatibleQosStatus)(
    JNIEnv *env,
    jobject jdataWriter,
    jobject jstatusHolder)
{
    gapi_dataWriter dataWriter;
    jobject jstatus;
    gapi_offeredIncompatibleQosStatus* status;
    saj_returnCode rc;
    gapi_returnCode_t result;

    if(jstatusHolder){
        dataWriter = (gapi_dataWriter) saj_read_gapi_address(env, jdataWriter);
        status = gapi_offeredIncompatibleQosStatus_alloc();
        result = gapi_dataWriter_get_offered_incompatible_qos_status(dataWriter, status);

        if(result == GAPI_RETCODE_OK){
            rc = saj_statusCopyOutOfferedIncompatibleQosStatus(env, status, &jstatus);

            if(rc == SAJ_RETCODE_OK){
                (*env)->SetObjectField(env, jstatusHolder,
                            GET_CACHED(offeredIncompatibleQosStatusHolder_value_fid), jstatus);
                (*env)->DeleteLocalRef(env, jstatus);
            } else {
                result = GAPI_RETCODE_ERROR;
            }
        }
        gapi_free(status);
    } else {
        result = GAPI_RETCODE_BAD_PARAMETER;
    }
    return (jint)result;
}
Ejemplo n.º 8
0
/**
 * Class:     org_opensplice_dds_dcps_PublisherImpl
 * Method:    jniGetDefaultDatawriterQos
 * Signature: (LDDS/DataWriterQosHolder;)V
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniGetDefaultDatawriterQos)(
    JNIEnv *env,
    jobject jpublisher,
    jobject jqosHolder)
{
    saj_returnCode rc;
    gapi_returnCode_t result;
    jobject jqos;
    gapi_publisher publisher;
    gapi_dataWriterQos *qos;
    
    jqos = NULL;
    
    if(jqosHolder != NULL){
        qos = gapi_dataWriterQos__alloc();
        publisher = (gapi_publisher)saj_read_gapi_address(env, jpublisher);
        result = gapi_publisher_get_default_datawriter_qos(publisher, qos); 
        
        if(result == GAPI_RETCODE_OK){
            rc = saj_DataWriterQosCopyOut(env, qos, &jqos);
            gapi_free(qos);
        
            if (rc == SAJ_RETCODE_OK){
                (*env)->SetObjectField(env, jqosHolder, 
                                       GET_CACHED(dataWriterQosHolder_value_fid), jqos);
            } else {
                result = GAPI_RETCODE_ERROR;
            }
        }
    } else {
        result = GAPI_RETCODE_BAD_PARAMETER;
    }
    return (jint)result;
}
Ejemplo n.º 9
0
/**
 * Class:     org_opensplice_dds_dcps_DataWriterImpl
 * Method:    jniGetPublicationMatchStatus
 * Signature: ()LDDS/PublicationMatchStatus;
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniGetPublicationMatchedStatus)(
    JNIEnv *env,
    jobject jdataWriter,
    jobject jstatusHolder)
{
    gapi_dataWriter dataWriter;
    jobject jstatus;
    gapi_publicationMatchedStatus status;
    saj_returnCode rc;
    gapi_returnCode_t result;

    if(jstatusHolder){
        dataWriter = (gapi_dataWriter) saj_read_gapi_address(env, jdataWriter);
        result = gapi_dataWriter_get_publication_matched_status(dataWriter, &status);

        if(result == GAPI_RETCODE_OK){
            rc = saj_statusCopyOutPublicationMatchStatus(env, &status, &jstatus);

            if(rc == SAJ_RETCODE_OK){
                (*env)->SetObjectField(env, jstatusHolder,
                            GET_CACHED(publicationMatchedStatusHolder_value_fid), jstatus);
                (*env)->DeleteLocalRef(env, jstatus);
            } else {
                result = GAPI_RETCODE_ERROR;
            }
        }
    } else {
        result = GAPI_RETCODE_BAD_PARAMETER;
    }
    return (jint)result;
}
Ejemplo n.º 10
0
/*
 * Class:     org_opensplice_dds_dcps_PublisherImpl
 * Method:    jniWaitForAcknowledgments
 * Signature: (LDDS/Duration_t;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniWaitForAcknowledgments)(
    JNIEnv *env, 
    jobject jpublisher, 
    jobject jduration)
{
    gapi_publisher publisher;
    gapi_duration_t* duration;
    saj_returnCode rc;
    gapi_returnCode_t result;
    
    publisher = (gapi_publisher)saj_read_gapi_address(env, jpublisher);    
    
    if(jduration != NULL){
        duration = gapi_duration_t__alloc();
        rc = saj_durationCopyIn(env, jduration, duration);
    
        if(rc == SAJ_RETCODE_OK){
            result = gapi_publisher_wait_for_acknowledgments(publisher, duration);
        } else {
            result = GAPI_RETCODE_ERROR;
        }
        gapi_free(duration);
    } else {
        result = GAPI_RETCODE_BAD_PARAMETER;
    }    
    return (jint)result;
}
Ejemplo n.º 11
0
/**
 * Class:     org_opensplice_dds_dcps_SubscriberImpl
 * Method:    jniLookupDatareader
 * Signature: (Ljava/lang/String;)LDDS/DataReader;
 */
JNIEXPORT jobject JNICALL
SAJ_FUNCTION(jniLookupDatareader)(
    JNIEnv *env,
    jobject jsubscriber,
    jstring jtopicName)
{
    jobject jreader;
    gapi_subscriber subscriber;
    gapi_dataReader reader;
    const gapi_char* topicName;

    jreader = NULL;
    reader = GAPI_OBJECT_NIL;
    topicName = NULL;

    subscriber = (gapi_subscriber)saj_read_gapi_address(env, jsubscriber);

    if(jtopicName != NULL){
        topicName = (*env)->GetStringUTFChars(env, jtopicName, 0);
    }
    reader = gapi_subscriber_lookup_datareader(subscriber, topicName);

    if (reader != GAPI_OBJECT_NIL){
        jreader = saj_read_java_address(reader);
    }
    if(jtopicName != NULL){
        (*env)->ReleaseStringUTFChars(env, jtopicName, topicName);
    }
    return jreader;
}
Ejemplo n.º 12
0
/**
 * Class:     org_opensplice_dds_dcps_MultiTopicImpl
 * Method:    jniSetExpressionParameters
 * Signature: ([Ljava/lang/String;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniSetExpressionParameters)(
    JNIEnv *env,
    jobject jmultiTopic,
    jobjectArray jexprArray)
{
    gapi_multiTopic multiTopic;
    gapi_stringSeq *seq;
    saj_returnCode rc;
    jint jresult;
    
    multiTopic = (gapi_multiTopic) saj_read_gapi_address(env, jmultiTopic);
    jresult = (jint)GAPI_RETCODE_BAD_PARAMETER;
    
    rc = SAJ_RETCODE_OK;
    seq = gapi_stringSeq__alloc();

    if(jexprArray != NULL){
        rc = saj_stringSequenceCopyIn(env, jexprArray, seq);
    }
        
    if(rc == SAJ_RETCODE_OK){
        jresult = (jint)gapi_multiTopic_set_expression_parameters(
                                                            multiTopic, seq);
        
    }
    gapi_free(seq);
    
    return jresult;
}
Ejemplo n.º 13
0
/**
 * Class:     org_opensplice_dds_dcps_PublisherImpl
 * Method:    jniLookupDatawriter
 * Signature: (Ljava/lang/String;)LDDS/DataWriter;
 */
JNIEXPORT jobject JNICALL
SAJ_FUNCTION(jniLookupDatawriter)(
    JNIEnv *env,
    jobject jpublisher,
    jstring jtopicName)
{
    jobject jwriter;
    gapi_publisher publisher;
    gapi_dataWriter writer;
    const gapi_char* topicName;
    
    jwriter = NULL;
    writer = GAPI_OBJECT_NIL;
    topicName = NULL;
    
    publisher = (gapi_publisher)saj_read_gapi_address(env, jpublisher);
    
    if(jtopicName != NULL){
        topicName = (*env)->GetStringUTFChars(env, jtopicName, 0);
    }
    writer = gapi_publisher_lookup_datawriter(publisher, topicName);
    
    if (writer != GAPI_OBJECT_NIL){
        jwriter = saj_read_java_address(writer);
    }
    if(jtopicName != NULL){
        (*env)->ReleaseStringUTFChars(env, jtopicName, topicName);
    }
    return jwriter;
}
Ejemplo n.º 14
0
/**
 * Class:     org_opensplice_dds_dcps_EntityImpl
 * Method:    jniGetStatuscondition
 * Signature: ()LDDS/StatusCondition;
 */
JNIEXPORT jobject JNICALL
SAJ_FUNCTION(jniGetStatuscondition)(
    JNIEnv *env,
    jobject jentity)
{
    gapi_entity entity;
    gapi_statusCondition condition;
    jobject jcondition;
    saj_returnCode rc;
    
    jcondition = NULL;
    entity = (gapi_entity)saj_read_gapi_address(env, jentity);
    condition = gapi_entity_get_statuscondition(entity);
    
    if(condition != GAPI_OBJECT_NIL){
        jcondition = saj_read_java_address(condition);
       
        if(jcondition == NULL){
            rc = saj_construct_java_object(env,  
                                            PACKAGENAME "StatusConditionImpl", 
                                            (PA_ADDRCAST)condition,
                                            &jcondition);
            if(rc == SAJ_RETCODE_OK){
                saj_write_java_statusCondition_address(env, entity, condition, jcondition);
            }
        }
    }
    return jcondition;
}
Ejemplo n.º 15
0
/**
 * Class:     org_opensplice_dds_dcps_DataWriterImpl
 * Method:    jniAssertLiveliness
 * Signature: (I)V
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniAssertLiveliness)(
    JNIEnv *env,
    jobject jdataWriter)
{
    gapi_dataWriter dataWriter;

    dataWriter = (gapi_dataWriter)saj_read_gapi_address(env, jdataWriter);
    return (jint)gapi_dataWriter_assert_liveliness(dataWriter);
}
Ejemplo n.º 16
0
/**
 * Class:     org_opensplice_dds_dcps_EntityImpl
 * Method:    jniEnable
 * Signature: ()I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniEnable)(
    JNIEnv *env,
    jobject jentity)
{
    gapi_entity entity;
    
    entity = (gapi_entity)saj_read_gapi_address(env, jentity);
    return (jint)gapi_entity_enable(entity); 
}
Ejemplo n.º 17
0
/*
 * Class:     org_opensplice_dds_dcps_DataReaderViewImpl
 * Method:    jniGetStatusChanges
 * Signature: ()I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniGetStatusChanges)(
        JNIEnv * env,
        jobject jdataReaderView)
{
    gapi_dataReaderView dataReaderView;

    dataReaderView = (gapi_dataReaderView)saj_read_gapi_address(env, jdataReaderView);
    return gapi_dataReaderView_get_status_changes(dataReaderView);
}
Ejemplo n.º 18
0
/*
 * Class:     org_opensplice_dds_dcps_FooTypeSupportImpl
 * Method:    jniFree
 * Signature: (Ljava/lang/Object;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniFree) (
    JNIEnv *env,
    jclass object,
    jobject TypeSupport)
{
    gapi_free ((gapi_fooTypeSupport)saj_read_gapi_address (env, TypeSupport));

    return GAPI_RETCODE_OK;
}
Ejemplo n.º 19
0
/**
 * Class:     DDS_WaitSet
 * Method:    jniWait
 * Signature: (LDDS/ConditionSeqHolder;LDDS/Duration_t;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniWait)(
    JNIEnv *env,
    jobject jwaitSet,
    jobject jseqHolder,
    jobject jduration)
{
    gapi_waitSet waitSet;
    gapi_conditionSeq *conditionSeq;
    gapi_duration_t duration;
    jobjectArray jConditionSeq;
    saj_returnCode rc;
    gapi_returnCode_t result;
    
    if(jseqHolder != NULL){
        jConditionSeq = NULL;
        waitSet = (gapi_waitSet) saj_read_gapi_address(env, jwaitSet);
        rc = saj_durationCopyIn(env, jduration, &duration);
        
        if(rc == SAJ_RETCODE_OK){
            conditionSeq = gapi_conditionSeq__alloc();
            
            if(conditionSeq){
                conditionSeq->_maximum = 0;
                conditionSeq->_length = 0;
                conditionSeq->_release = 0;
                conditionSeq->_buffer = NULL;
            
                result = gapi_waitSet_wait(waitSet, conditionSeq, &duration);

                if((result == GAPI_RETCODE_OK) || (result == GAPI_RETCODE_TIMEOUT)){
                    rc = saj_LookupExistingConditionSeq(env, conditionSeq, &jConditionSeq);
                
                    if ( rc == SAJ_RETCODE_OK){
                        (*env)->SetObjectField(
                            env, 
                            jseqHolder,
                            GET_CACHED(conditionSeqHolder_value_fid),
                            jConditionSeq);
                    } else {
                        result = GAPI_RETCODE_ERROR;
                    }
                }
                gapi_free(conditionSeq);
            } else {
                result = GAPI_RETCODE_OUT_OF_RESOURCES;
            }
        } else {
            result = GAPI_RETCODE_ERROR;
        }
    } else {
        result = GAPI_RETCODE_BAD_PARAMETER;
    }
    return (jint)result;
}
Ejemplo n.º 20
0
/**
 * Class:     org_opensplice_dds_dcps_ConditionImpl
 * Method:    jniGetTriggerValue
 * Signature: ()Z
 */
JNIEXPORT jboolean JNICALL
SAJ_FUNCTION(jniGetTriggerValue)(
    JNIEnv *env,
    jobject jcondition)
{
    gapi_condition condition;
    
    condition = (gapi_condition) saj_read_gapi_address(env, jcondition);
    
    return (jboolean)gapi_condition_get_trigger_value(condition);
}
Ejemplo n.º 21
0
/**
 * Class:     org_opensplice_dds_dcps_SubscriberImpl
 * Method:    jniDeleteDatareader
 * Signature: (LDDS/DataReader;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniDeleteDatareader)(
    JNIEnv *env,
    jobject jsubscriber,
    jobject jdataReader)
{
    gapi_subscriber subscriber;
    gapi_dataReader dataReader;
    gapi_returnCode_t grc;
    c_bool must_free;

    subscriber = (gapi_subscriber) saj_read_gapi_address(env, jsubscriber);
    dataReader = (gapi_dataReader) saj_read_gapi_address(env, jdataReader);

    must_free = saj_setThreadEnv(env);
    grc = gapi_subscriber_delete_datareader(subscriber, dataReader);
    saj_delThreadEnv(must_free);

    return (jint)grc;
}
Ejemplo n.º 22
0
/**
 * Class:     org_opensplice_dds_dcps_SubscriberImpl
 * Method:    jniEndAccess
 * Signature: ()I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniEndAccess)(
    JNIEnv *env,
    jobject jsubscriber)
{
    gapi_subscriber subscriber;

    subscriber = (gapi_subscriber)saj_read_gapi_address(env, jsubscriber);

    return (jint)gapi_subscriber_end_access(subscriber);
}
Ejemplo n.º 23
0
/**
 * Class:     org_opensplice_dds_dcps_PublisherImpl
 * Method:    jniEndCoherentChanges
 * Signature: ()I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniEndCoherentChanges)(
    JNIEnv *env,
    jobject jpublisher)
{
    gapi_publisher publisher;
    
    publisher = (gapi_publisher)saj_read_gapi_address(env, jpublisher);
    
    return (jint)gapi_publisher_end_coherent_changes(publisher);
}
Ejemplo n.º 24
0
/**
 * Class:     org_opensplice_dds_dcps_PublisherImpl
 * Method:    jniResumePublications
 * Signature: ()I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniResumePublications)(
    JNIEnv *env,
    jobject jpublisher)
{
    gapi_publisher publisher;
    
    publisher = (gapi_publisher)saj_read_gapi_address(env, jpublisher);
    
    return (jint)gapi_publisher_resume_publications(publisher);
}
Ejemplo n.º 25
0
/**
 * Class:     org_opensplice_dds_dcps_ReadConditionImpl
 * Method:    jniGetInstanceStateMask
 * Signature: ()I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniGetInstanceStateMask)(
    JNIEnv *env,
    jobject jreadCondition)
{
    gapi_readCondition readCondition;
    
    readCondition = (gapi_readCondition) saj_read_gapi_address(env, jreadCondition);
    
    return (jint)gapi_readCondition_get_instance_state_mask(readCondition);
}
Ejemplo n.º 26
0
/**
 * Class:     org_opensplice_dds_dcps_DataReaderViewImpl
 * Method:    jniCreateQuerycondition
 * Signature: (IIILjava/lang/String;[Ljava/lang/String;)LDDS/QueryCondition;
 */
JNIEXPORT jobject JNICALL
SAJ_FUNCTION(jniCreateQuerycondition)(
    JNIEnv *env,
    jobject jdataReaderView,
    jint jsampleStates,
    jint jviewStates,
    jint jinstanceStates,
    jstring jexpression,
    jobjectArray jparams)
{
    jobject jcondition;
    gapi_dataReaderView dataReaderView;
    gapi_queryCondition condition;
    gapi_stringSeq* params;
    saj_returnCode rc;
    gapi_char* expression;

    jcondition = NULL;
    condition = GAPI_OBJECT_NIL;
    expression = NULL;

    dataReaderView = (gapi_dataReaderView) saj_read_gapi_address(env, jdataReaderView);
    rc = SAJ_RETCODE_OK;
    params = gapi_stringSeq__alloc();

    if(jparams != NULL){
        rc = saj_stringSequenceCopyIn(env, jparams, params);
    }

    if(rc == SAJ_RETCODE_OK){
        if(jexpression != NULL){
            expression = (gapi_char*)(*env)->GetStringUTFChars(env, jexpression, 0);
        }
        condition = gapi_dataReaderView_create_querycondition(
                                dataReaderView,
                                (const gapi_sampleStateMask)jsampleStates,
                                (const gapi_viewStateMask)jviewStates,
                                (const gapi_instanceStateMask)jinstanceStates,
                                expression,
                                params);

        if(jexpression != NULL){
            (*env)->ReleaseStringUTFChars(env, jexpression, expression);
        }
        if (condition != GAPI_OBJECT_NIL){
            rc = saj_construct_java_object(env,
                                        PACKAGENAME "QueryConditionImpl",
                                        (PA_ADDRCAST)condition, &jcondition);
        }
    }
    gapi_free(params);

    return jcondition;
}
Ejemplo n.º 27
0
/**
 * Class:     org_opensplice_dds_dcps_PublisherImpl
 * Method:    jniDeleteDatawriter
 * Signature: (LDDS/DataWriter;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniDeleteDatawriter)(
    JNIEnv *env,
    jobject jpublisher,
    jobject jwriter)
{
    gapi_publisher publisher;
    gapi_dataWriter writer;
    gapi_returnCode_t grc;
    c_bool must_free;

    publisher = (gapi_publisher) saj_read_gapi_address(env, jpublisher);
    writer = (gapi_dataWriter) saj_read_gapi_address(env, jwriter);

    must_free = saj_setThreadEnv(env);
    grc = gapi_publisher_delete_datawriter(publisher, writer);
    saj_delThreadEnv(must_free);
    
    return (jint)grc;
}
Ejemplo n.º 28
0
/**
 * Class:     org_opensplice_dds_dcps_DataReaderImpl
 * Method:    jniDeleteReadcondition
 * Signature: (LDDS/ReadCondition;)I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniDeleteReadcondition)(
    JNIEnv *env,
    jobject jdataReaderView,
    jobject jcondition)
{
    gapi_readCondition condition;
    gapi_dataReader dataReaderView;
    gapi_returnCode_t grc;
    c_bool must_free;

    condition = (gapi_readCondition) saj_read_gapi_address(env, jcondition);
    dataReaderView = (gapi_dataReaderView)saj_read_gapi_address(env, jdataReaderView);

    must_free = saj_setThreadEnv(env);
    grc = gapi_dataReaderView_delete_readcondition(dataReaderView,
                                                   condition);
    saj_delThreadEnv(must_free);

    return (jint)grc;
}
Ejemplo n.º 29
0
/**
 * Class:     org_opensplice_dds_dcps_GuardConditionImpl
 * Method:    jniSetTriggerValue
 * Signature: (Z)V
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniSetTriggerValue)(
    JNIEnv *env,
    jobject jguardCondition,
    jboolean jvalue)
{
    gapi_guardCondition guardCondition;
    
    guardCondition = (gapi_guardCondition) saj_read_gapi_address(env, 
                                                            jguardCondition);
    return (jint)gapi_guardCondition_set_trigger_value(guardCondition, 
                                                    (const gapi_boolean)jvalue);
}
Ejemplo n.º 30
0
/*
 * Class:     org_opensplice_dds_dcps_TopicImpl
 * Method:    jniDisposeAllData
 * Signature: ()I
 */
JNIEXPORT jint JNICALL
SAJ_FUNCTION(jniDisposeAllData)(
    JNIEnv *env,
    jobject jtopic)
{
    gapi_topic topic;
    gapi_returnCode_t result;

    topic = (gapi_topic) saj_read_gapi_address(env, jtopic);
    result = gapi_topic_dispose_all_data(topic);

    return (jint)result;
}