.. _program_listing_file__tmp_ws_src_fastrtps_include_fastrtps_attributes_TopicAttributes.h: Program Listing for File TopicAttributes.h ========================================== |exhale_lsh| :ref:`Return to documentation for file ` (``/tmp/ws/src/fastrtps/include/fastrtps/attributes/TopicAttributes.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima). // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef TOPICPARAMETERS_H_ #define TOPICPARAMETERS_H_ #include #include #include namespace eprosima { namespace fastrtps{ class TopicAttributes { public: TopicAttributes() : topicKind(rtps::NO_KEY) , topicName("UNDEF") , topicDataType("UNDEF") , auto_fill_type_object(true) , auto_fill_type_information(true) { } TopicAttributes( const char* name, const char* dataType, rtps::TopicKind_t tKind= rtps::NO_KEY) { topicKind = tKind; topicName = name; topicDataType = dataType; auto_fill_type_object = true; auto_fill_type_information = true; } virtual ~TopicAttributes() {} bool operator==(const TopicAttributes& b) const { return (this->topicKind == b.topicKind) && (this->topicName == b.topicName) && (this->topicDataType == b.topicDataType) && (this->historyQos == b.historyQos); } const string_255& getTopicDataType() const { return topicDataType; } rtps::TopicKind_t getTopicKind() const { return topicKind; } const string_255& getTopicName() const { return topicName; } rtps::TopicKind_t topicKind; string_255 topicName; string_255 topicDataType; HistoryQosPolicy historyQos; ResourceLimitsQosPolicy resourceLimitsQos; TypeIdV1 type_id; TypeObjectV1 type; xtypes::TypeInformation type_information; bool auto_fill_type_object; bool auto_fill_type_information; bool checkQos() const; }; #ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC bool inline operator!=(const TopicAttributes& t1, const TopicAttributes& t2) { if(t1.topicKind != t2.topicKind || t1.topicName != t2.topicName || t1.topicDataType != t2.topicDataType || t1.historyQos.kind != t2.historyQos.kind || (t1.historyQos.kind == KEEP_LAST_HISTORY_QOS && t1.historyQos.depth != t2.historyQos.depth)) { return true; } return false; } #endif } /* namespace fastrtps */ } /* namespace eprosima */ #endif /* TOPICPARAMETERS_H_ */