Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET Apache Qpid Documentation
qpid/framing/ProtocolVersion.h
Go to the documentation of this file.
00001 /*
00002  *
00003  * Licensed to the Apache Software Foundation (ASF) under one
00004  * or more contributor license agreements.  See the NOTICE file
00005  * distributed with this work for additional information
00006  * regarding copyright ownership.  The ASF licenses this file
00007  * to you under the Apache License, Version 2.0 (the
00008  * "License"); you may not use this file except in compliance
00009  * with the License.  You may obtain a copy of the License at
00010  *
00011  *   http://www.apache.org/licenses/LICENSE-2.0
00012  *
00013  * Unless required by applicable law or agreed to in writing,
00014  * software distributed under the License is distributed on an
00015  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
00016  * KIND, either express or implied.  See the License for the
00017  * specific language governing permissions and limitations
00018  * under the License.
00019  *
00020  */
00021 #ifndef _ProtocolVersion_
00022 #define _ProtocolVersion_
00023 
00024 #include "qpid/framing/amqp_types.h"
00025 #include "qpid/CommonImportExport.h"
00026 
00027 #include <string>
00028 
00029 namespace qpid
00030 {
00031 namespace framing
00032 {
00033 
00034 class QPID_COMMON_CLASS_EXTERN ProtocolVersion
00035 {
00036 private:
00037     uint8_t major_;
00038     uint8_t minor_;
00039     uint8_t protocol_;
00040 
00041 public:
00042     explicit ProtocolVersion(uint8_t _major=0, uint8_t _minor=0, uint8_t _protocol=0)
00043         : major_(_major), minor_(_minor), protocol_(_protocol) {}
00044 
00045     QPID_COMMON_INLINE_EXTERN uint8_t getMajor() const { return major_; }
00046     QPID_COMMON_INLINE_EXTERN void setMajor(uint8_t major) { major_ = major; }
00047     QPID_COMMON_INLINE_EXTERN uint8_t getMinor() const { return minor_; }
00048     QPID_COMMON_INLINE_EXTERN void setMinor(uint8_t minor) { minor_ = minor; }
00049     QPID_COMMON_INLINE_EXTERN uint8_t getProtocol() const { return protocol_; }
00050     QPID_COMMON_INLINE_EXTERN void setProtocol(uint8_t protocol) { protocol_ = protocol; }
00051     QPID_COMMON_EXTERN const std::string toString() const;
00052 
00053     QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p);
00054 
00055     QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const;
00056     QPID_COMMON_INLINE_EXTERN bool operator!=(ProtocolVersion p) const { return ! (*this == p); }
00057     QPID_COMMON_EXTERN static uint8_t AMQP;
00058     QPID_COMMON_EXTERN static uint8_t LEGACY_AMQP;
00059     QPID_COMMON_EXTERN static uint8_t TLS;
00060     QPID_COMMON_EXTERN static uint8_t SASL;
00061 };
00062 
00063 } // namespace framing
00064 } // namespace qpid
00065 
00066 
00067 #endif // ifndef _ProtocolVersion_

Qpid C++ API Reference
Generated on Fri Aug 23 2013 for Qpid C++ Client API by doxygen 1.7.5