コード例 #1
0
/*     QueryCondition
 *     create_querycondition(
 *         in SampleStateMask sample_states,
 *         in ViewStateMask view_states,
 *         in InstanceStateMask instance_states,
 *         in string query_expression,
 *         in StringSeq query_parameters);
 */
gapi_queryCondition
gapi_dataReaderView_create_querycondition (
    gapi_dataReaderView _this,
    const gapi_sampleStateMask sample_states,
    const gapi_viewStateMask view_states,
    const gapi_instanceStateMask instance_states,
    const gapi_char *query_expression,
    const gapi_stringSeq *query_parameters)
{
    _DataReaderView datareaderview;
    _QueryCondition queryCondition = NULL;
    
    datareaderview = gapi_dataReaderViewClaim(_this, NULL);

    if ( datareaderview && _EntityEnabled(datareaderview) &&
         query_expression && gapi_sequence_is_valid(query_parameters) &&
         gapi_stateMasksValid(sample_states, view_states, instance_states) ) {

        _DataReader datareader;

        datareader = _DataReaderViewDataReader(datareaderview);
        queryCondition = _QueryConditionNew(sample_states,
                                            view_states,
                                            instance_states,
                                            query_expression,
                                            query_parameters,
                                            datareader,
                                            datareaderview);
        _EntityRelease(datareader);
        if ( queryCondition != NULL ) {
            _ENTITY_REGISTER_OBJECT(_Entity(datareaderview),
                                    (_Object)queryCondition);
        }
    }

    _EntityRelease(datareaderview);
    
    return (gapi_queryCondition)_EntityRelease(queryCondition);
}
コード例 #2
0
ファイル: gapi_dataReader.c プロジェクト: S73417H/opensplice
gapi_queryCondition
gapi_dataReader_create_querycondition (
    gapi_dataReader _this,
    const gapi_sampleStateMask sample_states,
    const gapi_viewStateMask view_states,
    const gapi_instanceStateMask instance_states,
    const gapi_char *query_expression,
    const gapi_stringSeq *query_parameters)
{
    _DataReader datareader;
    gapi_boolean licensed;
    _QueryCondition queryCondition = NULL;

    licensed = _DomainParticipantFactoryIsContentSubscriptionAvailable();

    if(licensed == TRUE){
        datareader = gapi_dataReaderClaim(_this, NULL);

        if ( datareader && _EntityEnabled(datareader) &&
             query_expression && gapi_sequence_is_valid(query_parameters) &&
             gapi_stateMasksValid(sample_states, view_states, instance_states) ) {

            queryCondition = _QueryConditionNew(sample_states,
                                                view_states,
                                                instance_states,
                                                query_expression,
                                                query_parameters,
                                                datareader, NULL);
            if ( queryCondition != NULL ) {
                _ENTITY_REGISTER_OBJECT(_Entity(datareader),
                                        (_Object)queryCondition);
            }
        }
        _EntityRelease(datareader);
    }
    return (gapi_queryCondition)_EntityRelease(queryCondition);
}