• Main Page
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

src/hpp/tdds/topic/BuiltinTopic.hpp

Go to the documentation of this file.
00001 #ifndef OMG_TDDS_TOPIC_BUILT_IN_TOPIC_HPP_
00002 #define OMG_TDDS_TOPIC_BUILT_IN_TOPIC_HPP_
00003 
00004 /* Copyright 2010, Object Management Group, Inc.
00005  * Copyright 2010, PrismTech, Corp.
00006  * Copyright 2010, Real-Time Innovations, Inc.
00007  * All rights reserved.
00008  *
00009  * Licensed under the Apache License, Version 2.0 (the "License");
00010  * you may not use this file except in compliance with the License.
00011  * You may obtain a copy of the License at
00012  *
00013  *     http://www.apache.org/licenses/LICENSE-2.0
00014  *
00015  * Unless required by applicable law or agreed to in writing, software
00016  * distributed under the License is distributed on an "AS IS" BASIS,
00017  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00018  * See the License for the specific language governing permissions and
00019  * limitations under the License.
00020  */
00021 
00022 #include <dds/core/detail/conformance.hpp>
00023 #include <dds/core/Value.hpp>
00024 #include <dds/core/policy/CorePolicy.hpp>
00025 #include <tdds/topic/topicfwd.hpp>
00026 #include <dds/topic/BuiltinTopicKey.hpp>
00027 
00028 namespace tdds { namespace topic {
00029 
00030 template <typename D>
00031 class ParticipantBuiltinTopicData : public dds::core::Value<D> {
00032 public:
00033     const dds::topic::BuiltinTopicKey& key() const {
00034         return this->delegate()->key();
00035     }
00036 
00037     const dds::core::policy::UserData& user_data() const {
00038         return this->delegate()->user_data();
00039     }
00040 };
00041 
00042 template <typename D>
00043 class TopicBuiltinTopicData : public dds::core::Value<D>  {
00044 public:
00045     const dds::topic::BuiltinTopicKey& key() {
00046         return this->delegate()->key();
00047     }
00048     const std::string&                  name() const {
00049         return this->delegate()->name();
00050     }
00051     const std::string&                  type_name() const {
00052         return this->delegate()->type_name();
00053     }
00054     const dds::core::policy::Durability&         durability() const {
00055         return this->delegate()->durability();
00056     }
00057 
00058 
00059 #ifdef OMG_DDS_PERSISTENCE_SUPPORT
00060 
00061     const dds::core::policy::DurabilityService&  durability_service() const {
00062         return this->delegate()->durability_service();
00063     }
00064 
00065 #endif  // OMG_DDS_PERSISTENCE_SUPPORT
00066 
00067 
00068     const dds::core::policy::Deadline&           deadline() const {
00069         return this->delegate()->delegate();
00070     }
00071     const dds::core::policy::LatencyBudget&      latency_budget() const {
00072         return this->delegate()->latency_budget();
00073     }
00074     const dds::core::policy::Liveliness&         liveliness() const {
00075         return this->delegate()->liveliness();
00076     }
00077     const dds::core::policy::Reliability&        reliability() const {
00078         return this->delegate()->reliability();
00079     }
00080     const dds::core::policy::TransportPriority&  transport_priority() const {
00081         return this->delegate()->transport_priority();
00082     }
00083     const dds::core::policy::Lifespan&           lifespan() const {
00084         return this->delegate()->lifespan();
00085     }
00086     const dds::core::policy::DestinationOrder&   destination_order() const {
00087         return this->delegate()->destination_order();
00088     }
00089     const dds::core::policy::History&            history() const {
00090         return this->delegate()->history();
00091     }
00092     const dds::core::policy::ResourceLimits&     resource_limits() const {
00093         return this->delegate()->resource_limits();
00094     }
00095     const dds::core::policy::Ownership&          ownership() const {
00096         return this->delegate()->ownership();
00097     }
00098     const dds::core::policy::TopicData&          topic_data() const {
00099         return this->delegate()->topic_data();
00100     }
00101 };
00102 
00103 template <typename D>
00104 class PublicationBuiltinTopicData  : public dds::core::Value<D> {
00105 public:
00106     const dds::topic::BuiltinTopicKey& key() const  {
00107         return this->delegate()->key();
00108     }
00109     const dds::topic::BuiltinTopicKey& participant_key()  const {
00110         return this->delegate()->key();
00111     }
00112     const std::string&                  topic_name() const {
00113         return this->delegate()->topic_name();
00114     }
00115     const std::string&                  type_name() const {
00116         return this->delegate()->type_name();
00117     }
00118     const dds::core::policy::Durability&         durability() const {
00119         return this->delegate()->durability();
00120     }
00121 
00122 
00123 #ifdef OMG_DDS_PERSISTENCE_SUPPORT
00124 
00125     const dds::core::policy::DurabilityService&  durability_service() const {
00126         return this->delegate()->durability_service();
00127     }
00128 
00129 #endif  // OMG_DDS_PERSISTENCE_SUPPORT
00130 
00131 
00132     const dds::core::policy::Deadline&           deadline() const {
00133         return this->delegate()->delegate();
00134     }
00135     const dds::core::policy::LatencyBudget&      latency_budget() const {
00136         return this->delegate()->latency_budget();
00137     }
00138     const dds::core::policy::Liveliness&         liveliness() const {
00139         return this->delegate()->liveliness();
00140     }
00141     const dds::core::policy::Reliability&        reliability() const {
00142         return this->delegate()->reliability();
00143     }
00144     const dds::core::policy::Lifespan&           lifespan() const {
00145         return this->delegate()->lifespan();
00146     }
00147 
00148     const dds::core::policy::UserData&           user_data() const {
00149         return this->delegate()->user_data();
00150     }
00151     const dds::core::policy::Ownership&          ownership() const {
00152         return this->delegate()->ownership();
00153     }
00154 
00155 
00156 #ifdef OMG_DDS_OWNERSHIP_SUPPORT
00157 
00158     const dds::core::policy::OwnershipStrength&  ownership_strength() const {
00159         return this->delegate()->ownership_strength();
00160     }
00161 
00162 #endif  // OMG_DDS_OWNERSHIP_SUPPORT
00163 
00164 
00165     const dds::core::policy::DestinationOrder&   destination_order() const {
00166         return this->delegate()->destination_order();
00167     }
00168 
00169     const dds::core::policy::Presentation&       presentation() const {
00170         return this->delegate()->presentation();
00171     }
00172 
00173     const dds::core::policy::Partition&          partition() const {
00174         return this->delegate()->partition();
00175     }
00176 
00177     const dds::core::policy::TopicData&          topic_data() const {
00178         return this->delegate()->topic_data();
00179     }
00180 
00181     const dds::core::policy::GroupData&          group_data() const {
00182         return this->delegate()->group_data();
00183     }
00184 
00185 };
00186 
00187 template <typename D>
00188 class SubscriptionBuiltinTopicData  : public dds::core::Value<D> {
00189 public:
00190     const dds::topic::BuiltinTopicKey& key() const {
00191         return this->delegate()->key();
00192     }
00193     const dds::topic::BuiltinTopicKey& participant_key() const {
00194         return this->delegate()->key();
00195     }
00196     const std::string&                  topic_name() const {
00197         return this->delegate()->topic_name();
00198     }
00199     const std::string&                  type_name() const {
00200         return this->delegate()->type_name();
00201     }
00202     const dds::core::policy::Durability&         durability() const {
00203         return this->delegate()->durability();
00204     }
00205     const dds::core::policy::Deadline&           deadline() const {
00206         return this->delegate()->deadline();
00207     }
00208     const dds::core::policy::LatencyBudget&      latency_budget() const {
00209         return this->delegate()->latency_budget();
00210     }
00211     const dds::core::policy::Liveliness&         liveliness() const {
00212         return this->delegate()->liveliness();
00213     }
00214     const dds::core::policy::Reliability&        reliability() const {
00215         return this->delegate()->reliability();
00216     }
00217     const dds::core::policy::Ownership&          ownership() const {
00218         return this->delegate()->ownership();
00219     }
00220     const dds::core::policy::DestinationOrder&   destination_order() const {
00221         return this->delegate()->destination_order();
00222     }
00223     const dds::core::policy::UserData&           user_data() const {
00224         return this->delegate()->user_data();
00225     }
00226     const dds::core::policy::TimeBasedFilter&    time_based_filter() const {
00227         return this->delegate()->time_based_filter();
00228     }
00229 
00230     const dds::core::policy::Presentation&       presentation() const {
00231         return this->delegate()->presentation();
00232     }
00233     const dds::core::policy::Partition&          partition() const {
00234         return this->delegate()->partition();
00235     }
00236 
00237 
00238     const dds::core::policy::TopicData&          topic_data() const {
00239         return this->delegate()->topic_data();
00240     }
00241 
00242     const dds::core::policy::GroupData&          group_data() const {
00243         return this->delegate()->group_data();
00244     }
00245 
00246 };
00247 } }
00248 #endif /* OMG_TDDS_TOPIC_BUILT_IN_TOPIC_HPP_ */

Generated on Tue Nov 9 2010 02:16:21 for dds-psm-cxx-doc by  doxygen 1.7.1