activemq-cpp-3.6.0
CachedConsumer.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 _ACTIVEMQ_CMSUTIL_CACHEDCONSUMER_H_
19 #define _ACTIVEMQ_CMSUTIL_CACHEDCONSUMER_H_
20 
21 #include <cms/MessageConsumer.h>
22 #include <activemq/util/Config.h>
23 
24 namespace activemq {
25 namespace cmsutil {
26 
31  private:
32 
33  cms::MessageConsumer* consumer;
34 
35  private:
36 
38  CachedConsumer& operator=(const CachedConsumer&);
39 
40  public:
41 
43 
44  virtual ~CachedConsumer();
45 
50  virtual void close() {
51  // Do nothing.
52  }
53 
54  virtual void start() {
55  consumer->start();
56  }
57 
58  virtual void stop() {
59  consumer->stop();
60  }
61 
62  virtual cms::Message* receive() {
63  return consumer->receive();
64  }
65 
66  virtual cms::Message* receive(int millisecs) {
67  return consumer->receive(millisecs);
68  }
69 
71  return consumer->receiveNoWait();
72  }
73 
74  virtual void setMessageListener(cms::MessageListener* listener) {
75  consumer->setMessageListener(listener);
76  }
77 
79  return consumer->getMessageListener();
80  }
81 
82  virtual std::string getMessageSelector() const {
83  return consumer->getMessageSelector();
84  }
85 
87  consumer->setMessageAvailableListener(listener);
88  }
89 
91  return consumer->getMessageAvailableListener();
92  }
93 
94  virtual void setMessageTransformer(cms::MessageTransformer* transformer) {
95  consumer->setMessageTransformer(transformer);
96  }
97 
99  return consumer->getMessageTransformer();
100  }
101 
102  };
103 
104 }}
105 
106 #endif /*_ACTIVEMQ_CMSUTIL_CACHEDCONSUMER_H_*/