summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/agent
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/qpid/agent
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/qpid/agent')
-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
3 files changed, 18 insertions, 3 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();