00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _ACTIVEMQ_COMMANDS_COMMAND_H_
00019 #define _ACTIVEMQ_COMMANDS_COMMAND_H_
00020
00021 #include <string>
00022 #include <activemq/util/Config.h>
00023 #include <activemq/commands/BaseDataStructure.h>
00024 #include <activemq/exceptions/ActiveMQException.h>
00025 #include <decaf/lang/Pointer.h>
00026
00027 namespace activemq{
00028 namespace state{
00029 class CommandVisitor;
00030 }
00031 namespace commands{
00032
00033 class AMQCPP_API Command : public BaseDataStructure {
00034 public:
00035
00036 virtual ~Command() {}
00037
00042 virtual void setCommandId( int id ) = 0;
00043
00048 virtual int getCommandId() const = 0;
00049
00054 virtual void setResponseRequired( const bool required ) = 0;
00055
00060 virtual bool isResponseRequired() const = 0;
00061
00066 virtual std::string toString() const = 0;
00067
00075 virtual decaf::lang::Pointer<commands::Command> visit(
00076 activemq::state::CommandVisitor* visitor ) = 0;
00077
00078
00079
00080
00081
00082
00083 virtual bool isBrokerInfo() const = 0;
00084 virtual bool isControlCommand() const = 0;
00085 virtual bool isConnectionControl() const = 0;
00086 virtual bool isConnectionInfo() const = 0;
00087 virtual bool isConnectionError() const = 0;
00088 virtual bool isConsumerInfo() const = 0;
00089 virtual bool isConsumerControl() const = 0;
00090 virtual bool isDestinationInfo() const = 0;
00091 virtual bool isFlushCommand() const = 0;
00092 virtual bool isKeepAliveInfo() const = 0;
00093 virtual bool isMessage() const = 0;
00094 virtual bool isMessageAck() const = 0;
00095 virtual bool isMessagePull() const = 0;
00096 virtual bool isMessageDispatch() const = 0;
00097 virtual bool isMessageDispatchNotification() const = 0;
00098 virtual bool isProducerAck() const = 0;
00099 virtual bool isProducerInfo() const = 0;
00100 virtual bool isResponse() const = 0;
00101 virtual bool isReplayCommand() const = 0;
00102 virtual bool isRemoveInfo() const = 0;
00103 virtual bool isRemoveSubscriptionInfo() const = 0;
00104 virtual bool isSessionInfo() const = 0;
00105 virtual bool isShutdownInfo() const = 0;
00106 virtual bool isTransactionInfo() const = 0;
00107 virtual bool isWireFormatInfo() const = 0;
00108
00109 };
00110
00111 }}
00112
00113 #endif