00001
00018 #ifndef _ACTIVEMQ_COMMANDS_DATASTRUCTURE_H_
00019 #define _ACTIVEMQ_COMMANDS_DATASTRUCTURE_H_
00020
00021 #include <activemq/util/Config.h>
00022 #include <activemq/wireformat/MarshalAware.h>
00023
00024 namespace activemq{
00025 namespace commands{
00026
00027 class AMQCPP_API DataStructure : public wireformat::MarshalAware {
00028 public:
00029
00030 virtual ~DataStructure() {}
00031
00036 virtual unsigned char getDataStructureType() const = 0;
00037
00043 virtual DataStructure* cloneDataStructure() const = 0;
00044
00050 virtual void copyDataStructure( const DataStructure* src ) = 0;
00051
00057 virtual std::string toString() const = 0;
00058
00065 virtual bool equals( const DataStructure* value ) const = 0;
00066
00067 };
00068
00069 }}
00070
00071 #endif