00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _CMS_MESSAGEPRODUCER_H_
00019 #define _CMS_MESSAGEPRODUCER_H_
00020
00021 #include <cms/Config.h>
00022 #include <cms/AsyncCallback.h>
00023 #include <cms/Message.h>
00024 #include <cms/Destination.h>
00025 #include <cms/Closeable.h>
00026 #include <cms/CMSException.h>
00027 #include <cms/InvalidDestinationException.h>
00028 #include <cms/MessageFormatException.h>
00029 #include <cms/UnsupportedOperationException.h>
00030 #include <cms/DeliveryMode.h>
00031
00032 namespace cms {
00033
00034 class MessageTransformer;
00035
00060 class CMS_API MessageProducer : public Closeable {
00061 public:
00062
00063 virtual ~MessageProducer();
00064
00080 virtual void send(Message* message) = 0;
00081
00103 virtual void send(Message* message, AsyncCallback* onComplete) = 0;
00104
00125 virtual void send(Message* message, int deliveryMode, int priority, long long timeToLive) = 0;
00126
00153 virtual void send(Message* message, int deliveryMode, int priority,
00154 long long timeToLive, AsyncCallback* onComplete) = 0;
00155
00173 virtual void send(const Destination* destination, Message* message) = 0;
00174
00198 virtual void send(const Destination* destination, Message* message, AsyncCallback* onComplete) = 0;
00199
00222 virtual void send(const Destination* destination, Message* message,
00223 int deliveryMode, int priority, long long timeToLive) = 0;
00224
00253 virtual void send(const Destination* destination, Message* message, int deliveryMode,
00254 int priority, long long timeToLive, AsyncCallback* onComplete) = 0;
00255
00264 virtual void setDeliveryMode(int mode) = 0;
00265
00273 virtual int getDeliveryMode() const = 0;
00274
00283 virtual void setDisableMessageID(bool value) = 0;
00284
00292 virtual bool getDisableMessageID() const = 0;
00293
00300 virtual void setDisableMessageTimeStamp(bool value) = 0;
00301
00309 virtual bool getDisableMessageTimeStamp() const = 0;
00310
00319 virtual void setPriority(int priority) = 0;
00320
00328 virtual int getPriority() const = 0;
00329
00340 virtual void setTimeToLive(long long time) = 0;
00341
00349 virtual long long getTimeToLive() const = 0;
00350
00362 virtual void setMessageTransformer(cms::MessageTransformer* transformer) = 0;
00363
00369 virtual cms::MessageTransformer* getMessageTransformer() const = 0;
00370
00371 };
00372
00373 }
00374
00375 #endif