activemq-cpp-3.9.5
ActiveMQTopic.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_ACTIVEMQTOPIC_H_
19 #define _ACTIVEMQ_COMMANDS_ACTIVEMQTOPIC_H_
20 
21 #include <activemq/util/Config.h>
24 #include <decaf/lang/Exception.h>
25 #include <cms/Topic.h>
26 #include <vector>
27 #include <string>
28 #include <memory>
29 
30 namespace activemq {
31 namespace commands {
32 
34  public:
35 
36  const static unsigned char ID_ACTIVEMQTOPIC = 101;
37 
38  public:
39 
42  using ActiveMQDestination::operator<;
43  using ActiveMQDestination::operator==;
44 
45  private:
46 
48  ActiveMQTopic& operator=(const ActiveMQTopic&);
49 
50  public:
51 
52  ActiveMQTopic();
53  ActiveMQTopic(const std::string& name);
54  virtual ~ActiveMQTopic() throw ();
55 
56  virtual unsigned char getDataStructureType() const;
57 
58  virtual ActiveMQTopic* 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::Topic* 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 Topic
91 
92  virtual std::string getTopicName() const {
93  return this->getPhysicalName();
94  }
95 
96  };
97 
98 }}
99 
100 #endif /*#define _ACTIVEMQ_COMMANDS_ACTIVEMQTOPIC_H_*/
An interface encapsulating a provider-specific topic name.
Definition: Topic.h:36
virtual int compareTo(const ActiveMQDestination &value) const
virtual const cms::CMSProperties & getCMSProperties() const
Retrieve any properties that might be part of the destination that was specified. ...
Definition: ActiveMQTopic.h:84
virtual void copy(const cms::Destination &source)
Copies the contents of the given Destination object to this one.
Definition: ActiveMQTopic.h:80
Definition: ActiveMQTopic.h:33
A Destination object encapsulates a provider-specific address.
Definition: Destination.h:39
#define AMQCPP_API
Definition: Config.h:30
virtual bool equals(const DataStructure *value) const
Compares the DataStructure passed in to this one, and returns if they are equivalent.
Definition: DataStructure.h:27
virtual cms::Destination::DestinationType getDestinationType() const
Returns the Type of Destination that this object represents.
Definition: ActiveMQTopic.h:72
Definition: Destination.h:43
Interface for a Java-like properties object.
Definition: CMSProperties.h:34
virtual std::string getTopicName() const
Gets the name of this topic.
Definition: ActiveMQTopic.h:92
DestinationType
Definition: Destination.h:42
#define const
Definition: zconf.h:198
virtual cms::Destination * clone() const
Creates a new instance of this destination type that is a copy of this one, and returns it...
Definition: ActiveMQTopic.h:76
Definition: ActiveMQDestination.h:38