----------------------------------------------------------- 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 > >
