diff options
Diffstat (limited to 'cpp/include/qpid/console/Value.h')
-rw-r--r-- | cpp/include/qpid/console/Value.h | 213 |
1 files changed, 0 insertions, 213 deletions
diff --git a/cpp/include/qpid/console/Value.h b/cpp/include/qpid/console/Value.h deleted file mode 100644 index d9eb65053b..0000000000 --- a/cpp/include/qpid/console/Value.h +++ /dev/null @@ -1,213 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * - */ -#ifndef _QPID_CONSOLE_VALUE_H_ -#define _QPID_CONSOLE_VALUE_H_ - -#include "qpid/Exception.h" -#include "qpid/framing/Uuid.h" -#include "qpid/framing/FieldTable.h" -#include "qpid/console/ObjectId.h" -#include <boost/shared_ptr.hpp> - -namespace qpid { -namespace framing { - class Buffer; -} -namespace console { - - /** - * \ingroup qmfconsoleapi - */ - class Value { - - public: - typedef boost::shared_ptr<Value> Ptr; - virtual ~Value() {} - virtual std::string str() const = 0; - - virtual bool isNull() const { return false; } - virtual bool isObjectId() const { return false; } - virtual bool isUint() const { return false; } - virtual bool isInt() const { return false; } - virtual bool isUint64() const { return false; } - virtual bool isInt64() const { return false; } - virtual bool isString() const { return false; } - virtual bool isBool() const { return false; } - virtual bool isFloat() const { return false; } - virtual bool isDouble() const { return false; } - virtual bool isUuid() const { return false; } - virtual bool isMap() const { return false; } - - virtual ObjectId asObjectId() const { incompatible(); return ObjectId(); } - virtual uint32_t asUint() const { incompatible(); return 0; } - virtual int32_t asInt() const { incompatible(); return 0; } - virtual uint64_t asUint64() const { incompatible(); return 0; } - virtual int64_t asInt64() const { incompatible(); return 0; } - virtual std::string asString() const { incompatible(); return std::string(); } - virtual bool asBool() const { incompatible(); return false; } - virtual float asFloat() const { incompatible(); return 0.0; } - virtual double asDouble() const { incompatible(); return 0.0; } - virtual framing::Uuid asUuid() const { incompatible(); return framing::Uuid(); } - virtual framing::FieldTable asMap() const { incompatible(); return framing::FieldTable(); } - - private: - void incompatible() const { - throw Exception("Incompatible Type"); - } - }; - - class NullValue : public Value { - public: - NullValue() {} - std::string str() const; - bool isNull() const { return true; } - }; - - class RefValue : public Value { - public: - RefValue(ObjectId v) : value(v) {} - RefValue(framing::Buffer& buffer); - std::string str() const; - bool isObjectId() const { return true; } - ObjectId asObjectId() const { return value; } - private: - ObjectId value; - }; - - class UintValue : public Value { - public: - UintValue(uint32_t v) : value(v) {} - std::string str() const; - bool isUint() const { return true; } - uint32_t asUint() const { return value; } - bool isUint64() const { return true; } - uint64_t asUint64() const { return (uint64_t) value; } - private: - uint32_t value; - }; - - class IntValue : public Value { - public: - IntValue(int32_t v) : value(v) {} - std::string str() const; - bool isInt() const { return true; } - int32_t asInt() const { return value; } - bool isInt64() const { return true; } - int64_t asInt64() const { return (int64_t) value; } - private: - int32_t value; - }; - - class Uint64Value : public Value { - public: - Uint64Value(uint64_t v) : value(v) {} - std::string str() const; - bool isUint64() const { return true; } - uint64_t asUint64() const { return value; } - private: - uint64_t value; - }; - - class Int64Value : public Value { - public: - Int64Value(int64_t v) : value(v) {} - std::string str() const; - bool isInt64() const { return true; } - int64_t asInt64() const { return value; } - private: - int64_t value; - }; - - class StringValue : public Value { - public: - StringValue(const std::string& v) : value(v) {} - StringValue(framing::Buffer& buffer, int tc); - std::string str() const { return value; } - bool isString() const { return true; } - std::string asString() const { return value; } - private: - std::string value; - }; - - class BoolValue : public Value { - public: - BoolValue(bool v) : value(v) {} - BoolValue(uint8_t v) : value(v != 0) {} - std::string str() const; - bool isBool() const { return true; } - bool asBool() const { return value; } - private: - bool value; - }; - - class FloatValue : public Value { - public: - FloatValue(float v) : value(v) {} - std::string str() const; - bool isFloat() const { return true; } - float asFloat() const { return value; } - bool isDouble() const { return true; } - double asDouble() const { return (double) value; } - private: - float value; - }; - - class DoubleValue : public Value { - public: - DoubleValue(double v) : value(v) {} - std::string str() const; - bool isDouble() const { return true; } - double asDouble() const { return value; } - private: - double value; - }; - - class UuidValue : public Value { - public: - UuidValue(const framing::Uuid& v) : value(v) {} - UuidValue(framing::Buffer& buffer); - std::string str() const { return value.str(); } - bool isUuid() const { return true; } - framing::Uuid asUuid() const { return value; } - private: - framing::Uuid value; - }; - - class MapValue : public Value { - public: - MapValue(const framing::FieldTable& v) : value(v) {} - MapValue(framing::Buffer& buffer); - std::string str() const; - bool isMap() const { return true; } - framing::FieldTable asMap() const { return value; } - private: - framing::FieldTable value; - }; - - class ValueFactory { - public: - static Value::Ptr newValue(int typeCode, framing::Buffer& buffer); - static void encodeValue(int typeCode, Value::Ptr value, framing::Buffer& buffer); - }; -} -} - -#endif |