summaryrefslogtreecommitdiff
path: root/qpid/cpp/managementgen/templates/Class.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-1274 - Moved management-gen data files into the qmf subdirectory to fix ↵Ted Ross2008-09-051-180/+0
| | | | | | an install problem git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@692475 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1174 Updates to the management frameworkTed Ross2008-09-031-4/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@691700 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1170 - Remove boost dependency from management agent interfaceTed Ross2008-07-081-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@674994 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1160 - Use array-style delete for allocated arrayTed Ross2008-07-031-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@673718 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1160 - Per-thread counters in management API to avoid lockingTed Ross2008-06-301-5/+51
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@672864 13f79535-47bb-0310-9956-ffa450edef68
* Management cleanup - Synchronized with the spec on the WikiTed Ross2008-06-041-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@663386 13f79535-47bb-0310-9956-ffa450edef68
* Queue stats: byteDepth now computed periodicallyTed Ross2008-06-021-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@662592 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1113 Management cleanup and performance enhancementsTed Ross2008-06-021-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@662470 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1088Ted Ross2008-05-221-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@659110 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Ted Ross (see QPID-902): This patch contains the following ↵Kim van der Riet2008-04-041-13/+2
| | | | | | improvements for management:\n1) Schema display cleaned up in the python mgmt-cli\n2) Locking added automatically to management object accessors (manual locking removed from broker/Queue.cpp)\n3) Schemas are now pre-registered with the management agent using a package initializer. This allows management consoles to get schema information for a class even if no instances of the class exist. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@644806 13f79535-47bb-0310-9956-ffa450edef68
* QPID-877: applied patch from Ted RossNuno Santos2008-03-251-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@640970 13f79535-47bb-0310-9956-ffa450edef68
* QPID-820 from trossCarl C. Trieloff2008-02-281-8/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@632087 13f79535-47bb-0310-9956-ffa450edef68
* Patch from https://issues.apache.org/jira/browse/QPID-722 by Ted Ross:Alan Conway2008-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two changes in this patch: 1) Management object IDs are now persistent for persistent (durable) objects. This is required to provide continuity of historical management data across broker restarts. The format of object IDs now indicates whether they are transient or persistent. The upper bit (bit 63) is 0 for transient IDs and 1 for persistent IDs. 2) Changes have been made to the management code generator in preparation for allowing it to be used by outside projects that wish to use the broker Plugin API for management access. File-by-file notes: M python/mgmt-cli/managementdata.py Enhanced user-friendly display of 64-bit object IDs to differentiate between persistent IDs and non-persistent IDs. M cpp/src/Makefile.am Changed command line format for call to the management code generator. M cpp/src/qpid/broker/Broker.cpp M cpp/src/qpid/broker/Vhost.cpp M cpp/src/qpid/broker/Queue.cpp Updated calls to ManagementAgent::addObject to use the new support for persistent IDs, ensuring that the management object IDs for persistent objects are themselves persistent. M cpp/src/qpid/management/ManagementAgent.h M cpp/src/qpid/management/ManagementAgent.cpp Added support (using defaulted arguments) to ManagementAgent::addObject for persistent object IDs M cpp/managementgen/generate.py M cpp/managementgen/schema.py M cpp/managementgen/main.py Added the ability for templates to set variables to be used during code generation. Makefile fragment is now generated using a template rather than hard-code. This was done to help non-qpid code to use the code generator for management-via-qpid support. M cpp/managementgen/templates/Args.h M cpp/managementgen/templates/Class.cpp M cpp/managementgen/templates/Class.h Use a generator variable to define the comment prefix. A cpp/managementgen/templates/Makefile.mk New template for the qpid makefile fragment. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@609672 13f79535-47bb-0310-9956-ffa450edef68
* From Ted Ross <tross@redhat.com>Alan Conway2007-12-061-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Queue statistics fixed. Additional objects added (exchange, binding). Changes: M cpp/src/qpid/broker/ExchangeRegistry.h M cpp/src/qpid/broker/ExchangeRegistry.cpp ExchangeRegistry was modified to pass a parent pointer to created exchanges. This parent reference is not stored but is used to link management objects in a hierarchy of ownership. M cpp/src/qpid/broker/Exchange.h M cpp/src/qpid/broker/Exchange.cpp Exchange now inherits Manageable to make it visible via the management interface. The Exchange parent class handles most of the management boilerplate. A Binding struct was introduced to track bindings for management. This is separate from QueueBindings which track bindings for queues. M cpp/src/qpid/broker/HeadersExchange.h M cpp/src/qpid/broker/FanOutExchange.h M cpp/src/qpid/broker/DirectExchange.h M cpp/src/qpid/broker/TopicExchange.h M cpp/src/qpid/broker/HeadersExchange.cpp M cpp/src/qpid/broker/FanOutExchange.cpp M cpp/src/qpid/broker/DirectExchange.cpp M cpp/src/qpid/broker/TopicExchange.cpp M cpp/src/qpid/management/ManagementExchange.cpp M cpp/src/qpid/management/ManagementExchange.h Each exchange type handles management stats in its own specific way. Additionally, the constructors pass the management parent pointer to the constructor or Exchange. An extra layer was added to contain bindings. Instead of directly storing bound queues, the exchanges store "bindings" which are managable constructs. M cpp/src/qpid/broker/Broker.cpp Broker now explicitly enables the management agent. Also sets the management parent (vhost) in the exchange registry. M cpp/src/qpid/broker/Vhost.cpp Updated constructor to be more defensive in case the management agent has not been enabled. M cpp/src/qpid/broker/Queue.cpp Same constructor update as vhost. Moved accounting of dequeues into "pop". Implemented management method handler (purge). M cpp/src/qpid/broker/Deliverable.h A new method was added to extract the content size of the deliverable content (if appropriate). The method is not pure virtual and returns zero if not overridden. M cpp/src/qpid/broker/DeliverableMessage.h M cpp/src/qpid/broker/TxPublish.cpp M cpp/src/qpid/broker/DeliverableMessage.cpp M cpp/src/qpid/broker/TxPublish.h These derivatives of Deliverable were updated with overrides for contenSize. M cpp/src/qpid/management/ManagementAgent.h M cpp/src/qpid/management/ManagementAgent.cpp An "enable" method was added to prevent inadvertent creation of a management agent when not desired. Adding and deleting management objects is now protected by a mutex. Make sure that deleted objects get reported even if neither their configuration nor instrumentation is changed. M specs/management-schema.xml Minor cosmetic updates. Additional parent linkage. M cpp/managementgen/schema.py M cpp/managementgen/templates/Class.cpp Added generated code to publish schema details for methods. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@601807 13f79535-47bb-0310-9956-ffa450edef68
* QPID-689 from tross@redhat.com.Alan Conway2007-11-231-0/+108
This patch introduces formal schema specification for management and code generation for management classes. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@597662 13f79535-47bb-0310-9956-ffa450edef68