activemq-cpp-3.8.2
ActiveMQObjectMessage.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_ACTIVEMQOBJECTMESSAGE_H_
19 #define _ACTIVEMQ_COMMANDS_ACTIVEMQOBJECTMESSAGE_H_
20 
22 #include <cms/ObjectMessage.h>
23 #include <activemq/util/Config.h>
24 #include <memory>
25 
26 namespace activemq{
27 namespace commands{
28 
30  public ActiveMQMessageTemplate<cms::ObjectMessage> {
31 
32  public:
33 
34  const static unsigned char ID_ACTIVEMQOBJECTMESSAGE = 26;
35 
36  private:
37 
40 
41  public:
42 
44 
45  virtual ~ActiveMQObjectMessage() throw () {
46  }
47 
48  virtual unsigned char getDataStructureType() const;
49 
50  virtual ActiveMQObjectMessage* cloneDataStructure() const;
51 
52  virtual void copyDataStructure(const DataStructure* src);
53 
54  virtual std::string toString() const;
55 
56  virtual bool equals(const DataStructure* value) const;
57 
58  public: // cms::Message
59 
60  virtual cms::Message* clone() const {
61  ActiveMQObjectMessage* clone = this->cloneDataStructure();
62  clone->setReadOnlyBody(false);
63  clone->setReadOnlyProperties(false);
64  return dynamic_cast<cms::Message*>(clone);
65  }
66 
67  public: // cms::ObjectMessage
68 
69  virtual void setObjectBytes(const std::vector<unsigned char>& bytes);
70 
71  virtual std::vector<unsigned char> getObjectBytes() const;
72 
73  };
74 
75 }}
76 
77 #endif /*_ACTIVEMQ_COMMANDS_ACTIVEMQOBJECTMESSAGE_H_*/
Root of all messages.
Definition: Message.h:88
#define AMQCPP_API
Definition: Config.h:30
Definition: ActiveMQObjectMessage.h:29
Definition: DataStructure.h:27
virtual ~ActiveMQObjectMessage()
Definition: ActiveMQObjectMessage.h:45
void setReadOnlyBody(bool value)
Set the Read Only State of the Message Content.
Definition: Message.h:270
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: CachedConsumer.h:24
virtual cms::Message * clone() const
Clone this message exactly, returns a new instance that the caller is required to delete...
Definition: ActiveMQObjectMessage.h:60
Definition: ActiveMQMessageTemplate.h:41
void setReadOnlyProperties(bool value)
Set the Read Only State of the Message Properties.
Definition: Message.h:254