Go to the documentation of this file.00001 #ifndef QMF_CONSOLE_EVENT_H
00002 #define QMF_CONSOLE_EVENT_H
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 #include <qmf/ImportExport.h>
00025 #include "qmf/Handle.h"
00026 #include "qmf/Agent.h"
00027 #include "qmf/Data.h"
00028 #include "qmf/SchemaId.h"
00029 #include "qpid/types/Variant.h"
00030 
00031 namespace qmf {
00032 
00033 #ifndef SWIG
00034     template <class> class PrivateImplRef;
00035 #endif
00036 
00037     class ConsoleEventImpl;
00038 
00039     enum ConsoleEventCode {
00040     CONSOLE_AGENT_ADD             = 1,
00041     CONSOLE_AGENT_DEL             = 2,
00042     CONSOLE_AGENT_RESTART         = 3,
00043     CONSOLE_AGENT_SCHEMA_UPDATE   = 4,
00044     CONSOLE_AGENT_SCHEMA_RESPONSE = 5,
00045     CONSOLE_EVENT                 = 6,
00046     CONSOLE_QUERY_RESPONSE        = 7,
00047     CONSOLE_METHOD_RESPONSE       = 8,
00048     CONSOLE_EXCEPTION             = 9,
00049     CONSOLE_SUBSCRIBE_ADD         = 10,
00050     CONSOLE_SUBSCRIBE_UPDATE      = 11,
00051     CONSOLE_SUBSCRIBE_DEL         = 12,
00052     CONSOLE_THREAD_FAILED         = 13
00053     };
00054 
00055     enum AgentDelReason {
00056     AGENT_DEL_AGED   = 1,
00057     AGENT_DEL_FILTER = 2 
00058     };
00059 
00060     class QMF_CLASS_EXTERN ConsoleEvent : public qmf::Handle<ConsoleEventImpl> {
00061     public:
00062         QMF_EXTERN ConsoleEvent(ConsoleEventImpl* impl = 0);
00063         QMF_EXTERN ConsoleEvent(const ConsoleEvent&);
00064         QMF_EXTERN ConsoleEvent& operator=(const ConsoleEvent&);
00065         QMF_EXTERN ~ConsoleEvent();
00066 
00067         QMF_EXTERN ConsoleEventCode getType() const;
00068         QMF_EXTERN uint32_t getCorrelator() const;
00069         QMF_EXTERN Agent getAgent() const;
00070         QMF_EXTERN AgentDelReason getAgentDelReason() const;
00071         QMF_EXTERN uint32_t getSchemaIdCount() const;
00072         QMF_EXTERN SchemaId getSchemaId(uint32_t) const;
00073         QMF_EXTERN uint32_t getDataCount() const;
00074         QMF_EXTERN Data getData(uint32_t) const;
00075         QMF_EXTERN bool isFinal() const;
00076         QMF_EXTERN const qpid::types::Variant::Map& getArguments() const;
00077         QMF_EXTERN int getSeverity() const;
00078         QMF_EXTERN uint64_t getTimestamp() const;
00079 
00080 #ifndef SWIG
00081     private:
00082         friend class qmf::PrivateImplRef<ConsoleEvent>;
00083         friend struct ConsoleEventImplAccess;
00084 #endif
00085     };
00086 
00087 }
00088 
00089 #endif