Qpid Management Framework  0.22
qmf/ConsoleEvent.h
Go to the documentation of this file.
00001 #ifndef QMF_CONSOLE_EVENT_H
00002 #define QMF_CONSOLE_EVENT_H
00003 /*
00004  *
00005  * Licensed to the Apache Software Foundation (ASF) under one
00006  * or more contributor license agreements.  See the NOTICE file
00007  * distributed with this work for additional information
00008  * regarding copyright ownership.  The ASF licenses this file
00009  * to you under the Apache License, Version 2.0 (the
00010  * "License"); you may not use this file except in compliance
00011  * with the License.  You may obtain a copy of the License at
00012  * 
00013  *   http://www.apache.org/licenses/LICENSE-2.0
00014  * 
00015  * Unless required by applicable law or agreed to in writing,
00016  * software distributed under the License is distributed on an
00017  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
00018  * KIND, either express or implied.  See the License for the
00019  * specific language governing permissions and limitations
00020  * under the License.
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