00001 #ifndef OMG_DDS_CORE_CORE_FWD_HPP_ 00002 #define OMG_DDS_CORE_CORE_FWD_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 <string> 00023 #include <vector> 00024 00025 #include <dds/core/detail/corefwd.hpp> 00026 #include <tdds/core/corefwd.hpp> 00027 00028 namespace dds { namespace core { 00029 00030 class AlreadyClosedError; 00031 00032 typedef std::vector<uint8_t> ByteSeq; 00033 00034 class Duration; 00035 00036 typedef ::dds::core::detail::Entity Entity; 00037 00038 class Error; 00039 00040 class Exception; 00041 00042 class IllegalOperationError; 00043 00044 class ImmutablePolicyError; 00045 00046 class InconsistentPolicyError; 00047 00048 typedef ::dds::core::detail::InstanceHandle InstanceHandle; 00049 00050 typedef std::vector<InstanceHandle> InstanceHandleSeq; 00051 00052 class InvalidArgumentError; 00053 00054 class InvalidDataError; 00055 00056 class InvalidDowncastError; 00057 00058 template <typename T1, typename T2> 00059 struct is_base_of; 00060 00061 template <typename T1, typename T2> 00062 struct is_same; 00063 00064 class NotEnabledError; 00065 00066 class NullReferenceError; 00067 00068 class null_type; 00069 00070 class OutOfResourcesError; 00071 00072 template <typename TO, typename FROM> 00073 TO polymorphic_cast(FROM& from); 00074 00075 class PreconditionNotMetError; 00076 00077 template <typename DELEGATE> 00078 class Reference; 00079 00080 template <typename T> 00081 struct smart_ptr_traits; 00082 00083 typedef std::vector<std::string> StringSeq; 00084 00085 class Time; 00086 00087 class TimeoutError; 00088 00089 class UnsupportedError; 00090 00091 template <typename DELEGATE> 00092 class Value; 00093 00094 template <typename T> 00095 class WeakReference; 00096 00097 #ifdef OMG_DDS_EXTENSIBLE_AND_DYNAMIC_TOPIC_TYPE_SUPPORT 00098 00099 template <typename T, template <typename Q> class DELEGATE = dds::core::detail::optional > 00100 class optional; 00101 00102 #endif 00103 00104 namespace cond { 00105 typedef ::dds::core::cond::detail::Condition Condition; 00106 00107 typedef ::dds::core::cond::detail::GuardCondition GuardCondition; 00108 00109 template <typename ENTITY, 00110 typename DELEGATE = dds::core::cond::detail::StatusCondition<ENTITY> > 00111 class StatusCondition; 00112 00113 typedef ::tdds::core::cond::WaitSet< ::dds::core::cond::detail::WaitSet > 00114 WaitSet; 00115 } 00116 00117 00118 namespace policy { 00119 #ifdef OMG_DDS_EXTENSIBLE_AND_DYNAMIC_TOPIC_TYPE_SUPPORT 00120 typedef uint16_t DataRepresentationId; 00121 00122 typedef std::vector<DataRepresentationId> DataRepresentationIdSeq; 00123 #endif 00124 00125 typedef dds::core::policy::detail::Deadline 00126 Deadline; 00127 00128 typedef dds::core::policy::detail::DestinationOrder 00129 DestinationOrder; 00130 00131 typedef dds::core::policy::detail::Durability 00132 Durability; 00133 00134 typedef dds::core::policy::detail::EntityFactory 00135 EntityFactory; 00136 00137 typedef dds::core::policy::detail::GroupData 00138 GroupData; 00139 00140 typedef dds::core::policy::detail::History 00141 History; 00142 00143 typedef dds::core::policy::detail::LatencyBudget 00144 LatencyBudget; 00145 00146 typedef dds::core::policy::detail::Lifespan 00147 Lifespan; 00148 00149 typedef dds::core::policy::detail::Liveliness 00150 Liveliness; 00151 00152 typedef dds::core::policy::detail::Ownership 00153 Ownership; 00154 00155 #ifdef OMG_DDS_OWNERSHIP_SUPPORT 00156 typedef dds::core::policy::detail::OwnershipStrength 00157 OwnershipStrength; 00158 #endif // OMG_DDS_OWNERSHIP_SUPPORT 00159 00160 typedef dds::core::policy::detail::Partition 00161 Partition; 00162 00163 template <typename Policy> 00164 class policy_id; 00165 00166 template <typename Policy> 00167 class policy_name; 00168 00169 typedef dds::core::policy::detail::Presentation 00170 Presentation; 00171 00172 typedef ::dds::core::policy::detail::QosPolicyCount QosPolicyCount; 00173 00174 typedef std::vector<QosPolicyCount> QosPolicyCountSeq; 00175 00176 typedef uint32_t QosPolicyId; 00177 00178 typedef dds::core::policy::detail::ReaderDataLifecycle 00179 ReaderDataLifecycle; 00180 00181 typedef dds::core::policy::detail::Reliability 00182 Reliability; 00183 00184 typedef dds::core::policy::detail::ResourceLimits 00185 ResourceLimits; 00186 00187 typedef dds::core::policy::detail::TimeBasedFilter 00188 TimeBasedFilter; 00189 00190 typedef dds::core::policy::detail::TopicData 00191 TopicData; 00192 00193 typedef dds::core::policy::detail::TransportPriority 00194 TransportPriority; 00195 00196 typedef dds::core::policy::detail::UserData 00197 UserData; 00198 00199 typedef dds::core::policy::detail::WriterDataLifecycle 00200 WriterDataLifecycle; 00201 00202 #ifdef OMG_DDS_PERSISTENCE_SUPPORT 00203 typedef ::dds::core::policy::detail::DurabilityService 00204 DurabilityService; 00205 #endif // OMG_DDS_PERSISTENCE_SUPPORT 00206 00207 #ifdef OMG_DDS_EXTENSIBLE_AND_DYNAMIC_TOPIC_TYPE_SUPPORT 00208 // TODO 00209 #endif 00210 } 00211 00212 00213 namespace status { 00214 class DataAvailableStatus; 00215 00216 class DataOnReadersStatus; 00217 00218 typedef ::dds::core::status::detail::InconsistentTopicStatus 00219 InconsistentTopicStatus; 00220 00221 typedef ::dds::core::status::detail::LivelinessChangedStatus 00222 LivelinessChangedStatus; 00223 00224 typedef ::dds::core::status::detail::LivelinessLostStatus 00225 LivelinessLostStatus; 00226 00227 typedef ::dds::core::status::detail::OfferedDeadlineMissedStatus 00228 OfferedDeadlineMissedStatus; 00229 00230 typedef ::dds::core::status::detail::OfferedIncompatibleQosStatus 00231 OfferedIncompatibleQosStatus; 00232 00233 typedef ::dds::core::status::detail::PublicationMatchedStatus 00234 PublicationMatchedStatus; 00235 00236 class SampleRejectedState; 00237 00238 typedef ::dds::core::status::detail::SampleRejectedStatus 00239 SampleRejectedStatus; 00240 00241 typedef ::dds::core::status::detail::RequestedDeadlineMissedStatus 00242 RequestedDeadlineMissedStatus; 00243 00244 typedef ::dds::core::status::detail::RequestedIncompatibleQosStatus 00245 RequestedIncompatibleQosStatus; 00246 00247 typedef ::dds::core::status::detail::SampleLostStatus 00248 SampleLostStatus; 00249 00250 class StatusMask; 00251 00252 typedef ::dds::core::status::detail::SubscriptionMatchedStatus 00253 SubscriptionMatchedStatus; 00254 } 00255 00256 } } 00257 00258 #endif /* OMG_DDS_CORE_CORE_FWD_HPP_ */
1.7.1