diff options
author | Ted Ross <tross@apache.org> | 2008-10-09 13:47:48 +0000 |
---|---|---|
committer | Ted Ross <tross@apache.org> | 2008-10-09 13:47:48 +0000 |
commit | aaeb399127927e2ad10e0629378ef3ad70b38983 (patch) | |
tree | 1b850d0979dcc96fe7b9ee84d6b4114058a4810c /cpp/src | |
parent | 88e15736c9aa9639ddadf1cd7611f90ce451ba2b (diff) | |
download | qpid-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.h | 15 | ||||
-rw-r--r-- | cpp/src/qpid/agent/ManagementAgentImpl.cpp | 4 | ||||
-rw-r--r-- | cpp/src/qpid/agent/ManagementAgentImpl.h | 2 | ||||
-rw-r--r-- | cpp/src/qpid/management/ManagementBroker.cpp | 4 | ||||
-rw-r--r-- | cpp/src/qpid/management/ManagementBroker.h | 2 | ||||
-rw-r--r-- | cpp/src/qpid/management/ManagementEvent.h | 1 |
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; }; |