Issues for DDS PSM Cxx v1.1 Revision Task Force

To comment on any of these issues, send email to [email protected]. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to [email protected].

List of issues (green=resolved, yellow=pending Board vote, red=unresolved)

List options: All ; Open Issues only; or Closed Issues only

Jira Issues

Issue 17063: Condition classes should only be used with WaitSets Jira Issue DDSPSMC11-1
Issue 18445: EntityQos is overly general Jira Issue DDSPSMC11-2
Issue 18612: API corrections required to src/hpp/dds/core/Exception.hpp Jira Issue DDSPSMC11-3
Issue 18613: API correction required to src/hpp/dds/core/Optional.hpp Jira Issue DDSPSMC11-4
Issue 18614: Inconsistent use of Type/type - fix compilation Jira Issue DDSPSMC11-5
Issue 18615: API corrections required to src/hpp/dds/core/TInstanceHandle.hpp Jira Issue DDSPSMC11-6
Issue 18616: API corrections required to src/hpp/dds/core/TQosProvider.hpp Jira Issue DDSPSMC11-7
Issue 18617: Code in src/hpp/dds/core/array.hpp does not compile Jira Issue DDSPSMC11-8
Issue 18618: API correction required to src/hpp/dds/core/cond/StatusCondition.hpp Jira Issue DDSPSMC11-9
Issue 18619: API correction required to src/hpp/dds/core/cond/TWaitSet.hpp Jira Issue DDSPSMC11-10
Issue 18620: API correction required to src/hpp/dds/core/cond/detail/GuardCondition.hpp Jira Issue DDSPSMC11-38
Issue 18625: Example vendor code is incorrect Jira Issue DDSPSMC11-11
Issue 18626: API correction required to src/hpp/dds/core/detail/conformance.hpp Jira Issue DDSPSMC11-12
Issue 18627: API correction required to src/hpp/dds/core/policy/TCorePolicy.hpp Jira Issue DDSPSMC11-13
Issue 18628: API correction required to src/hpp/dds/core/status/State.hpp Jira Issue DDSPSMC11-14
Issue 18629: API correction required to src/hpp/dds/core/ref_traits.hpp Jira Issue DDSPSMC11-15
Issue 18630: API correction required to src/hpp/dds/core/status/TStatus.hpp Jira Issue DDSPSMC11-16
Issue 18631: API correction required to src/hpp/dds/core/types.hpp Jira Issue DDSPSMC11-17
Issue 18632: API correction required to src/hpp/dds/dds.hpp Jira Issue DDSPSMC11-18
Issue 18633: src/hpp/dds/domain/TDomainId.hpp should be removed from the API Jira Issue DDSPSMC11-19
Issue 18634: API correction required to src/hpp/dds/domain/TDomainParticipant.hpp Jira Issue DDSPSMC11-20
Issue 18635: Documentation comments corrections required to src/hpp/dds/domain/discovery.hpp & find.hpp Jira Issue DDSPSMC11-21
Issue 18636: API correction required to src/hpp/dds/domain/qos/detail/DomainParticipantQos.hpp Jira Issue DDSPSMC11-22
Issue 18637: API correction required to src/hpp/dds/pub/AnyDataWriter.hpp Jira Issue DDSPSMC11-23
Issue 18638: Documentation comments corrections to src/hpp/dds/pub/TPublisher.hpp Jira Issue DDSPSMC11-24
Issue 18639: API correction required to src/hpp/dds/pub/TSuspendedPublication.hpp Jira Issue DDSPSMC11-25
Issue 18640: Documentation comments corrections to src/hpp/dds/pub/discovery.hpp Jira Issue DDSPSMC11-26
Issue 18641: Missing file dds/pub/detail/find.hpp referenced in src/hpp/dds/pub/find.hpp Jira Issue DDSPSMC11-27
Issue 18642: API correction required to src/hpp/dds/pub/qos/detail/DataWriterQos.hpp & PublisherQos.hpp Jira Issue DDSPSMC11-28
Issue 18643: API correction required to src/hpp/dds/sub/AnyDataReaderListener.hpp Jira Issue DDSPSMC11-29
Issue 18644: DataReader.hpp, ContentFilteredTopic.hpp, Topic.hpp, TopicDescription.hpp o not compile with MS Visual Studio Jira Issue DDSPSMC11-30
Issue 18645: API correction required to src/hpp/dds/sub/DataReaderListener.hpp Jira Issue DDSPSMC11-31
Issue 18646: API correction required to src/hpp/dds/sub/LoanedSamples.hpp Jira Issue DDSPSMC11-32
Issue 18647: API correction required to src/hpp/dds/sub/SharedSamples.hpp Jira Issue DDSPSMC11-33
Issue 18648: API correction required to src/hpp/dds/sub/SubscriberListener.hpp Jira Issue DDSPSMC11-34
Issue 18649: API correction required to src/hpp/dds/sub/TDataReader.hpp Jira Issue DDSPSMC11-35
Issue 19585: Normative references not complete and out of date Jira Issue DDSPSMC11-36
Issue 19586: Small correctes to the specification Jira Issue DDSPSMC11-37
Issue 19753: Names of the generated headers Jira Issue DDSPSMC11-39
Issue 19801: Missing TBuiltinTopicTypes Jira Issue DDSPSMC11-43

Issue 17063: Condition classes should only be used with WaitSets (dds-psm-cxx-rtf)

Click here for this issue's archive.
Nature: Clarification
Severity: Significant
Summary:
The DataReader API provides methods to read samples with a condition. This condition can be either a ReadCondition or a QueryCondition, and in this case the samples returned are either filtered by the status (ReadCondition) or the content+status (QueryCondition).  The ReadCondition is completely in overlap with the instance/status/view states and its use is really irrelevant when in combination with the DataReader. On the other end the only aspect of the QueryCondition that really matters to a DataReader are the query expression and parameters.       By looking carefully at the API, it seems apparent that the ReadCondition and the QueryCondition really make sense only when used with a WaitSet. On the other end, their use in conjunction of a DataReader is a stretch and breaks the semantics of the "Condition". On principle a condition is used to "wait" for a particular status to be true, yet the DataReader "read" are -- rightfully -- always non-blocking. In addition, the API opens up for gratuitous runtime errors as I could write silly code as follows (in C++):      auto  rc = reader.create_readcondition();  reader2.read(..., rc,...);      This although silly is allowed by the API and on a proper DDS implementation should raise an exception.      The same could happen with a QueryCondition!              Resolution  ---------------  Limit the use of Read/QueryCondition to waitsets and put in place a more robust mechanism to do status and content filtering on a data-reader read.      An example of what could be done is provided below, where I assume that the DataStatus is the former ReaderState:         reader        .filter_status(DataStatus::new_data())        .filter_content(Query("x < 100 AND  y < 100"))        .read();      Equally, one could write (again legal C++ below with little magic under-cover) :         reader        .instance(handle)        .filter_status(DataStatus::new_data())        .filter_content(Query("x < 100 AND  y < 100"))        .read();          Notice that this code, not only  is very declarative and thus shows very clearly the intent of the programmer, but in addition does not allow for the silly mistakes shown above. Further more, it really highlights he role of the Sample/Instance/View status as a "filter" on the status of data.      

Resolution:
Revised Text:
Actions taken:
January 26, 2012: received issue

Issue 18445: EntityQos is overly general (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Nature: Enhancement
Severity: Significant
Summary:
EntityQos template is a rather overly general way of setting and getting policies. Member template functions generate the code depending upon the policy type. If you pass a wrong type, it eventually ends up showing a link-time error as opposed to a compile-time error. For instance, there is a link-time error in the code below because DataWriterQos has no presentation policy.     dds::pub::qos::DataWriterQos dwqos;  dds::core::policy::Deadline d;  dds::core::policy::Presentation p;  dwqos >> p; /// Linker error here. No compile-time error  dwqos >> d; /// Fine!      Additionally, the dot operator provides no help for syntax completion because the policy function is a member template. Consequently, the end-user might be tempted to use the -> operator, which does provide syntax completion depending upon the implementation of the delegate. As a result, for standard policies -> will be used, which is unintended.      Proposed Resolution:      1. Add template classes DataReaderQos, DataWriterQoS, PublisherQos, SubscriberQos, DomainParticipantQos in the dds namespace.       2. Support non-template member functions for setting and getting respective policies. For instance. dwqos.deadline() and dwqos.deadline(d) should be supported.       3. Define operator << and operator >> outside the QoS class and overload for the respective  policies.       4. The templated verions of policy getters/setters can still be supported. However, I seriously doubt their usefulness. If we decide to keep them, at least I would like to turn the linker error into compiler error using a meta-programming technique described here:     http://cpptruths.googlecode.com/svn/trunk/cpp/entityqos.cpp

Resolution:
Revised Text:
Actions taken:
February 12, 2013: received issue

Issue 18612: API corrections required to src/hpp/dds/core/Exception.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      API requires warning suppression with MS Visual Studio.  MS symbol export macros missing.  Missing constructor.  Incorrect comments.  Some in-line definition remaining in declaration only file.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/Exception.hpp b/src/hpp/dds/core/Exception.hpp  index 84c7c28..22b05ab 100644  --- a/src/hpp/dds/core/Exception.hpp  +++ b/src/hpp/dds/core/Exception.hpp  @@ -23,15 +23,21 @@   #include <string>   #include <dds/core/macros.hpp>      +#if defined _MSC_VER  +#   pragma warning (push)  +#   pragma warning (disable:4275) // non dll-interface class  'std::foo_error' used as base for dll-interface class 'dds::core::BarError'  +#endif  +   namespace dds { namespace core {         /**  -   * This files contains the exceptions corresponding to DDS errors.  -   * In the DDS-PSM-Cxx in place of DDS errors the associated expcetion  +   * @file  +   * This file contains the exceptions corresponding to DDS errors.  +   * In the DDS-PSM-Cxx in place of DDS errors the associated exception      * should be raised. Please section 7.5.5 of the DDS-PSM-C++  specification.      */      -  class Exception  +  class OMG_DDS_API Exception     {     protected:       Exception();  @@ -42,12 +48,11 @@ namespace dds { namespace core {       virtual const char* what() const throw () = 0;     };      -  class Error : public Exception, public std::exception  +  class OMG_DDS_API Error : public Exception, public std::logic_error     {     public:  -    Error();  +    explicit Error(const std::string& msg);       Error(const Error& src);  -  public:       virtual ~Error() throw ();         public:  @@ -55,7 +60,7 @@ namespace dds { namespace core {     };        -  class AlreadyClosedError : public Exception, public std::logic_error  +  class OMG_DDS_API AlreadyClosedError : public Exception, public  std::logic_error     {     public:       explicit AlreadyClosedError(const std::string& msg);  @@ -67,7 +72,7 @@ namespace dds { namespace core {     };        -  class IllegalOperationError : public Exception, public std::logic_error  +  class OMG_DDS_API IllegalOperationError : public Exception, public  std::logic_error     {     public:       explicit IllegalOperationError(const std::string& msg);  @@ -79,7 +84,7 @@ namespace dds { namespace core {     };        -  class ImmutablePolicyError : public Exception, public std::logic_error  +  class OMG_DDS_API ImmutablePolicyError : public Exception, public  std::logic_error     {     public:       explicit ImmutablePolicyError(const std::string& msg);  @@ -91,7 +96,7 @@ namespace dds { namespace core {     };        -  class InconsistentPolicyError : public Exception, public std::logic_error  +  class OMG_DDS_API InconsistentPolicyError : public Exception, public  std::logic_error     {     public:       explicit InconsistentPolicyError(const std::string& msg);  @@ -103,7 +108,7 @@ namespace dds { namespace core {     };        -  class InvalidArgumentError : public Exception, public  std::invalid_argument  +  class OMG_DDS_API InvalidArgumentError : public Exception, public  std::invalid_argument     {     public:       explicit InvalidArgumentError(const std::string& msg);  @@ -115,7 +120,7 @@ namespace dds { namespace core {     };        -  class NotEnabledError : public Exception, public std::logic_error  +  class OMG_DDS_API NotEnabledError : public Exception, public  std::logic_error     {     public:       explicit NotEnabledError(const std::string& msg);  @@ -127,7 +132,7 @@ namespace dds { namespace core {     };        -  class OutOfResourcesError : public Exception, public std::runtime_error  +  class OMG_DDS_API OutOfResourcesError : public Exception, public  std::runtime_error     {     public:       explicit OutOfResourcesError(const std::string& msg);  @@ -139,22 +144,19 @@ namespace dds { namespace core {     };        -  class PreconditionNotMetError : public Exception, public std::logic_error  +  class OMG_DDS_API PreconditionNotMetError : public Exception, public  std::logic_error     {     public:  -    explicit PreconditionNotMetError(const std::string& msg) :  std::logic_error(msg) { }  -    PreconditionNotMetError(const PreconditionNotMetError& src) :  std::logic_error(src.what()) {}  -    virtual ~PreconditionNotMetError() throw () { }  +    explicit PreconditionNotMetError(const std::string& msg);  +    PreconditionNotMetError(const PreconditionNotMetError& src);  +    virtual ~PreconditionNotMetError() throw ();         public:  -    virtual const char* what() const throw () {  -      return this->std::logic_error::what();  -    }  -  +    virtual const char* what() const throw ();     };        -  class TimeoutError : public Exception, public std::runtime_error  +  class OMG_DDS_API TimeoutError : public Exception, public  std::runtime_error     {     public:       explicit TimeoutError(const std::string& msg);  @@ -166,7 +168,7 @@ namespace dds { namespace core {     };        -  class UnsupportedError : public Exception, public std::logic_error  +  class OMG_DDS_API UnsupportedError : public Exception, public  std::logic_error     {     public:       explicit UnsupportedError(const std::string& msg);  @@ -177,7 +179,7 @@ namespace dds { namespace core {       virtual const char* what() const throw ();     };      -  class InvalidDowncastError : public Exception, public std::runtime_error  +  class OMG_DDS_API InvalidDowncastError : public Exception, public  std::runtime_error     {     public:       explicit InvalidDowncastError(const std::string& msg);  @@ -188,7 +190,7 @@ namespace dds { namespace core {       virtual const char* what() const throw ();     };      -  class NullReferenceError : public Exception, public std::runtime_error  +  class OMG_DDS_API NullReferenceError : public Exception, public  std::runtime_error     {     public:       explicit NullReferenceError(const std::string& msg);  @@ -200,7 +202,7 @@ namespace dds { namespace core {     };        -  class InvalidDataError : public Exception, public std::logic_error  +  class OMG_DDS_API InvalidDataError : public Exception, public  std::logic_error     {     public:       explicit InvalidDataError(const std::string& msg);  @@ -213,4 +215,9 @@ namespace dds { namespace core {       }}      +#if defined _MSC_VER  +#   pragma warning (pop)  +#endif  +  +   #endif /* OMG_DDS_CORE_EXCEPTION_HPP_ */

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18613: API correction required to src/hpp/dds/core/Optional.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Escape '@' annotation in comment      _Suggested resolution_:      diff --git a/src/hpp/dds/core/Optional.hpp b/src/hpp/dds/core/Optional.hpp  index 5e563d0..7f1a1fc 100644  --- a/src/hpp/dds/core/Optional.hpp  +++ b/src/hpp/dds/core/Optional.hpp  @@ -24,7 +24,7 @@ namespace dds { namespace core {         /**      * The optional class is used to wrap attributes annotated with the  -   * @optional annotation. This class provides a simple and safe way of  +   * \@optional annotation. This class provides a simple and safe way of      * accessing, setting and resetting the stored attribute.      */     template <typename T, template <typename Q> class DELEGATE>

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18614: Inconsistent use of Type/type - fix compilation (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Code in src/hpp/dds/core/SafeEnumeration.hpp and  src/hpp/dds/core/policy/PolicyKind.hpp does not compile.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/SafeEnumeration.hpp  b/src/hpp/dds/core/SafeEnumeration.hpp  index 3f7ca67..0d443c2 100644  --- a/src/hpp/dds/core/SafeEnumeration.hpp  +++ b/src/hpp/dds/core/SafeEnumeration.hpp  @@ -3,10 +3,10 @@       namespace dds {     namespace core {  -    template<typename def, typename inner = typename def::type>  +    template<typename def, typename inner = typename def::Type>       class safe_enum : public def       {  -      typedef typename def::type type;  +      typedef typename def::Type type;         inner val;           public:  diff --git a/src/hpp/dds/core/policy/PolicyKind.hpp  b/src/hpp/dds/core/policy/PolicyKind.hpp  index 6928742..9537d78 100644  --- a/src/hpp/dds/core/policy/PolicyKind.hpp  +++ b/src/hpp/dds/core/policy/PolicyKind.hpp  @@ -25,7 +25,7 @@   namespace dds { namespace core { namespace policy {         struct OwnershipKind_def {  -    enum type {  +    enum Type {         SHARED       #ifdef  OMG_DDS_OWNERSHIP_SUPPORT  @@ -37,7 +37,7 @@ namespace dds { namespace core { namespace policy {     typedef dds::core::safe_enum<OwnershipKind_def> OwnershipKind;         struct DurabilityKind_def {  -    enum type {  +    enum Type {         VOLATILE,         TRANSIENT_LOCAL      @@ -46,8 +46,7 @@ namespace dds { namespace core { namespace policy {         TRANSIENT,         PERSISTENT   #endif  // #ifdef  OMG_DDS_PERSISTENCE_SUPPORT  -    };  -  };  +    }; };     typedef dds::core::safe_enum<DurabilityKind_def> DurabilityKind;         struct PresentationAccessScopeKind_def  {  @@ -60,11 +59,11 @@ namespace dds { namespace core { namespace policy {         GROUP   #endif  // OMG_DDS_OBJECT_MODEL_SUPPORT       }; };  -  +  typedef dds::core::safe_enum<PresentationAccessScopeKind_def>  PresentationAccessScopeKind;           struct ReliabilityKind_def {  -    enum type {  +    enum Type {         BEST_EFFORT,         RELIABLE       };  @@ -73,7 +72,7 @@ namespace dds { namespace core { namespace policy {           struct DestinationOrderKind_def {  -    enum type {  +    enum Type {         BY_RECEPTION_TIMESTAMP,         BY_SOURCE_TIMESTAMP       }; };  @@ -81,7 +80,7 @@ namespace dds { namespace core { namespace policy {     typedef dds::core::safe_enum<DestinationOrderKind_def>  DestinationOrderKind;         struct HistoryKind_def {  -    enum type {  +    enum Type {         KEEP_LAST,         KEEP_ALL       };};  @@ -89,7 +88,7 @@ namespace dds { namespace core { namespace policy {     typedef dds::core::safe_enum<HistoryKind_def> HistoryKind;         struct LivelinessKind_def {  -    enum type {  +    enum Type {         AUTOMATIC,         MANUAL_BY_PARTICIPANT,         MANUAL_BY_TOPIC  @@ -97,7 +96,7 @@ namespace dds { namespace core { namespace policy {     typedef dds::core::safe_enum<LivelinessKind_def> LivelinessKind;         struct TypeConsistencyEnforcementKind_def {  -    enum type {  +    enum Type {         EXACT_TYPE_TYPE_CONSISTENCY,         EXACT_NAME_TYPE_CONSISTENCY,         DECLARED_TYPE_CONSISTENCY,

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18615: API corrections required to src/hpp/dds/core/TInstanceHandle.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Incorrect comment.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/TInstanceHandle.hpp  b/src/hpp/dds/core/TInstanceHandle.hpp  index c4c4014..b93975d 100644  --- a/src/hpp/dds/core/TInstanceHandle.hpp  +++ b/src/hpp/dds/core/TInstanceHandle.hpp  @@ -44,7 +44,7 @@ public:     TInstanceHandle(const TInstanceHandle& other);         /**  -   * Distructor  +   * Destructor      */     ~TInstanceHandle();

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18616: API corrections required to src/hpp/dds/core/TQosProvider.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Incorrect comments.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/TQosProvider.hpp  b/src/hpp/dds/core/TQosProvider.hpp  index ef2a3e3..9cdda28 100644  --- a/src/hpp/dds/core/TQosProvider.hpp  +++ b/src/hpp/dds/core/TQosProvider.hpp  @@ -47,8 +47,8 @@ public:      * For instance, the following code:      * <pre><code>            QosProvider  xml_file_provider("file:///somewhere/on/disk/qos-config.xml");  -         QosProvider  json_file_provider(""file:///somewhere/on/disk/json-config.json");  -         QosProvider  json_http_provider(""http:///somewhere.org/here/json-config.json");  +         QosProvider  json_file_provider("file:///somewhere/on/disk/json-config.json");  +         QosProvider  json_http_provider("http:///somewhere.org/here/json-config.json");         </code></pre>          * The URI determines the how the Qos configuration is fetched and the

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18617: Code in src/hpp/dds/core/array.hpp does not compile (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Does not compile      _Suggested resolution_:      diff --git a/src/hpp/dds/core/array.hpp b/src/hpp/dds/core/array.hpp  index cd39d02..dfa910b 100644  --- a/src/hpp/dds/core/array.hpp  +++ b/src/hpp/dds/core/array.hpp  @@ -219,6 +219,8 @@ namespace dds {       template<std::size_t _Int, typename _Tp>          class tuple_element;      +    template <typename _Tp> class tuple_size;  +       template<typename _Tp, std::size_t _Nm>          struct tuple_size<array<_Tp, _Nm> >          { static const std::size_t value = _Nm; };

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18618: API correction required to src/hpp/dds/core/cond/StatusCondition.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Does not compile.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/cond/StatusCondition.hpp b/src/hpp/dds/core/cond/StatusCondition.hpp  index 4e33b3d..e500e39 100644  --- a/src/hpp/dds/core/cond/StatusCondition.hpp  +++ b/src/hpp/dds/core/cond/StatusCondition.hpp  @@ -22,7 +22,7 @@   #include <dds/core/cond/TStatusCondition.hpp>       namespace dds { namespace core { namespace cond {  -  typedef TStatusCondition<detail::StatusCondition> StatusCondition;  +  typedef detail::StatusCondition StatusCondition;   } } }       #endif /* OMG_DDS_CORE_STATUSCONDITION_HPP_ */

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18619: API correction required to src/hpp/dds/core/cond/TWaitSet.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Code does not compile.  Comments incorrect.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/cond/TWaitSet.hpp b/src/hpp/dds/core/cond/TWaitSet.hpp  index dfb05a2..a7fa3ee 100644  --- a/src/hpp/dds/core/cond/TWaitSet.hpp  +++ b/src/hpp/dds/core/cond/TWaitSet.hpp  @@ -22,7 +22,9 @@   #include <vector>       #include <dds/core/types.hpp>  +#include <dds/core/Duration.hpp>   #include <dds/core/cond/Condition.hpp>  +#include <dds/core/cond/WaitSet.hpp>       namespace dds {     namespace core {  @@ -51,11 +53,6 @@ public:     OMG_DDS_REF_TYPE(TWaitSet, dds::core::Reference, DELEGATE)       public:  -  /**  -   * Creates a new waitset.  -   */  -  TWaitSet();  -     ~TWaitSet();       public:  @@ -82,7 +79,7 @@ public:      * @param timeout the maximum amount of time for which the wait      * should block while waiting for a condition to be triggered.      *  -   * @raise PreconditionNotMetException when multiple thread try to invoke  +   * @throws PreconditionNotMetException when multiple thread try to invoke      *        the method concurrently.      *      * @return a vector containing the triggered conditions  @@ -95,11 +92,6 @@ public:      * WaitSet have a trigger_value of TRUE, the wait operation will block      * suspending the calling thread.      *  -   * The wait operation takes a timeout argument that specifies the maximum  -   * duration for the wait. It this duration is exceeded and none of  -   * the attached Condition objects is true, wait will continue and the  -   * returned ConditionSeq will be empty.  -   *      * It is not allowed for more than one application thread to be waiting      * on the same WaitSet. If the wait operation is invoked on a WaitSet that      * already has a thread blocking on it, the operation will raise  @@ -109,10 +101,7 @@ public:      * conditions that have a trigger_value of TRUE (i.e., the conditions      * that unblocked the wait).      *  -   * @param timeout the maximum amount of time for which the wait  -   * should block while waiting for a condition to be triggered.  -   *  -   * @raise PreconditionNotMetException when multiple thread try to invoke  +   * @throws PreconditionNotMetException when multiple thread try to invoke      *        the method concurrently.      *      * @return a vector containing the triggered conditions  @@ -142,7 +131,7 @@ public:      * @param timeout the maximum amount of time for which the wait      * should block while waiting for a condition to be triggered.      *  -   * @raise PreconditionNotMetException when multiple thread try to invoke  +   * @throws PreconditionNotMetException when multiple thread try to invoke      *        the method concurrently.      *      * @return a vector containing the triggered conditions  @@ -173,7 +162,7 @@ public:      * @param timeout the maximum amount of time for which the wait      * should block while waiting for a condition to be triggered.      *  -   * @raise PreconditionNotMetException when multiple thread try to invoke  +   * @throws PreconditionNotMetException when multiple thread try to invoke      *        the method concurrently.      *      * @return a vector containing the triggered conditions  @@ -199,12 +188,12 @@ public:     /**      * A synonym for attach_condition.      */  -  WaitSet& operator +=(const dds::core::cond::Condition& cond);  +  TWaitSet& operator +=(const dds::core::cond::Condition& cond);         /**      * A synonym for detach_condition.      */  -  WaitSet& operator -=(const dds::core::cond::Condition& cond);  +  TWaitSet& operator -=(const dds::core::cond::Condition& cond);         /**      * Attaches a Condition to the WaitSet. It is possible to attach a  @@ -216,7 +205,7 @@ public:      *      * @param cond the condition to be attached to this waitset.      */  -  WaitSet& attach_condition(const dds::core::cond::Condition& cond);  +  TWaitSet& attach_condition(const dds::core::cond::Condition& cond);         /**      * Detaches a Condition from the WaitSet. If the Condition was not

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18620: API correction required to src/hpp/dds/core/cond/detail/GuardCondition.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
Name:            Simon McQueen  Employer:        PrismTech  Specification:   DDS CXX PSM RTF  FormalNumber:    ptc/12-10-03  Nature:          Revision      _Issues_:      Code incorrect.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/cond/detail/GuardCondition.hpp b/src/hpp/dds/core/cond/detail/GuardCondition.hpp  index a9143fa..fdc8b98 100644  --- a/src/hpp/dds/core/cond/detail/GuardCondition.hpp  +++ b/src/hpp/dds/core/cond/detail/GuardCondition.hpp  @@ -20,13 +20,13 @@    */       #include <dds/core/cond/TGuardCondition.hpp>  -#include <foo/bar/core/cond/GuardConditionImpl.hpp>  +#include <foo/bar/core/cond/GuardCondition.hpp>       namespace dds {     namespace core {       namespace cond {         namespace detail {  -        typedef dds::core::cond::TGuardCondition<foo::bar::core::cond::GuardConditionl> GuardCondition;  +        typedef dds::core::cond::TGuardCondition<foo::bar::core::cond::GuardCondition> GuardCondition;         }       }     }

Resolution:
Revised Text:
Actions taken:
April 3, 2013: received issue

Issue 18625: Example vendor code is incorrect (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Revision
Severity:
Summary:
_Suggested resolution_:      diff --git a/src/hpp/dds/core/cond/detail/StatusCondition.hpp b/src/hpp/dds/core/cond/detail/StatusCondition.hpp  index 400c6c8..06f0198 100644  --- a/src/hpp/dds/core/cond/detail/StatusCondition.hpp  +++ b/src/hpp/dds/core/cond/detail/StatusCondition.hpp  @@ -27,7 +27,7 @@ namespace dds {     namespace core {       namespace cond {         namespace detail {  -        typedef dds::core::cond::StatusCondition<foo::bar::core::cond::StatusCondition> StatusCondition;  +        typedef dds::core::cond::TStatusCondition<foo::bar::core::cond::StatusCondition> StatusCondition;         }       }     }

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18626: API correction required to src/hpp/dds/core/detail/conformance.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Example vendor file is missing a conformance point macro used elsewhere in the API.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/detail/conformance.hpp b/src/hpp/dds/core/detail/conformance.hpp  index f8b5f9b..bb8e974 100644  --- a/src/hpp/dds/core/detail/conformance.hpp  +++ b/src/hpp/dds/core/detail/conformance.hpp  @@ -22,6 +22,7 @@   #define OMG_DDS_OBJECT_MODEL_SUPPORT                        FULL   #define OMG_DDS_EXTENSIBLE_AND_DYNAMIC_TOPIC_TYPE_SUPPORT   FULL   #define OMG_DDS_X_TYPES_DYNANIC_TYPE_SUPPORT                FULL  +#define OMG_DDS_X_TYPES_BUILTIN_TOPIC_TYPES_SUPPORT         FULL   #define OMG_DDS_HAS_PRETTY_PRINT_COUT 1       #endif /* OMG_DDS_CORE_DETAIL_CONFORMANCE_HPP_ */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18627: API correction required to src/hpp/dds/core/policy/TCorePolicy.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Compilation fixes and corrections to API documentation comments required.      Incorrect default reliability duration (infinite). Should be 100 milliseconds per table in section "7.1.3 Supported QoS" (formal 07-01-01)        _Suggested resolution_:      diff --git a/src/hpp/dds/core/policy/TCorePolicy.hpp b/src/hpp/dds/core/policy/TCorePolicy.hpp  index 382e521..1313b32 100644  --- a/src/hpp/dds/core/policy/TCorePolicy.hpp  +++ b/src/hpp/dds/core/policy/TCorePolicy.hpp  @@ -47,7 +47,7 @@ namespace dds { namespace core { namespace policy {       /**        * Create a <code>UserData</code> instance with an empty user data.        */  -    TUserData() : dds::core::Value<D>();  +    TUserData();           /**        * Create a <code>UserData</code> instance.  @@ -56,7 +56,7 @@ namespace dds { namespace core { namespace policy {        */       explicit TUserData(const dds::core::ByteSeq& seq);      -    //@TODO Implement  +    /** @todo Implement this */       TUserData(const uint8_t* value_begin, const uint8_t* value_end);           TUserData(const TUserData& other);  @@ -102,16 +102,16 @@ namespace dds { namespace core { namespace policy {     class TGroupData : public dds::core::Value<D> {     public:       /**  -     * Create a <code>GroupData<code> instance.  +     * Create a <code>GroupData</code> instance.        */  -    TGroupData() : dds::core::Value<D>();  +    TGroupData();           /**  -     * Create a <code>GroupData<code> instance.  +     * Create a <code>GroupData</code> instance.        *        * @param seq the group data value        */  -    explicit TGroupData(const dds::core::ByteSeq& seq) : dds::core::Value<D>(seq);  +    explicit TGroupData(const dds::core::ByteSeq& seq);           TGroupData(const TGroupData& other);      @@ -160,7 +160,7 @@ namespace dds { namespace core { namespace policy {     template <typename D>     class TTopicData : public dds::core::Value<D> {     public:  -    TTopicData() : dds::core::Value<D>();  +    TTopicData();           explicit TTopicData(const dds::core::ByteSeq& seq);      @@ -219,7 +219,7 @@ namespace dds { namespace core { namespace policy {     template <typename D>     class TEntityFactory : public dds::core::Value<D> {     public:  -    TEntityFactory() :dds::core::Value<D>(true);  +    TEntityFactory();       explicit TEntityFactory(bool the_auto_enable);       TEntityFactory(const TEntityFactory& other);      @@ -255,7 +255,7 @@ namespace dds { namespace core { namespace policy {     public:       explicit TTransportPriority(int32_t prio);      -    TTransportPriority() : dds::core::Value<D>(0);  +    TTransportPriority();           TTransportPriority(const TTransportPriority& other);      @@ -554,7 +554,7 @@ namespace dds { namespace core { namespace policy {       const dds::core::Duration max_blocking_time() const;         public:  -    static TReliability Reliable(const dds::core::Duration& d = dds::core::Duration::infinite());  +    static TReliability Reliable(const dds::core::Duration& d = dds::core::Duration(0, 100000000));       static TReliability BestEffort();     };

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18628: API correction required to src/hpp/dds/core/status/State.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Vestigial implementation code (and comments) need removing for consistency and to fix compilation.       Header include missing.      Required inline operation missing.      Windows export macros required.        _Suggested resolution_:      diff --git a/src/hpp/dds/core/status/State.hpp b/src/hpp/dds/core/status/State.hpp  index 8ac4475..ab8d1cf 100644  --- a/src/hpp/dds/core/status/State.hpp  +++ b/src/hpp/dds/core/status/State.hpp  @@ -21,19 +21,20 @@       #include <bitset>   #include <dds/core/macros.hpp>  +#include <dds/core/types.hpp>         namespace dds { namespace core { namespace status {        -  class SampleRejectedState : public std::bitset<OMG_DDS_STATE_BIT_COUNT> {  +  class OMG_DDS_API SampleRejectedState : public std::bitset<OMG_DDS_STATE_BIT_COUNT> {     public:       typedef std::bitset<OMG_DDS_STATE_BIT_COUNT> MaskType;         public:  -    SampleRejectedState() : MaskType() { }  -    SampleRejectedState(const SampleRejectedState& src) : MaskType(static_cast<int>(src.to_ulong())) { }  -    SampleRejectedState(const MaskType& src) : MaskType(static_cast<int>(src.to_ulong())) { }  +    SampleRejectedState();  +    SampleRejectedState(const SampleRejectedState& src);  +    SampleRejectedState(const MaskType& src);         public:       inline static const SampleRejectedState not_rejected() {  @@ -50,29 +51,29 @@ namespace dds { namespace core { namespace status {       }         private:  -    // @TODO  -    // -- This Ctor should be fixed as currently there is this  -    // -- cast only to avoid an error when compiling with the  MS vC++ compiler  -    SampleRejectedState(uint32_t s)  -    : MaskType((uint64_t)s)  -    { }  -  +    SampleRejectedState(uint32_t s);     };           // StatusMask create_status_mask(uint64_t);      -  class StatusMask : public std::bitset<OMG_DDS_STATUS_COUNT> {  +  class OMG_DDS_API StatusMask : public std::bitset<OMG_DDS_STATUS_COUNT> {     public:       typedef std::bitset<OMG_DDS_STATUS_COUNT> MaskType;         public:  -    StatusMask() { }  -    explicit StatusMask(uint64_t mask) : std::bitset<OMG_DDS_STATUS_COUNT>(mask) { }  -    StatusMask(const StatusMask& other) : MaskType(static_cast<int>(other.to_ulong())) { }  -    ~StatusMask() { }  +    StatusMask();  +    explicit StatusMask(uint32_t mask);  +    StatusMask(const StatusMask& other);  +    ~StatusMask();         public:  +    inline StatusMask& operator << (const dds::core::status::StatusMask& mask)  +    {  +        *this |= mask;  +        return *this;  +    }  +       inline static const StatusMask all() {         return StatusMask(0x7fe7u);       }

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18629: API correction required to src/hpp/dds/core/ref_traits.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Advisory comment is inadvertently and inappropriately documenting namespace.     _Suggested resolution_:      diff --git a/src/hpp/dds/core/ref_traits.hpp b/src/hpp/dds/core/ref_traits.hpp  index 5a34f6f..ff469d1 100644  --- a/src/hpp/dds/core/ref_traits.hpp  +++ b/src/hpp/dds/core/ref_traits.hpp  @@ -19,11 +19,13 @@    * limitations under the License.    */      -/**  +  +namespace  dds { namespace core {  +  +/*    * These traits have to be provided by compliant implementations    * to enable safe polymorphic casts.    */  -namespace  dds { namespace core {         template <typename T1, typename T2>     struct is_base_of;

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18630: API correction required to src/hpp/dds/core/status/TStatus.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Vestigial implementation code needs removing to fix compilation.       _Suggested resolution_:      diff --git a/src/hpp/dds/core/status/TStatus.hpp b/src/hpp/dds/core/status/TStatus.hpp  index 638e188..6d6122f 100644  --- a/src/hpp/dds/core/status/TStatus.hpp  +++ b/src/hpp/dds/core/status/TStatus.hpp  @@ -138,7 +138,7 @@ namespace dds { namespace core { namespace status {     template <typename D>     class TPublicationMatchedStatus : public dds::core::Value<D> {     public:  -    TPublicationMatchedStatus() : dds::core::Value<D>();  +    TPublicationMatchedStatus();         public:       int32_t total_count() const;

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18631: API correction required to src/hpp/dds/core/types.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Windows export macros required.      _Suggested resolution_:      diff --git a/src/hpp/dds/core/types.hpp b/src/hpp/dds/core/types.hpp  index c58e002..90c56f4 100644  --- a/src/hpp/dds/core/types.hpp  +++ b/src/hpp/dds/core/types.hpp  @@ -33,8 +33,8 @@ namespace dds { namespace core {     typedef std::vector<std::string> StringSeq;         // DDS Null-Reference  -  class null_type { };  -  extern const null_type null;  +  class OMG_DDS_API null_type { };  +  extern const null_type OMG_DDS_API null;         #ifdef OMG_DDS_EXTENSIBLE_AND_DYNAMIC_TOPIC_TYPE_SUPPORT

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18632: API correction required to src/hpp/dds/dds.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
File has left over mistaken vendor include.      Could probably do with a nice comment, whilst we're here.      _Suggested resolution_:      diff --git a/src/hpp/dds/dds.hpp b/src/hpp/dds/dds.hpp  index 9de7249..b6bf026 100644  --- a/src/hpp/dds/dds.hpp  +++ b/src/hpp/dds/dds.hpp  @@ -1,6 +1,11 @@   #ifndef __OMG_DDS_DDS_HPP__   #define __OMG_DDS_DDS_HPP__      +/**  + * @file  + * This utility header includes the headers of all the DDS DCPS modules.  + */  +   #include <dds/core/ddscore.hpp>   #include <dds/domain/ddsdomain.hpp>   #include <dds/topic/ddstopic.hpp>  @@ -9,7 +14,5 @@   #include <dds/pub/ddspub.hpp>       #include <dds/core/QosProvider.hpp>  -#include <org/opensplice/topic/TopicTraits.hpp>  -       #endif /* __OMG_DDS_DDS_HPP__ */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18633: src/hpp/dds/domain/TDomainId.hpp should be removed from the API (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
uint32_t is used as the Domain ID throughout the spec so TDomainId.hpp is no longer required.       _Suggested resolution_:      diff --git a/src/hpp/dds/domain/TDomainId.hpp b/src/hpp/dds/domain/TDomainId.hpp  deleted file mode 100644  index dc6d9af..0000000  --- a/src/hpp/dds/domain/TDomainId.hpp  +++ /dev/null  @@ -1,29 +0,0 @@  -#ifndef OMG_DDS_DOMAIN_T_DOMAIN_ID_HPP_  -#define OMG_DDS_DOMAIN_T_DOMAIN_ID_HPP_  -  -#include <dds/core/Value.hpp>  -  -namespace dds { namespace domain {  -  template <typename DELEGATE>  -  class TDomainId;  -} }  -  -  -template <typename DELEGATE>  -class dds::domain::TDomainId : public dds::core::Value<DELEGATE> {  -public:  -  -  template <typename ARG0>  -  TDomainId(ARG0 id) : dds::core::Value<DELEGATE>(id);  -  -  template <typename ARG0, typename ARG1>  -  TDomainId(ARG0 arg0, ARG1 arg1);  -  -  operator uint32_t () const;  -  -  uint32_t value() const;  -  -  static const TDomainId default_domain();  -};  -  -#endif /* OMG_DDS_DOMAIN_T_DOMAIN_ID_HPP_ */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18634: API correction required to src/hpp/dds/domain/TDomainParticipant.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Vestigial implementation code needs removing to fix compilation.      Correct comments.      _Suggested resolution_:      diff --git a/src/hpp/dds/domain/TDomainParticipant.hpp  b/src/hpp/dds/domain/TDomainParticipant.hpp  index ce51ea9..3bf7bb0 100644  --- a/src/hpp/dds/domain/TDomainParticipant.hpp  +++ b/src/hpp/dds/domain/TDomainParticipant.hpp  @@ -75,8 +75,7 @@ public:      *           <code>DomainParticipant</code>.      *      */  -  TDomainParticipant(uint32_t did)  -  : ::dds::core::TEntity<DELEGATE>(new DELEGATE(did));  +  TDomainParticipant(uint32_t id);         /**      * Create a new <code>DomainParticipant</code> object.  @@ -103,11 +102,11 @@ public:   public:         /**  -   * Register a listener with the <core>DomainParticipant</code>.  +   * Register a listener with the <code>DomainParticipant</code>.      * The notifications received by the listener depend on the      * status mask with which it was registered.      *  -   * @param listener the listener  +   * @param the_listener the listener      * @param event_mask the mask defining the events for which the listener      *  will be notified.      */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18635: Documentation comments corrections required to src/hpp/dds/domain/discovery.hpp & find.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Comment correction required.      _Suggested resolution_:      diff --git a/src/hpp/dds/domain/discovery.hpp b/src/hpp/dds/domain/discovery.hpp  index e43d28d..97943ec 100644  --- a/src/hpp/dds/domain/discovery.hpp  +++ b/src/hpp/dds/domain/discovery.hpp  @@ -26,7 +26,7 @@   namespace dds { namespace domain {         /**  -   * This function allows to express the will to ignore the entity  +   * This function allows one to express the will to ignore the entity      * represented by the given <code>InstanceHandle</code> for the specific      * <code>DomainParticipant</code>.      *  @@ -40,7 +40,7 @@ namespace dds { namespace domain {     void ignore(const dds::domain::DomainParticipant& dp, const dds::core::InstanceHandle& handle);         /**  -   * This function allows to express the will to ignore a series of entities  +   * This function allows one to express the will to ignore a series of entities      * whose instance handles are made available via the provided iterators.      *      * @param dp      the <code>DomainParticipant</code> for which the remote  diff --git a/src/hpp/dds/domain/find.hpp b/src/hpp/dds/domain/find.hpp  index 112d67c..2043f04 100644  --- a/src/hpp/dds/domain/find.hpp  +++ b/src/hpp/dds/domain/find.hpp  @@ -27,7 +27,7 @@ namespace dds { namespace domain {     /**      * This operation retrieves a previously created <code>DomainParticipant</code>      * belonging to specified domain_id. If no such DomainParticipant  -   * exists, the operation will return a <it>nil</it> value.  +   * exists, the operation will return a @a nil value.      *      * @param id the domain id      */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18636: API correction required to src/hpp/dds/domain/qos/detail/DomainParticipantQos.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Example vendor code is incorrect.      _Suggested resolution_:      diff --git a/src/hpp/dds/domain/qos/detail/DomainParticipantQos.hpp b/src/hpp/dds/domain/qos/detail/DomainParticipantQos.hpp  index 9007702..c57454d 100644  --- a/src/hpp/dds/domain/qos/detail/DomainParticipantQos.hpp  +++ b/src/hpp/dds/domain/qos/detail/DomainParticipantQos.hpp  @@ -28,7 +28,7 @@ namespace dds {     namespace domain {       namespace qos {         namespace detail {  -      typedef ::dds::core::qos::TEntityQos< foo::bar::domain::qos::DomainParticipantQos >  +      typedef ::dds::core::TEntityQos< foo::bar::domain::qos::DomainParticipantQos >         DomainParticipantQos;         }       }

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18637: API correction required to src/hpp/dds/pub/AnyDataWriter.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Incorrect and unnecessary operator declaration should be removed.       _Suggested resolution_:      diff --git a/src/hpp/dds/pub/AnyDataWriter.hpp b/src/hpp/dds/pub/AnyDataWriter.hpp  index b6bbde2..6d0bad5 100644  --- a/src/hpp/dds/pub/AnyDataWriter.hpp  +++ b/src/hpp/dds/pub/AnyDataWriter.hpp  @@ -72,9 +72,6 @@ public:     template <typename T> AnyDataWriter&     operator =(const dds::pub::DataWriter<T>& rhs);      -  template <typename T>  -  AnyDataWriter& operator =(const AnyDataWriter& rhs);  -     inline AnyDataWriter& operator =(AnyDataWriter rhs);       public:

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18638: Documentation comments corrections to src/hpp/dds/pub/TPublisher.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Corrections to documentation comments required.      _Suggested resolution_:      diff --git a/src/hpp/dds/pub/TPublisher.hpp b/src/hpp/dds/pub/TPublisher.hpp  index 3534a29..d872370 100644  --- a/src/hpp/dds/pub/TPublisher.hpp  +++ b/src/hpp/dds/pub/TPublisher.hpp  @@ -97,16 +97,16 @@ public:      *      * @param pqos the new publisher QoS      */  -  TPublisher& operator <<(const dds::pub::qos::PublisherQos& the_qos);  +  TPublisher& operator <<(const dds::pub::qos::PublisherQos& pqos);         /**      * Get the publisher qos policies.      */  -  TPublisher& operator >> (dds::pub::qos::PublisherQos& the_qos);  +  TPublisher& operator >> (dds::pub::qos::PublisherQos& qos);         /**  -   * This operation sets a default value of the <code>DataWriterQos<\code>  -   * which will be used for newly created <core>DataWriter<code>entities  +   * This operation sets a default value of the <code>DataWriterQos</code>  +   * which will be used for newly created <code>DataWriter</code>entities      * for which no <code>DataWriterQos</code> is provided in the constructor.      * This operation will check that the resulting policies are self consistent;      * if they are not, the operation will have no effect and raise an  @@ -115,7 +115,7 @@ public:     TPublisher& default_writer_qos(const dds::pub::qos::DataWriterQos& dwqos);         /**  -   * This operation retrieves the default value of the <code>DataWriterQos<\code>,  +   * This operation retrieves the default value of the <code>DataWriterQos</code>,      * that is, the QoS policies which will be used for newly created DataWriter      * that don't provide a QoS parameter in the constructor.      */  @@ -155,7 +155,7 @@ public:     //==========================================================================         /**  -   * Return the <code>DomainParticipant<code> that owns this Publisher.  +   * Return the <code>DomainParticipant</code> that owns this Publisher.      */     const dds::domain::DomainParticipant& participant() const;

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18639: API correction required to src/hpp/dds/pub/TSuspendedPublication.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Destructor declaration incorrect.      _Suggested resolution_:      diff --git a/src/hpp/dds/pub/TSuspendedPublication.hpp b/src/hpp/dds/pub/TSuspendedPublication.hpp  index fcd096b..ac4ea26 100644  --- a/src/hpp/dds/pub/TSuspendedPublication.hpp  +++ b/src/hpp/dds/pub/TSuspendedPublication.hpp  @@ -72,7 +72,7 @@ public:      * suspend_publications. Otherwise the operation will return the      * error PRECONDITION_NOT_MET.      */  -  ~SuspendedPublication();    // resumes publications implicitly  +  ~TSuspendedPublication();    // resumes publications implicitly   };

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18640: Documentation comments corrections to src/hpp/dds/pub/discovery.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Corrections to documentation comments required.      _Suggested resolution_:      diff --git a/src/hpp/dds/pub/discovery.hpp b/src/hpp/dds/pub/discovery.hpp  index f50e179..5a8eb28 100644  --- a/src/hpp/dds/pub/discovery.hpp  +++ b/src/hpp/dds/pub/discovery.hpp  @@ -40,8 +40,6 @@ namespace dds { namespace pub {      * @param dp      the <code>DomainParticipant</code> for which the remote      *                entity will be ignored      *  -   * @param handle  the <code>InstanceHandle</code> of the remote entity that  -   *                has to be ignored      */     template <typename FwdIterator>     void ignore(const dds::domain::DomainParticipant& dp, FwdIterator begin, FwdIterator end);

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18641: Missing file dds/pub/detail/find.hpp referenced in src/hpp/dds/pub/find.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Missing include - fails to compile.      _Suggested resolution_:      Add vendor example file and remove below comment.       diff --git a/src/hpp/dds/pub/find.hpp b/src/hpp/dds/pub/find.hpp  index 6c10f59..6a50fad 100644  --- a/src/hpp/dds/pub/find.hpp  +++ b/src/hpp/dds/pub/find.hpp  @@ -21,9 +21,9 @@       #include <string>      +/** @todo This does not compile - no such example file (in spec). Need to add one */   #include <dds/pub/detail/find.hpp>      -   namespace dds { namespace pub {         /**

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18642: API correction required to src/hpp/dds/pub/qos/detail/DataWriterQos.hpp & PublisherQos.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Example vendor code is incorrect in these two files.      _Suggested resolution_:      diff --git a/src/hpp/dds/pub/qos/detail/DataWriterQos.hpp b/src/hpp/dds/pub/qos/detail/DataWriterQos.hpp  index 67483ec..2f7a23e 100644  --- a/src/hpp/dds/pub/qos/detail/DataWriterQos.hpp  +++ b/src/hpp/dds/pub/qos/detail/DataWriterQos.hpp  @@ -23,7 +23,7 @@   #include <foo/bar/pub/qos/DataWriterQos.hpp>       namespace dds { namespace pub { namespace qos { namespace detail {  -  typedef dds::core::qos::TEntityQos<foo::bar::pub::qos::DataWriterQos> DataWriterQos;  +  typedef dds::core::TEntityQos<foo::bar::pub::qos::DataWriterQos> DataWriterQos;   } } } }       #endif /* OMG_DDS_QOS_DETAIL_DATA_WRITER_QOS_HPP_ */  diff --git a/src/hpp/dds/pub/qos/detail/PublisherQos.hpp b/src/hpp/dds/pub/qos/detail/PublisherQos.hpp  index 1abff41..a60635b 100644  --- a/src/hpp/dds/pub/qos/detail/PublisherQos.hpp  +++ b/src/hpp/dds/pub/qos/detail/PublisherQos.hpp  @@ -23,7 +23,7 @@   #include <foo/bar/pub/qos/PublisherQos.hpp>       namespace dds { namespace pub { namespace qos { namespace detail {  -  typedef dds::core::qos::TEntityQos<foo::bar::pub::qos::PublisherQos> PublisherQos;  +  typedef dds::core::TEntityQos<foo::bar::pub::qos::PublisherQos> PublisherQos;   } } } }       #endif /* OMG_DDS_PUB_QOS_DETAIL_PUBLISER_QOS_HPP_ */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18643: API correction required to src/hpp/dds/sub/AnyDataReaderListener.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Vestigial implementation code needs removing to be consistent with other No-op listener declarations.      Missing headers required to fix compilation.       _Suggested resolution_:      diff --git a/src/hpp/dds/sub/AnyDataReaderListener.hpp b/src/hpp/dds/sub/AnyDataReaderListener.hpp  index 4646bfd..aabd71a 100644  --- a/src/hpp/dds/sub/AnyDataReaderListener.hpp  +++ b/src/hpp/dds/sub/AnyDataReaderListener.hpp  @@ -19,6 +19,8 @@    * limitations under the License.    */      +#include <dds/core/refmacros.hpp>  +#include <dds/core/status/Status.hpp>       namespace dds { namespace sub {      @@ -59,37 +61,36 @@ namespace dds { namespace sub {           const dds::core::status::SampleLostStatus& status) = 0;     };      -     class NoOpAnyDataReaderListener : public virtual AnyDataReaderListener {     public:  -    virtual ~NoOpAnyDataReaderListener() { }  +    virtual ~NoOpAnyDataReaderListener();         public:       virtual void on_requested_deadline_missed(           AnyDataReader& the_reader,  -        const dds::core::status::RequestedDeadlineMissedStatus& status) { }  +        const dds::core::status::RequestedDeadlineMissedStatus& status);           virtual void on_requested_incompatible_qos(           AnyDataReader& the_reader,  -        const dds::core::status::RequestedIncompatibleQosStatus& status) { }  +        const dds::core::status::RequestedIncompatibleQosStatus& status);           virtual void on_sample_rejected(           AnyDataReader& the_reader,  -        const dds::core::status::SampleRejectedStatus& status) { }  +        const dds::core::status::SampleRejectedStatus& status);           virtual void on_liveliness_changed(           AnyDataReader& the_reader,  -        const dds::core::status::LivelinessChangedStatus& status) { }  +        const dds::core::status::LivelinessChangedStatus& status);      -    virtual void on_data_available(AnyDataReader& the_reader) { }  +    virtual void on_data_available(AnyDataReader& the_reader);           virtual void on_subscription_matched(           AnyDataReader& the_reader,  -        const dds::core::status::SubscriptionMatchedStatus& status) { }  +        const dds::core::status::SubscriptionMatchedStatus& status);           virtual void on_sample_lost(           AnyDataReader& the_reader,  -        const dds::core::status::SampleLostStatus& status) { }  +        const dds::core::status::SampleLostStatus& status);     };   } }

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18644: DataReader.hpp, ContentFilteredTopic.hpp, Topic.hpp, TopicDescription.hpp o not compile with MS Visual Studio (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
In src/hpp/dds/sub/DataReader.hpp; src/hpp/dds/topic/ContentFilteredTopic.hpp; src/hpp/dds/topic/Topic.hpp; src/hpp/dds/topic/TopicDescription.hpp      ... the template header file includes need to be moved as MSVC appears to ignore any attempt to 're-declare' a template class with a 'new' default argument and only considers defaults on the first time of asking.      Without the move the compiler emits an error in each case like something like e.g.:      dds/topic/detail/AnyTopicDescription.hpp(48): error C2976: 'dds::topic::TopicDescription' : too few template arguments  dds/topic/TTopicDescription.hpp(41) : see declaration of 'dds::topic::TopicDescription'      _Suggested resolutions_:      diff --git a/src/hpp/dds/sub/DataReader.hpp b/src/hpp/dds/sub/DataReader.hpp  index b38ddaa..b476779 100644  --- a/src/hpp/dds/sub/DataReader.hpp  +++ b/src/hpp/dds/sub/DataReader.hpp  @@ -1,10 +1,8 @@   #ifndef OMG_DDS_SUB_DATA_READER_HPP_   #define OMG_DDS_SUB_DATA_READER_HPP_      -#include <dds/sub/TDataReader.hpp>   #include <dds/sub/detail/DataReader.hpp>      -   namespace dds {     namespace sub {       template <typename T,  @@ -15,6 +13,7 @@ namespace dds {     }   }      +#include <dds/sub/TDataReader.hpp>       // = Manipulators   namespace dds {      diff --git a/src/hpp/dds/topic/ContentFilteredTopic.hpp b/src/hpp/dds/topic/ContentFilteredTopic.hpp  index 057a2f6..cbc5cfc 100644  --- a/src/hpp/dds/topic/ContentFilteredTopic.hpp  +++ b/src/hpp/dds/topic/ContentFilteredTopic.hpp  @@ -20,11 +20,12 @@    */       #include <dds/topic/detail/ContentFilteredTopic.hpp>  -#include <dds/topic/TContentFilteredTopic.hpp>       namespace dds { namespace topic {     template <typename T, template <typename Q> class DELEGATE = dds::topic::detail::ContentFilteredTopic>     class ContentFilteredTopic;   } }      +#include <dds/topic/TContentFilteredTopic.hpp>  +   #endif /* OMG_DDS_TOPIC_CONTENT_FILTERED_TOPIC_HPP_ */      diff --git a/src/hpp/dds/topic/Topic.hpp b/src/hpp/dds/topic/Topic.hpp  index cd69316..5545f76 100644  --- a/src/hpp/dds/topic/Topic.hpp  +++ b/src/hpp/dds/topic/Topic.hpp  @@ -2,11 +2,12 @@   #define OMG_DDS_TOPIC_TOPIC_HPP_       #include <dds/topic/detail/Topic.hpp>  -#include <dds/topic/TTopic.hpp>       namespace dds { namespace topic {     template <typename T, template <typename Q> class DELEGATE = dds::topic::detail::Topic>     class Topic;   } }      +#include <dds/topic/TTopic.hpp>  +   #endif /* OMG_DDS_TOPIC_TOPIC_HPP_ */      diff --git a/src/hpp/dds/topic/TopicDescription.hpp b/src/hpp/dds/topic/TopicDescription.hpp  index 47e2dd1..6e908b0 100644  --- a/src/hpp/dds/topic/TopicDescription.hpp  +++ b/src/hpp/dds/topic/TopicDescription.hpp  @@ -20,7 +20,6 @@    */       #include <dds/topic/detail/TopicDescription.hpp>  -#include <dds/topic/TTopicDescription.hpp>       namespace dds { namespace topic {     template <typename T,  @@ -28,5 +27,6 @@ namespace dds { namespace topic {     class TopicDescription;   } }      +#include <dds/topic/TTopicDescription.hpp>       #endif /* OMG_DDS_TOPIC_TOPIC_DESCRIPTION_HPP_ */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18645: API correction required to src/hpp/dds/sub/DataReaderListener.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Code needs compilation fixes.      _Suggested resolution_:      diff --git a/src/hpp/dds/sub/DataReaderListener.hpp b/src/hpp/dds/sub/DataReaderListener.hpp  index 17c620e..70b2777 100644  --- a/src/hpp/dds/sub/DataReaderListener.hpp  +++ b/src/hpp/dds/sub/DataReaderListener.hpp  @@ -32,10 +32,10 @@ namespace dds { namespace sub {   template <typename T>   class dds::sub::DataReaderListener {   public:  -  typedef ::dds::core::smart_ptr_traits<DataReaderListener>::ref_type ref_type;  +  typedef typename ::dds::core::smart_ptr_traits<DataReaderListener>::ref_type ref_type;       public:  -  virtual ~DataReaderListener();  +  virtual ~DataReaderListener() = 0;       public:     virtual void on_requested_deadline_missed(  @@ -69,7 +69,7 @@ public:   template <typename T>   class dds::sub::NoOpDataReaderListener : public virtual DataReaderListener<T> {   public:  -  typedef ::dds::core::smart_ptr_traits<NoOpDataReaderListener>::ref_type ref_type;  +  typedef typename ::dds::core::smart_ptr_traits<NoOpDataReaderListener>::ref_type ref_type;       public:     virtual ~NoOpDataReaderListener();

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18646: API correction required to src/hpp/dds/sub/LoanedSamples.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Compilation fixes required to code.      _Suggested resolution_:      diff --git a/src/hpp/dds/sub/LoanedSamples.hpp b/src/hpp/dds/sub/LoanedSamples.hpp  index 633f065..1456e57 100644  --- a/src/hpp/dds/sub/LoanedSamples.hpp  +++ b/src/hpp/dds/sub/LoanedSamples.hpp  @@ -9,7 +9,7 @@   namespace dds {     namespace sub {       template <typename T,  -    template <typename Q> class DELEGATE = detail::LoanedSamples>  +    template <typename Q> class DELEGATE = dds::sub::detail::LoanedSamples>       class LoanedSamples;           // Used by C++11 compilers to allow for using LoanedSamples  @@ -67,8 +67,8 @@ private:   namespace dds {     namespace sub {       template <typename T, template <typename Q> class D>  -    LoanedSamples<T, D<T> >  -    move(LoanedSamples<T, D<T> >& a);  +    LoanedSamples<T, D >  +    move(LoanedSamples<T, D >& a);     }   }   #endif /* OMG_DDS_SUB_TLOANED_SAMPLES_HPP_ */

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18647: API correction required to src/hpp/dds/sub/SharedSamples.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Compilation fixes required to code.      _Suggested resolution_:      diff --git a/src/hpp/dds/sub/SharedSamples.hpp b/src/hpp/dds/sub/SharedSamples.hpp  index c48271a..8c517c8 100644  --- a/src/hpp/dds/sub/SharedSamples.hpp  +++ b/src/hpp/dds/sub/SharedSamples.hpp  @@ -30,7 +30,7 @@ public:     typedef typename DELEGATE<T>::iterator              iterator;     typedef typename DELEGATE<T>::const_iterator        const_iterator;      -  +  typedef typename dds::core::smart_ptr_traits< DELEGATE<T> >::ref_type DELEGATE_REF_T;       public:     /**  @@ -44,7 +44,7 @@ public:      * @param ls the loaned samples.      *      */  -  SharedSamples(LoanedSamples ls);  +  SharedSamples(dds::sub::LoanedSamples<T> ls);         ~SharedSamples();

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18648: API correction required to src/hpp/dds/sub/SubscriberListener.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Missing header includes are required for this header to compile.      _Suggested resolution_:      diff --git a/src/hpp/dds/sub/SubscriberListener.hpp b/src/hpp/dds/sub/SubscriberListener.hpp  index b185342..77f3e08 100644  --- a/src/hpp/dds/sub/SubscriberListener.hpp  +++ b/src/hpp/dds/sub/SubscriberListener.hpp  @@ -19,6 +19,8 @@    * limitations under the License.    */      +#include <dds/sub/AnyDataReaderListener.hpp>  +#include <dds/sub/Subscriber.hpp>       namespace dds { namespace sub {

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 18649: API correction required to src/hpp/dds/sub/TDataReader.hpp (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Micro Focus (Mr. Simon McQueen, simon.mcqueen(at)microfocus.com)
Nature: Uncategorized Issue
Severity:
Summary:
Duplicate function definition to remove.      Missing header required to fix compilation.      Correct comments.      _Suggested resolution_:      diff --git a/src/hpp/dds/sub/TDataReader.hpp b/src/hpp/dds/sub/TDataReader.hpp  index e10705c..ca592bb 100644  --- a/src/hpp/dds/sub/TDataReader.hpp  +++ b/src/hpp/dds/sub/TDataReader.hpp  @@ -23,6 +23,7 @@   #include <dds/topic/ContentFilteredTopic.hpp>   #include <dds/topic/TopicInstance.hpp>   #include <dds/sub/LoanedSamples.hpp>  +#include <dds/sub/Subscriber.hpp>       namespace dds {     namespace sub {  @@ -56,7 +57,6 @@ public:       Selector(DataReader& dr);           Selector& instance(const dds::core::InstanceHandle& h);  -    Selector& instance(const dds::core::InstanceHandle& h);       Selector& state(const dds::sub::status::DataState& s);       Selector& content(const dds::sub::Query& query);       Selector& max_samples(uint32_t n);  @@ -220,7 +220,7 @@ public:         /**      * Returns the default read-state (if not changed, it is set to  -   * ReaderState::any()).  +   * DataState::any()).      */     const dds::sub::status::DataState& default_filter_state();      @@ -258,7 +258,7 @@ public:      * Read all samples using the default filter state. The memory used for      * storing the sample may be loaned by the middleware thus allowing zero      * copy operations.  -   * Implementation should strike to makethis read implementation  +   * Implementors should strive to make this read implementation      * exception safe.      */     LoanedSamples<T> read();  @@ -267,7 +267,7 @@ public:      * Take all samples using the default filter state. The memory used for      * storing the sample may be loaned by the middleware thus allowing zero      * copy operations.  -   * Implementation should strike to make this read implementation  +   * Implementors should strive to make this take implementation      * exception safe.      */     LoanedSamples<T> take();

Resolution:
Revised Text:
Actions taken:
April 9, 2013: received issue

Issue 19585: Normative references not complete and out of date (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Remedy IT (Mr. Johnny Willemsen, jwillemsen(at)remedy.nl)
Nature: Clarification
Severity: Minor
Summary:
The normative references lack the listing of the IDL2C++11 specification which is referred in several sections of the spec, this should refer to at least the V1.1 version of this spec. For DDS4CCM the reference should be updated to the V1.1 of the specification

Resolution:
Revised Text:
Actions taken:
August 25, 2014: received issue
August 25, 2014: received issue

Issue 19586: Small correctes to the specification (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Source: Remedy IT (Mr. Johnny Willemsen, jwillemsen(at)remedy.nl)
Nature: Clarification
Severity: Minor
Summary:
Some small fixes to the spec      Section 7.1, change "sup- ported" to "supported"      Section 7.4.3, C++11 talks about strong typed enums, so change "C++11 enumeration  classes" to "C++11 strongly typed enums"      Section 7.5.1.2, why let the user initialize a null reference by assigning dds::core::null, wouldn't be be easier to say "The trivial constructor for reference types will initialize it to a null reference"    Section 8.2, constructor of RadarTrack doesn't use optional for argument z

Resolution:
Revised Text:
Actions taken:

Issue 19753: Names of the generated headers (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Nature: Revision
Severity: Significant
Summary:
To ensure application portability, the names of the generated header files should be standard. For example, for Foo.idl, generate Foo.h. The spec does not specify a standard naming scheme.

Resolution:
Revised Text:
Actions taken:
April 27, 2015: received issue

Issue 19801: Missing TBuiltinTopicTypes (dds-psm-cxx-rtf)

Click
here for this issue's archive.
Nature: Clarification
Severity: Minor
Summary:
The built-in topics are defined in dds/core/BuiltinTopicTypes.hpp as:  #include <dds/core/TBuiltinTopicTypes.hpp>      namespace dds { namespace core {      typedef TBytesTopicType<detail::BytesTopicType> BytesTopicType;  typedef TStringTopicType<detail::StringTopicType> StringTopicType;  typedef TKeyedBytesTopicType<detail::KeyedBytesTopicType> KeyedBytesTopicType;  typedef TKeyedStringTopicType<detail::KeyedStringTopicType> KeyedStringTopicType;      } }    But dds/core/TBuiltinTopicTypes.hpp and the types TBytesTopicType, TStringTopicType, etc. don't exist.

Resolution:
Revised Text:
Actions taken:
June 9, 2015: received issue