activemq-cpp-3.8.2
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  private:
39 
41  ActiveMQTopic& operator=(const ActiveMQTopic&);
42 
43  public:
44 
45  ActiveMQTopic();
46  ActiveMQTopic(const std::string& name);
47  virtual ~ActiveMQTopic() throw ();
48 
49  virtual unsigned char getDataStructureType() const;
50 
51  virtual ActiveMQTopic* cloneDataStructure() const;
52 
53  virtual void copyDataStructure(const DataStructure* src);
54 
55  virtual std::string toString() const;
56 
57  virtual bool equals(const DataStructure* value) const;
58 
59  virtual const cms::Topic* getCMSDestination() const {
60  return this;
61  }
62 
63  public: // CMS Destination
64 
67  }
68 
69  virtual cms::Destination* clone() const {
70  return dynamic_cast<cms::Destination*>(this->cloneDataStructure());
71  }
72 
73  virtual void copy(const cms::Destination& source) {
74  this->copyDataStructure(dynamic_cast<const DataStructure*>(&source));
75  }
76 
77  virtual const cms::CMSProperties& getCMSProperties() const {
78  return this->getOptions();
79  }
80 
81  virtual bool equals(const cms::Destination& other) const;
82 
83  public: // CMS Topic
84 
85  virtual std::string getTopicName() const {
86  return this->getPhysicalName();
87  }
88 
89  };
90 
91 }}
92 
93 #endif /*#define _ACTIVEMQ_COMMANDS_ACTIVEMQTOPIC_H_*/
An interface encapsulating a provider-specific topic name.
Definition: Topic.h:36
virtual void copy(const cms::Destination &source)
Copies the contents of the given Destination object to this one.
Definition: ActiveMQTopic.h:73
Definition: ActiveMQTopic.h:33
virtual cms::Destination::DestinationType getDestinationType() const
Returns the Type of Destination that this object represents.
Definition: ActiveMQTopic.h:65
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:69
A Destination object encapsulates a provider-specific address.
Definition: Destination.h:39
#define AMQCPP_API
Definition: Config.h:30
Definition: ArrayPointer.h:432
virtual const cms::CMSProperties & getCMSProperties() const
Retrieve any properties that might be part of the destination that was specified. ...
Definition: ActiveMQTopic.h:77
Definition: DataStructure.h:27
Definition: Destination.h:43
virtual std::string getTopicName() const
Gets the name of this topic.
Definition: ActiveMQTopic.h:85
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
DestinationType
Definition: Destination.h:42
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: CachedConsumer.h:24
#define const
Definition: zconf.h:198
Definition: ActiveMQDestination.h:38