activemq-cpp-3.9.5
MarshalAware.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_WIREFORMAT_MARSHALAWARE_H_
19#define _ACTIVEMQ_WIREFORMAT_MARSHALAWARE_H_
20
21#include <vector>
24
25namespace activemq {
26namespace wireformat {
27
28 class WireFormat;
29
31 public:
32
33 virtual ~MarshalAware();
34
44 virtual bool isMarshalAware() const = 0;
45
55 virtual void beforeMarshal(WireFormat* wireFormat) = 0;
56
66 virtual void afterMarshal(WireFormat* wireFormat) = 0;
67
77 virtual void beforeUnmarshal(WireFormat* wireFormat) = 0;
78
88 virtual void afterUnmarshal(WireFormat* wireFormat) = 0;
89
103 virtual void setMarshaledForm(WireFormat* wireFormat, const std::vector<char>& data) = 0;
104
114 virtual std::vector<unsigned char> getMarshaledForm(WireFormat* wireFormat) = 0;
115
116 };
117
118}}
119
120#endif /*_ACTIVEMQ_WIREFORMAT_MARSHALAWARE_H_*/
#define AMQCPP_API
Definition Config.h:30
Definition MarshalAware.h:30
virtual void beforeUnmarshal(WireFormat *wireFormat)=0
Called before unmarshaling is started to prepare the object to be unmarshaled.
virtual void afterMarshal(WireFormat *wireFormat)=0
Called after marshaling is started to cleanup the object being marshaled.
virtual bool isMarshalAware() const =0
Determine if the class implementing this interface is really wanting to be told about marshaling.
virtual void setMarshaledForm(WireFormat *wireFormat, const std::vector< char > &data)=0
Called to set the data to this object that will contain the objects marshaled form.
virtual void beforeMarshal(WireFormat *wireFormat)=0
Called before marshaling is started to prepare the object to be marshaled.
virtual std::vector< unsigned char > getMarshaledForm(WireFormat *wireFormat)=0
Called to get the data to this object that will contain the objects marshaled form.
virtual void afterUnmarshal(WireFormat *wireFormat)=0
Called after unmarshaling is started to cleanup the object being unmarshaled.
Provides a mechanism to marshal commands into and out of packets or into and out of streams,...
Definition WireFormat.h:43
Definition BaseDataStructure.h:28
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition CachedConsumer.h:24