activemq-cpp-3.6.0
ActiveMQTempTopic.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_ACTIVEMQTEMPTOPIC_H_
19 #define _ACTIVEMQ_COMMANDS_ACTIVEMQTEMPTOPIC_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>
28 #include <cms/TemporaryTopic.h>
29 #include <vector>
30 #include <string>
31 #include <memory>
32 
33 namespace activemq{
34 namespace commands{
35 
37  public cms::TemporaryTopic {
38  public:
39 
40  const static unsigned char ID_ACTIVEMQTEMPTOPIC = 103;
41 
42  private:
43 
45  ActiveMQTempTopic& operator=(const ActiveMQTempTopic&);
46 
47  public:
48 
50  ActiveMQTempTopic(const std::string& name);
51  virtual ~ActiveMQTempTopic() throw ();
52 
53  virtual unsigned char getDataStructureType() const;
54 
55  virtual ActiveMQTempTopic* cloneDataStructure() const;
56 
57  virtual void copyDataStructure(const DataStructure* src);
58 
59  virtual std::string toString() const;
60 
61  virtual bool equals(const DataStructure* value) const;
62 
63  virtual const cms::Destination* getCMSDestination() const {
64  return this;
65  }
66 
67  public:
68  // CMS Destination
69 
72  }
73 
74  virtual cms::Destination* clone() const {
75  return dynamic_cast<cms::Destination*> (this->cloneDataStructure());
76  }
77 
78  virtual void copy(const cms::Destination& source) {
79  this->copyDataStructure(dynamic_cast<const DataStructure*> (&source));
80  }
81 
82  virtual const cms::CMSProperties& getCMSProperties() const {
83  return this->getOptions();
84  }
85 
86  virtual bool equals(const cms::Destination& other) const;
87 
88  public: // CMS Temporary Topic
89 
90  virtual std::string getTopicName() const {
91  return this->getPhysicalName();
92  }
93 
94  virtual void destroy();
95 
96  };
97 
98 }}
99 
100 #endif /*_ACTIVEMQ_COMMANDS_ACTIVEMQTEMPTOPIC_H_*/