activemq-cpp-3.8.2
ActiveMQQueue.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_COMMANDS_ACTIVEMQQUEUE_H_
19 #define _ACTIVEMQ_COMMANDS_ACTIVEMQQUEUE_H_
20 
21 // Turn off warning message for ignored exception specification
22 #ifdef _MSC_VER
23 #pragma warning( disable : 4290 )
24 #endif
25 
26 #include <activemq/util/Config.h>
29 #include <decaf/lang/Exception.h>
30 #include <cms/Queue.h>
31 #include <vector>
32 #include <string>
33 #include <memory>
34 
35 namespace activemq {
36 namespace commands {
37 
39  public:
40 
41  const static unsigned char ID_ACTIVEMQQUEUE = 100;
42 
43  private:
44 
46  ActiveMQQueue& operator=(const ActiveMQQueue&);
47 
48  public:
49 
50  ActiveMQQueue();
51 
52  ActiveMQQueue(const std::string& name);
53 
54  virtual ~ActiveMQQueue() throw ();
55 
56  virtual unsigned char getDataStructureType() const;
57 
58  virtual ActiveMQQueue* cloneDataStructure() const;
59 
60  virtual void copyDataStructure(const DataStructure* src);
61 
62  virtual std::string toString() const;
63 
64  virtual bool equals(const DataStructure* value) const;
65 
66  virtual const cms::Queue* getCMSDestination() const {
67  return this;
68  }
69 
70  public: // CMS Destination
71 
74  }
75 
76  virtual cms::Destination* clone() const {
77  return dynamic_cast<cms::Destination*>(this->cloneDataStructure());
78  }
79 
80  virtual void copy(const cms::Destination& source) {
81  this->copyDataStructure(dynamic_cast<const DataStructure*>(&source));
82  }
83 
84  virtual const cms::CMSProperties& getCMSProperties() const {
85  return this->getOptions();
86  }
87 
88  virtual bool equals(const cms::Destination& other) const;
89 
90  public: // CMS Queue
91 
92  virtual std::string getQueueName() const {
93  return this->getPhysicalName();
94  }
95 
96  };
97 
98 }}
99 
100 #endif /*_ACTIVEMQ_COMMANDS_ACTIVEMQQUEUE_H_*/
A Destination object encapsulates a provider-specific address.
Definition: Destination.h:39
#define AMQCPP_API
Definition: Config.h:30
Definition: ArrayPointer.h:432
virtual cms::Destination * clone() const
Creates a new instance of this destination type that is a copy of this one, and returns it...
Definition: ActiveMQQueue.h:76
Definition: DataStructure.h:27
virtual std::string getQueueName() const
Gets the name of this queue.
Definition: ActiveMQQueue.h:92
virtual void copy(const cms::Destination &source)
Copies the contents of the given Destination object to this one.
Definition: ActiveMQQueue.h:80
Interface for a Java-like properties object.
Definition: CMSProperties.h:34
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: DestinationResolver.h:23
virtual cms::Destination::DestinationType getDestinationType() const
Returns the Type of Destination that this object represents.
Definition: ActiveMQQueue.h:72
DestinationType
Definition: Destination.h:42
Definition: ActiveMQQueue.h:38
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: CachedConsumer.h:24
#define const
Definition: zconf.h:198
virtual const cms::CMSProperties & getCMSProperties() const
Retrieve any properties that might be part of the destination that was specified. ...
Definition: ActiveMQQueue.h:84
Definition: Destination.h:44
Definition: ActiveMQDestination.h:38
An interface encapsulating a provider-specific queue name.
Definition: Queue.h:37