summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-07-31 21:58:39 +0000
committerTed Ross <tross@apache.org>2008-07-31 21:58:39 +0000
commit2bb04f798f13d3120096a9fb2ee30d224fbd981a (patch)
treee30452f821a548f769af215f00d4424870b99ef5 /cpp
parentb9d38e9f08908220f9bbf804a45656e4205e3dfd (diff)
downloadqpid-python-2bb04f798f13d3120096a9fb2ee30d224fbd981a.tar.gz
Added signed integer datatypes for use in management schemas
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@681512 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/qpid/framing/Buffer.cpp32
-rw-r--r--cpp/src/qpid/framing/Buffer.h8
-rw-r--r--cpp/src/qpid/management/ManagementObject.h4
3 files changed, 44 insertions, 0 deletions
diff --git a/cpp/src/qpid/framing/Buffer.cpp b/cpp/src/qpid/framing/Buffer.cpp
index 19c94ffd58..9c089fd0f8 100644
--- a/cpp/src/qpid/framing/Buffer.cpp
+++ b/cpp/src/qpid/framing/Buffer.cpp
@@ -74,6 +74,22 @@ void Buffer::putLongLong(uint64_t i){
putLong(lo);
}
+void Buffer::putInt8(int8_t i){
+ data[position++] = (uint8_t) i;
+}
+
+void Buffer::putInt16(int16_t i){
+ putShort((uint16_t) i);
+}
+
+void Buffer::putInt32(int32_t i){
+ putLong((uint32_t) i);
+}
+
+void Buffer::putInt64(int64_t i){
+ putLongLong((uint64_t) i);
+}
+
void Buffer::putFloat(float f){
union {
uint32_t i;
@@ -129,6 +145,22 @@ uint64_t Buffer::getLongLong(){
return hi | lo;
}
+int8_t Buffer::getInt8(){
+ return (int8_t) data[position++];
+}
+
+int16_t Buffer::getInt16(){
+ return (int16_t) getShort();
+}
+
+int32_t Buffer::getInt32(){
+ return (int32_t) getLong();
+}
+
+int64_t Buffer::getInt64(){
+ return (int64_t) getLongLong();
+}
+
float Buffer::getFloat(){
union {
uint32_t i;
diff --git a/cpp/src/qpid/framing/Buffer.h b/cpp/src/qpid/framing/Buffer.h
index 94cc2d320f..a27b15cac0 100644
--- a/cpp/src/qpid/framing/Buffer.h
+++ b/cpp/src/qpid/framing/Buffer.h
@@ -79,6 +79,10 @@ class Buffer
void putShort(uint16_t i);
void putLong(uint32_t i);
void putLongLong(uint64_t i);
+ void putInt8(int8_t i);
+ void putInt16(int16_t i);
+ void putInt32(int32_t i);
+ void putInt64(int64_t i);
void putFloat(float f);
void putDouble(double f);
void putBin128(uint8_t* b);
@@ -87,6 +91,10 @@ class Buffer
uint16_t getShort();
uint32_t getLong();
uint64_t getLongLong();
+ int8_t getInt8();
+ int16_t getInt16();
+ int32_t getInt32();
+ int64_t getInt64();
float getFloat();
double getDouble();
diff --git a/cpp/src/qpid/management/ManagementObject.h b/cpp/src/qpid/management/ManagementObject.h
index ce3051367d..78d065aac2 100644
--- a/cpp/src/qpid/management/ManagementObject.h
+++ b/cpp/src/qpid/management/ManagementObject.h
@@ -62,6 +62,10 @@ class ManagementObject
static const uint8_t TYPE_DOUBLE = 13;
static const uint8_t TYPE_UUID = 14;
static const uint8_t TYPE_FTABLE = 15;
+ static const uint8_t TYPE_S8 = 16;
+ static const uint8_t TYPE_S16 = 17;
+ static const uint8_t TYPE_S32 = 18;
+ static const uint8_t TYPE_S64 = 19;
static const uint8_t ACCESS_RC = 1;
static const uint8_t ACCESS_RW = 2;