summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-10-09 13:47:48 +0000
committerTed Ross <tross@apache.org>2008-10-09 13:47:48 +0000
commitaaeb399127927e2ad10e0629378ef3ad70b38983 (patch)
tree1b850d0979dcc96fe7b9ee84d6b4114058a4810c /cpp/src
parent88e15736c9aa9639ddadf1cd7611f90ce451ba2b (diff)
downloadqpid-python-aaeb399127927e2ad10e0629378ef3ad70b38983.tar.gz
QPID-1327 - Added optional severity override in the eventRaise method
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703164 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/qpid/agent/ManagementAgent.h15
-rw-r--r--cpp/src/qpid/agent/ManagementAgentImpl.cpp4
-rw-r--r--cpp/src/qpid/agent/ManagementAgentImpl.h2
-rw-r--r--cpp/src/qpid/management/ManagementBroker.cpp4
-rw-r--r--cpp/src/qpid/management/ManagementBroker.h2
-rw-r--r--cpp/src/qpid/management/ManagementEvent.h1
6 files changed, 23 insertions, 5 deletions
diff --git a/cpp/src/qpid/agent/ManagementAgent.h b/cpp/src/qpid/agent/ManagementAgent.h
index 6af9abc26b..03baa10aa2 100644
--- a/cpp/src/qpid/agent/ManagementAgent.h
+++ b/cpp/src/qpid/agent/ManagementAgent.h
@@ -44,6 +44,18 @@ class ManagementAgent
static ManagementAgent* agent;
};
+ typedef enum {
+ SEV_EMERG = 0,
+ SEV_ALERT = 1,
+ SEV_CRIT = 2,
+ SEV_ERROR = 3,
+ SEV_WARN = 4,
+ SEV_NOTE = 5,
+ SEV_INFO = 6,
+ SEV_DEBUG = 7,
+ SEV_DEFAULT = 8
+ } severity_t;
+
ManagementAgent() {}
virtual ~ManagementAgent() {}
@@ -108,7 +120,8 @@ class ManagementAgent
//
//
- virtual void raiseEvent(const ManagementEvent& event) = 0;
+ virtual void raiseEvent(const ManagementEvent& event,
+ severity_t severity = SEV_DEFAULT) = 0;
// If "useExternalThread" was set to true in init, this method must
// be called to provide a thread for any pending method calls that have arrived.
diff --git a/cpp/src/qpid/agent/ManagementAgentImpl.cpp b/cpp/src/qpid/agent/ManagementAgentImpl.cpp
index 06b61b819a..f449d8e214 100644
--- a/cpp/src/qpid/agent/ManagementAgentImpl.cpp
+++ b/cpp/src/qpid/agent/ManagementAgentImpl.cpp
@@ -158,17 +158,19 @@ ObjectId ManagementAgentImpl::addObject(ManagementObject* object,
return objectId;
}
-void ManagementAgentImpl::raiseEvent(const ManagementEvent& event)
+void ManagementAgentImpl::raiseEvent(const ManagementEvent& event, severity_t severity)
{
Mutex::ScopedLock lock(agentLock);
Buffer outBuffer(eventBuffer, MA_BUFFER_SIZE);
uint32_t outLen;
+ uint8_t sev = (severity == SEV_DEFAULT) ? event.getSeverity() : (uint8_t) severity;
encodeHeader(outBuffer, 'e');
outBuffer.putShortString(event.getPackageName());
outBuffer.putShortString(event.getEventName());
outBuffer.putBin128(event.getMd5Sum());
outBuffer.putLongLong(uint64_t(Duration(now())));
+ outBuffer.putOctet(sev);
event.encode(outBuffer);
outLen = MA_BUFFER_SIZE - outBuffer.available();
outBuffer.reset();
diff --git a/cpp/src/qpid/agent/ManagementAgentImpl.h b/cpp/src/qpid/agent/ManagementAgentImpl.h
index a964694690..d8ede8a80d 100644
--- a/cpp/src/qpid/agent/ManagementAgentImpl.h
+++ b/cpp/src/qpid/agent/ManagementAgentImpl.h
@@ -65,7 +65,7 @@ class ManagementAgentImpl : public ManagementAgent, public client::MessageListen
uint8_t* md5Sum,
management::ManagementObject::writeSchemaCall_t schemaCall);
ObjectId addObject(management::ManagementObject* objectPtr, uint64_t persistId = 0);
- void raiseEvent(const management::ManagementEvent& event);
+ void raiseEvent(const management::ManagementEvent& event, severity_t severity = SEV_DEFAULT);
uint32_t pollCallbacks(uint32_t callLimit = 0);
int getSignalFd();
diff --git a/cpp/src/qpid/management/ManagementBroker.cpp b/cpp/src/qpid/management/ManagementBroker.cpp
index e1770f0084..e07f451a1b 100644
--- a/cpp/src/qpid/management/ManagementBroker.cpp
+++ b/cpp/src/qpid/management/ManagementBroker.cpp
@@ -221,17 +221,19 @@ ObjectId ManagementBroker::addObject (ManagementObject* object,
return objId;
}
-void ManagementBroker::raiseEvent(const ManagementEvent& event)
+void ManagementBroker::raiseEvent(const ManagementEvent& event, severity_t severity)
{
Mutex::ScopedLock lock (userLock);
Buffer outBuffer(eventBuffer, MA_BUFFER_SIZE);
uint32_t outLen;
+ uint8_t sev = (severity == SEV_DEFAULT) ? event.getSeverity() : (uint8_t) severity;
encodeHeader(outBuffer, 'e');
outBuffer.putShortString(event.getPackageName());
outBuffer.putShortString(event.getEventName());
outBuffer.putBin128(event.getMd5Sum());
outBuffer.putLongLong(uint64_t(Duration(now())));
+ outBuffer.putOctet(sev);
event.encode(outBuffer);
outLen = MA_BUFFER_SIZE - outBuffer.available();
outBuffer.reset();
diff --git a/cpp/src/qpid/management/ManagementBroker.h b/cpp/src/qpid/management/ManagementBroker.h
index c0e0c50963..86aa31b8ed 100644
--- a/cpp/src/qpid/management/ManagementBroker.h
+++ b/cpp/src/qpid/management/ManagementBroker.h
@@ -62,7 +62,7 @@ public:
ManagementObject::writeSchemaCall_t schemaCall);
ObjectId addObject (ManagementObject* object,
uint64_t persistId = 0);
- void raiseEvent(const ManagementEvent& event);
+ void raiseEvent(const ManagementEvent& event, severity_t severity = SEV_DEFAULT);
void clientAdded ();
bool dispatchCommand (qpid::broker::Deliverable& msg,
const std::string& routingKey,
diff --git a/cpp/src/qpid/management/ManagementEvent.h b/cpp/src/qpid/management/ManagementEvent.h
index d5a47e9144..8566f31c47 100644
--- a/cpp/src/qpid/management/ManagementEvent.h
+++ b/cpp/src/qpid/management/ManagementEvent.h
@@ -40,6 +40,7 @@ public:
virtual std::string& getEventName() const = 0;
virtual std::string& getPackageName() const = 0;
virtual uint8_t* getMd5Sum() const = 0;
+ virtual uint8_t getSeverity() const = 0;
virtual void encode(qpid::framing::Buffer&) const = 0;
};