コード例 #1
0
ファイル: find.cpp プロジェクト: osrf/opensplice
dds::domain::DomainParticipant
dds::domain::find(uint32_t id)
{
    dds::domain::DomainParticipant participant = dds::core::null;

    ISOCPP_REPORT_STACK_NC_BEGIN();
    participant = dds::domain::DomainParticipant(
            org::opensplice::domain::DomainParticipantDelegate::lookup_participant(id));

    return participant;
}
コード例 #2
0
ファイル: TTopicImpl.hpp プロジェクト: osrf/opensplice
dds::topic::detail::Topic<T>::Topic(const dds::domain::DomainParticipant& dp,
      const std::string& name,
      const std::string& type_name,
      const dds::topic::qos::TopicQos& qos,
      dds::topic::TopicListener<T>* listener,
      const dds::core::status::StatusMask& mask)
    : org::opensplice::topic::TopicDescriptionDelegate(dp, name, type_name),
      org::opensplice::topic::AnyTopicDelegate(qos, dp, name, type_name)
{
    ISOCPP_REPORT_STACK_NC_BEGIN();

    dds::domain::DomainParticipant participant = dds::core::null;

    /* The dp argument can be nil. Use the participant we know isn't nil because
     * the TopicDescriptionDelegate would have created it when needed. */
    participant = this->domain_participant();

    // Set the correct (IDL) type_name in the TopicDescription.
    org::opensplice::topic::TopicDescriptionDelegate::myTypeName = org::opensplice::topic::TopicTraits<T>::getTypeName();

    // get and validate the kernel qos
    org::opensplice::topic::qos::TopicQosDelegate tQos = qos.delegate();
    tQos.check();
    u_topicQos uTopicQos = tQos.u_qos();
    u_participant uParticipant = participant->registerType(
            org::opensplice::topic::TopicTraits<T>::getTypeName(),
            org::opensplice::topic::TopicTraits<T>::getDescriptor(),
            org::opensplice::topic::TopicTraits<T>::getDataRepresentationId(),
            org::opensplice::topic::TopicTraits<T>::getTypeHash(),
            org::opensplice::topic::TopicTraits<T>::getMetaData(),
            org::opensplice::topic::TopicTraits<T>::getExtentions());

    u_topic uTopic = u_topicNew(
            uParticipant,
            name.c_str(),
            org::opensplice::topic::TopicDescriptionDelegate::myTypeName.c_str(),
            org::opensplice::topic::TopicTraits<T>::getKeyList(),
            uTopicQos);

    u_topicQosFree(uTopicQos);

    if (!uTopic) {
        ISOCPP_THROW_EXCEPTION(ISOCPP_ERROR, "Failed to create Topic");
    }

    this->userHandle = (u_object)uTopic;
    this->listener_set((void*)listener, mask);
}
コード例 #3
0
ファイル: TFilterImpl.hpp プロジェクト: lsst-ts/ts_opensplice
typename TFilter<D>::iterator TFilter<D>::end()
{
    ISOCPP_REPORT_STACK_NC_BEGIN();

    return this->delegate().end();
}
コード例 #4
0
dds::core::Reference<DELEGATE>::operator DELEGATE_REF_T() const
{
    ISOCPP_REPORT_STACK_NC_BEGIN();
    ISOCPP_BOOL_CHECK_AND_THROW(impl_, ISOCPP_NULL_REFERENCE_ERROR, "Reference[%d] == dds::core::null", __LINE__);
    return impl_;
}
コード例 #5
0
ファイル: TFilterImpl.hpp プロジェクト: lsst-ts/ts_opensplice
typename TFilter<D>::const_iterator TFilter<D>::begin() const
{
    ISOCPP_REPORT_STACK_NC_BEGIN();

    return this->delegate().begin();
}
コード例 #6
0
ファイル: TFilterImpl.hpp プロジェクト: lsst-ts/ts_opensplice
const std::string& TFilter<D>::expression() const
{
    ISOCPP_REPORT_STACK_NC_BEGIN();

    return this->delegate().expression();
}
コード例 #7
0
ファイル: TFilterImpl.hpp プロジェクト: lsst-ts/ts_opensplice
uint32_t TFilter<D>::parameters_length() const
{
    ISOCPP_REPORT_STACK_NC_BEGIN();

    return this->delegate().parameters_length();
}
コード例 #8
0
ファイル: TFilterImpl.hpp プロジェクト: lsst-ts/ts_opensplice
void TFilter<D>::add_parameter(const std::string& param)
{
    ISOCPP_REPORT_STACK_NC_BEGIN();

    this->delegate().add_parameter(param);
}
コード例 #9
0
ファイル: TFilterImpl.hpp プロジェクト: lsst-ts/ts_opensplice
void TFilter<D>::parameters(const FWIterator& begin, const FWIterator end)
{
    ISOCPP_REPORT_STACK_NC_BEGIN();

    this->delegate().parameters(begin, end);
}