summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/management
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/qpid/management')
-rw-r--r--cpp/src/qpid/management/IdAllocator.h42
-rw-r--r--cpp/src/qpid/management/ManagementAgent.cpp25
-rw-r--r--cpp/src/qpid/management/ManagementAgent.h12
3 files changed, 6 insertions, 73 deletions
diff --git a/cpp/src/qpid/management/IdAllocator.h b/cpp/src/qpid/management/IdAllocator.h
deleted file mode 100644
index 6f49d6d13f..0000000000
--- a/cpp/src/qpid/management/IdAllocator.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef QPID_MANAGEMENT_IDALLOCATOR_H
-#define QPID_MANAGEMENT_IDALLOCATOR_H
-
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-#include "qpid/management/Manageable.h"
-
-namespace qpid {
-namespace management {
-
-/**
- * Interface through which plugins etc can control the mgmt object id
- * allocation for special cases
- */
-struct IdAllocator
-{
- virtual uint64_t getIdFor(Manageable* object) = 0;
- virtual ~IdAllocator() {}
-};
-
-}} // namespace qpid::management
-
-#endif /*!QPID_MANAGEMENT_IDALLOCATOR_H*/
diff --git a/cpp/src/qpid/management/ManagementAgent.cpp b/cpp/src/qpid/management/ManagementAgent.cpp
index 1a1415a06e..58a5d9bdd0 100644
--- a/cpp/src/qpid/management/ManagementAgent.cpp
+++ b/cpp/src/qpid/management/ManagementAgent.cpp
@@ -21,7 +21,6 @@
#include "qpid/management/ManagementAgent.h"
#include "qpid/management/ManagementObject.h"
-#include "qpid/management/IdAllocator.h"
#include "qpid/broker/DeliverableMessage.h"
#include "qpid/log/Statement.h"
#include <qpid/broker/Message.h>
@@ -247,18 +246,13 @@ void ManagementAgent::registerEvent (const string& packageName,
}
// Deprecated: V1 objects
-ObjectId ManagementAgent::addObject(ManagementObject* object, uint64_t persistId)
+ObjectId ManagementAgent::addObject(ManagementObject* object, uint64_t persistId, bool persistent)
{
uint16_t sequence;
uint64_t objectNum;
- if (persistId == 0) {
- sequence = bootSequence;
- objectNum = nextObjectId++;
- } else {
- sequence = 0;
- objectNum = persistId;
- }
+ sequence = persistent ? 0 : bootSequence;
+ objectNum = persistId ? persistId : nextObjectId++;
ObjectId objId(0 /*flags*/, sequence, brokerBank, objectNum);
objId.setV2Key(*object); // let object generate the v2 key
@@ -2170,19 +2164,6 @@ ManagementObjectMap::iterator ManagementAgent::numericFind(const ObjectId& oid)
return iter;
}
-void ManagementAgent::setAllocator(auto_ptr<IdAllocator> a)
-{
- sys::Mutex::ScopedLock lock (userLock);
- allocator = a;
-}
-
-uint64_t ManagementAgent::allocateId(Manageable* object)
-{
- sys::Mutex::ScopedLock lock (userLock);
- if (allocator.get()) return allocator->getIdFor(object);
- return 0;
-}
-
void ManagementAgent::disallow(const string& className, const string& methodName, const string& message) {
disallowed[make_pair(className, methodName)] = message;
}
diff --git a/cpp/src/qpid/management/ManagementAgent.h b/cpp/src/qpid/management/ManagementAgent.h
index dd781c36d3..a87cc917fe 100644
--- a/cpp/src/qpid/management/ManagementAgent.h
+++ b/cpp/src/qpid/management/ManagementAgent.h
@@ -42,8 +42,6 @@
namespace qpid {
namespace management {
-struct IdAllocator;
-
class ManagementAgent
{
private:
@@ -95,10 +93,11 @@ public:
uint8_t* md5Sum,
ManagementObject::writeSchemaCall_t schemaCall);
QPID_BROKER_EXTERN ObjectId addObject (ManagementObject* object,
- uint64_t persistId = 0);
+ uint64_t persistId = 0,
+ bool persistent = false);
QPID_BROKER_EXTERN ObjectId addObject (ManagementObject* object,
const std::string& key,
- bool persistent = true);
+ bool persistent = false);
QPID_BROKER_EXTERN void raiseEvent(const ManagementEvent& event,
severity_t severity = SEV_DEFAULT);
QPID_BROKER_EXTERN void clientAdded (const std::string& routingKey);
@@ -113,9 +112,6 @@ public:
const framing::Uuid& getUuid() const { return uuid; }
- void setAllocator(std::auto_ptr<IdAllocator> allocator);
- uint64_t allocateId(Manageable* object);
-
/** Disallow a method. Attempts to call it will receive an exception with message. */
void disallow(const std::string& className, const std::string& methodName, const std::string& message);
@@ -280,8 +276,6 @@ private:
const qpid::sys::AbsTime startTime;
bool suppressed;
- std::auto_ptr<IdAllocator> allocator;
-
typedef std::pair<std::string,std::string> MethodName;
typedef std::map<MethodName, std::string> DisallowedMethods;
DisallowedMethods disallowed;