diff options
Diffstat (limited to 'cpp/src/qpid/management/ManagementExchange.cpp')
| -rw-r--r-- | cpp/src/qpid/management/ManagementExchange.cpp | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/cpp/src/qpid/management/ManagementExchange.cpp b/cpp/src/qpid/management/ManagementExchange.cpp index ee18f026e7..c589aefba0 100644 --- a/cpp/src/qpid/management/ManagementExchange.cpp +++ b/cpp/src/qpid/management/ManagementExchange.cpp @@ -36,28 +36,15 @@ ManagementExchange::ManagementExchange (const std::string& _name, Exchange (_name, _durable, _args, _parent), TopicExchange(_name, _durable, _args, _parent) {} - -bool ManagementExchange::bind (Queue::shared_ptr queue, - const string& routingKey, - const FieldTable* args) -{ - bool result = TopicExchange::bind (queue, routingKey, args); - - // Notify the management agent that a new management client has bound to the - // exchange. - if (result) - managementAgent->clientAdded (); - - return result; -} - void ManagementExchange::route (Deliverable& msg, const string& routingKey, const FieldTable* args) { - // Intercept management commands - if (routingKey.length () > 7 && - routingKey.substr (0, 7).compare ("method.") == 0) + // Intercept management agent commands + if ((routingKey.length () > 6 && + routingKey.substr (0, 6).compare ("agent.") == 0) || + (routingKey.length () == 5 && + routingKey.substr (0, 5).compare ("agent") == 0)) { managementAgent->dispatchCommand (msg, routingKey, args); return; |
