Manuel Teira wrote:
Looking at the libqpidbroker.so, this is what I've found, regarding
those two symbols:
For
qpid::broker::Exchange::Binding::Binding(
const std::string &,
const boost::shared_ptr<qpid::broker::Queue>,
qpid::broker::Exchange*,
qpid::framing::FieldTable)
[Index] Value Size Type Bind Other Shndx Name
[10720] | 1581512| 2436|FUNC |GLOB |0 |10
|qpid::broker::Exchange::Binding::Binding #Nvariant 1(const std::string
&,const
boost::shared_ptr<qpid::broker::Queue>,qpid::broker::Exchange*,qpid::framing::FieldTable)
[7746] | 0| 0|FUNC |GLOB |0 |UNDEF
|qpid::broker::Exchange::Binding::Binding(const std::string &,const
boost::shared_ptr<qpid::broker::Queue>,qpid::broker::Exchange*,qpid::framing::FieldTable)
[12028] | 1581512| 2436|FUNC |GLOB |0 |10
|qpid::broker::Exchange::Binding::Binding(const std::string
&,boost::shared_ptr<qpid::broker::Queue>,qpid::broker::Exchange*,qpid::framing::FieldTable)
For
std::pair<boost::shared_ptr<qpid::broker::Queue>,
bool>
qpid::broker::QueueRegistry::declare(
const std::string &,
bool,
bool,
const qpid::broker::OwnershipToken*const)
[9297] | 0| 0|FUNC |GLOB |0 |UNDEF
|std::pair<boost::shared_ptr<qpid::broker::Queue>,bool>qpid::broker::QueueRegistry::declare(const
std::string &,bool,bool,const qpid::broker::OwnershipToken*const)
[8975] | 2223216| 1688|FUNC |GLOB |0 |10
|std::pair<boost::shared_ptr<qpid::broker::Queue>,bool>qpid::broker::QueueRegistry::declare(const
std::string &,bool,bool,const qpid::broker::OwnershipToken*)
For the first one, thereis a weird (Nvariant#1?) symbol for the const
boost::shared_ptr<qpid::broker::Queue> second argument, but also an
undefined one, without that Nvariant. What could be causing this?
For the second one, the symbol for non-const pointer
qpid::broker::OwnershipToken is defined, but not for the const pointer.
Any idea about what could be causing this?
It looks like the declaration of those methods did not match the
definitions w.r.t const declarations. I checked in a change to both as
r661323 - does that fix it?