activemq-cpp-3.8.2
MessageConsumer.h
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef _CMS_MESSAGECONSUMER_H_
19 #define _CMS_MESSAGECONSUMER_H_
20 
21 #include <cms/Config.h>
22 #include <cms/MessageListener.h>
24 #include <cms/Message.h>
25 #include <cms/Closeable.h>
26 #include <cms/Startable.h>
27 #include <cms/Stoppable.h>
28 
29 namespace cms {
30 
31  class MessageTransformer;
32 
63  class CMS_API MessageConsumer : public Closeable, public Startable, public Stoppable {
64  public:
65 
66  virtual ~MessageConsumer();
67 
75  virtual Message* receive() = 0;
76 
85  virtual Message* receive(int millisecs) = 0;
86 
95  virtual Message* receiveNoWait() = 0;
96 
105  virtual void setMessageListener(MessageListener* listener) = 0;
106 
115  virtual MessageListener* getMessageListener() const = 0;
116 
124  virtual std::string getMessageSelector() const = 0;
125 
137  virtual void setMessageTransformer(cms::MessageTransformer* transformer) = 0;
138 
144  virtual cms::MessageTransformer* getMessageTransformer() const = 0;
145 
155  virtual void setMessageAvailableListener(cms::MessageAvailableListener* listener) = 0;
156 
165  virtual cms::MessageAvailableListener* getMessageAvailableListener() const = 0;
166 
167  };
168 
169 }
170 
171 #endif /*_CMS_MESSAGECONSUMER_H_*/
Provides an interface for clients to transform cms::Message objects inside the CMS MessageProducer an...
Definition: MessageTransformer.h:37
Root of all messages.
Definition: Message.h:88
Interface for a class that implements the close method.
Definition: Closeable.h:35
#define CMS_API
Definition: Config.h:31
Interface for a class that implements the stop method.
Definition: Stoppable.h:36
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: DestinationResolver.h:23
A client uses a MessageConsumer to received messages from a destination.
Definition: MessageConsumer.h:63
A listener interface similar to the MessageListener interface.
Definition: MessageAvailableListener.h:33
Interface for a class that implements the start method.
Definition: Startable.h:36
A MessageListener object is used to receive asynchronously delivered messages.
Definition: MessageListener.h:33