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 | |
| 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')
| -rwxr-xr-x | cpp/managementgen/qmf/schema.py | 4 | ||||
| -rw-r--r-- | cpp/managementgen/qmf/templates/Event.h | 3 | ||||
| -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 |
8 files changed, 28 insertions, 7 deletions
diff --git a/cpp/managementgen/qmf/schema.py b/cpp/managementgen/qmf/schema.py index 7f008c19e3..72ee762fc5 100755 --- a/cpp/managementgen/qmf/schema.py +++ b/cpp/managementgen/qmf/schema.py @@ -810,8 +810,10 @@ class SchemaEvent: for item in self.packageName.split("."): stream.write ("namespace %s {\n" % item) + def genSeverity(self, stream, variables): + stream.write("%d" % self.sev) + def genArgEncodes(self, stream, variables): - stream.write(" buf.putOctet(%d);\n" % self.sev) for arg in self.args: stream.write(" " + arg.type.type.encode.replace("@", "buf").replace("#", arg.name) + ";\n") diff --git a/cpp/managementgen/qmf/templates/Event.h b/cpp/managementgen/qmf/templates/Event.h index a943c0c501..b5c2a211d1 100644 --- a/cpp/managementgen/qmf/templates/Event.h +++ b/cpp/managementgen/qmf/templates/Event.h @@ -44,12 +44,13 @@ class Event/*MGEN:Event.NameCap*/ : public ::qpid::management::ManagementEvent writeSchemaCall_t getWriteSchemaCall(void) { return writeSchema; } Event/*MGEN:Event.NameCap*/(/*MGEN:Event.ConstructorArgs*/); - ~Event/*MGEN:Class.NameCap*/() {}; + ~Event/*MGEN:Event.NameCap*/() {}; static void registerSelf(::qpid::management::ManagementAgent* agent); std::string& getPackageName() const { return packageName; } std::string& getEventName() const { return eventName; } uint8_t* getMd5Sum() const { return md5Sum; } + uint8_t getSeverity() const { return /*MGEN:Event.Severity*/; } void encode(::qpid::framing::Buffer& buffer) const; }; 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; }; |
