mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 18:20:26 +01:00
92 lines
1.4 KiB
C++
92 lines
1.4 KiB
C++
//
|
|
// Error.h
|
|
//
|
|
// Library: Redis
|
|
// Package: Redis
|
|
// Module: Error
|
|
//
|
|
// Definition of the Error class.
|
|
//
|
|
// Copyright (c) 2015, Applied Informatics Software Engineering GmbH.
|
|
// and Contributors.
|
|
//
|
|
// SPDX-License-Identifier: BSL-1.0
|
|
//
|
|
|
|
|
|
#ifndef Redis_Error_INCLUDED
|
|
#define Redis_Error_INCLUDED
|
|
|
|
|
|
#include "Poco/Redis/Type.h"
|
|
|
|
|
|
namespace Poco {
|
|
namespace Redis {
|
|
|
|
|
|
class Redis_API Error
|
|
/// Represent a Redis error.
|
|
{
|
|
public:
|
|
Error();
|
|
/// Creates an empty Error.
|
|
|
|
Error(const std::string& message);
|
|
/// Creates an Error with the given message.
|
|
|
|
virtual ~Error();
|
|
/// Destroys the Error.
|
|
|
|
const std::string& getMessage() const;
|
|
/// Returns the error message.
|
|
|
|
void setMessage(const std::string& message);
|
|
/// Sets the error message.
|
|
|
|
private:
|
|
std::string _message;
|
|
};
|
|
|
|
|
|
//
|
|
// inlines
|
|
//
|
|
|
|
|
|
inline const std::string& Error::getMessage() const
|
|
{
|
|
return _message;
|
|
}
|
|
|
|
|
|
inline void Error::setMessage(const std::string& message)
|
|
{
|
|
_message = message;
|
|
}
|
|
|
|
|
|
template<>
|
|
struct RedisTypeTraits<Error>
|
|
{
|
|
enum { TypeId = RedisType::REDIS_ERROR };
|
|
|
|
static const char marker = '-';
|
|
|
|
static std::string toString(const Error& value)
|
|
{
|
|
return marker + value.getMessage() + LineEnding::NEWLINE_CRLF;
|
|
}
|
|
|
|
static void read(RedisInputStream& input, Error& value)
|
|
{
|
|
value.setMessage(input.getline());
|
|
}
|
|
};
|
|
|
|
|
|
} } // namespace Poco::Redis
|
|
|
|
|
|
#endif // Redis_Error_INCLUDED
|