qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Stitcher" <astitc...@apache.org>
Subject Re: Review Request 15747: [QMF] Add compile-time deprecation warnings to the C++ QMF Agent/Console API headers.
Date Thu, 21 Nov 2013 15:55:57 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/15747/#review29229
-----------------------------------------------------------


I really don't like this approach very much:

* I think that from the user point of view it is too easy to ignore the deprecation warnings.
* The changes are somewhat clunky.

I think it would be better to make application writers who really want to use the API turn
it on explicitly with a #define. Perhaps called ALLOW_DEPRECATED_QMF_APIS.

You can implement that with the following snippet at the head of every API file that is deprecated.

Something like:

#if !defined(ALLOW_DEPRECATED_QMF_APIS) && !defined(QMF_EXPORT)
# error "In order to use the deprecated QMF Console API you need to define ALLOW_DEPRECATED_QMF_APIS"
#endif

This approach won't work well for deprecating individual API calls but in this case where
we deprecate an entire API it is fine.

(Thanks to Justin for the explicit allow suggestion)

- Andrew Stitcher


On Nov. 21, 2013, 1:19 p.m., Kenneth Giusti wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/15747/
> -----------------------------------------------------------
> 
> (Updated Nov. 21, 2013, 1:19 p.m.)
> 
> 
> Review request for qpid, Andrew Stitcher and Ted Ross.
> 
> 
> Bugs: qpid-5369
>     https://issues.apache.org/jira/browse/qpid-5369
> 
> 
> Repository: qpid
> 
> 
> Description
> -------
> 
> Causes the compiler to issue deprecation warnings when the C++ Agent or Console API classes
are used by applications.  Works for GNU C and Microsoft Visual C++ only.
> 
> Update: I'd like this change considered for 0.26 release, so please indicate whether
you approve this change on the jira https://issues.apache.org/jira/browse/qpid-5369 so I can
ping Justin for approval.
> 
> thanks
> 
> 
> Diffs
> -----
> 
>   /trunk/qpid/cpp/bindings/qmf2/examples/cpp/CMakeLists.txt 1543123 
>   /trunk/qpid/cpp/bindings/qmf2/python/CMakeLists.txt 1543123 
>   /trunk/qpid/cpp/bindings/qmf2/ruby/CMakeLists.txt 1543123 
>   /trunk/qpid/cpp/include/qmf/Agent.h 1543123 
>   /trunk/qpid/cpp/include/qmf/AgentEvent.h 1543123 
>   /trunk/qpid/cpp/include/qmf/AgentSession.h 1543123 
>   /trunk/qpid/cpp/include/qmf/ConsoleEvent.h 1543123 
>   /trunk/qpid/cpp/include/qmf/ConsoleSession.h 1543123 
>   /trunk/qpid/cpp/include/qmf/Data.h 1543123 
>   /trunk/qpid/cpp/include/qmf/DataAddr.h 1543123 
>   /trunk/qpid/cpp/include/qmf/ImportExport.h 1543123 
>   /trunk/qpid/cpp/include/qmf/Query.h 1543123 
>   /trunk/qpid/cpp/include/qmf/Schema.h 1543123 
>   /trunk/qpid/cpp/include/qmf/SchemaId.h 1543123 
>   /trunk/qpid/cpp/include/qmf/SchemaMethod.h 1543123 
>   /trunk/qpid/cpp/include/qmf/SchemaProperty.h 1543123 
>   /trunk/qpid/cpp/include/qmf/Subscription.h 1543123 
>   /trunk/qpid/cpp/include/qmf/exceptions.h 1543123 
>   /trunk/qpid/cpp/include/qmf/posix/EventNotifier.h 1543123 
> 
> Diff: https://reviews.apache.org/r/15747/diff/
> 
> 
> Testing
> -------
> 
> Removed the warning suppression flags and built the Agent and Console examples on linux
and windows - validated that the proper deprecation warnings were issued.
> 
> 
> Thanks,
> 
> Kenneth Giusti
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message