mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-02-23 21:27:14 +01:00
Switched to POCO library for unified platform/library interface. Deprecated the external module API. It was creating more problems than solving. Removed most built-in libraries in favor of system libraries for easier maintenance. Cleaned and secured code with help from static analyzers.
100 lines
1.7 KiB
C++
100 lines
1.7 KiB
C++
//
|
|
// RedisEventArgs.h
|
|
//
|
|
// Library: Redis
|
|
// Package: Redis
|
|
// Module: RedisEventArgs
|
|
//
|
|
// Definition of the RedisEventArgs class.
|
|
//
|
|
// Copyright (c) 2015, Applied Informatics Software Engineering GmbH.
|
|
// and Contributors.
|
|
//
|
|
// SPDX-License-Identifier: BSL-1.0
|
|
//
|
|
|
|
|
|
#ifndef Redis_RedisEventArgs_INCLUDED
|
|
#define Redis_RedisEventArgs_INCLUDED
|
|
|
|
|
|
#include "Poco/Redis/Type.h"
|
|
|
|
|
|
namespace Poco {
|
|
namespace Redis {
|
|
|
|
|
|
class Redis_API RedisEventArgs
|
|
/// Event arguments for AsyncReader events.
|
|
{
|
|
public:
|
|
RedisEventArgs(RedisType::Ptr message);
|
|
/// Creates the RedisEventArgs from the given message.
|
|
|
|
RedisEventArgs(Exception* e);
|
|
/// Creates the RedisEventArgs from the given Redis Exception.
|
|
|
|
~RedisEventArgs();
|
|
/// Destroys the RedisEventArgs.
|
|
|
|
RedisType::Ptr message() const;
|
|
/// Returns the message retrieved from the Redis server.
|
|
/// This can be a NULL pointer when this event is about an exception.
|
|
|
|
const Exception* exception() const;
|
|
/// Returns the exception if any, otherwise it returns null pointer.
|
|
|
|
void stop();
|
|
/// When called, the AsyncReader will stop.
|
|
///
|
|
/// Note: The AsyncReader will always stop when this is an exception
|
|
/// event. Use this for example for pub/sub when there are no
|
|
/// subcribers anymore.
|
|
|
|
bool isStopped() const;
|
|
/// Returns true when the AsyncReader will stop.
|
|
|
|
private:
|
|
RedisType::Ptr _message;
|
|
|
|
Exception* _exception;
|
|
|
|
bool _stop;
|
|
};
|
|
|
|
|
|
//
|
|
// inlines
|
|
//
|
|
|
|
|
|
inline RedisType::Ptr RedisEventArgs::message() const
|
|
{
|
|
return _message;
|
|
}
|
|
|
|
|
|
inline const Exception* RedisEventArgs::exception() const
|
|
{
|
|
return _exception;
|
|
}
|
|
|
|
|
|
inline bool RedisEventArgs::isStopped() const
|
|
{
|
|
return _stop;
|
|
}
|
|
|
|
|
|
inline void RedisEventArgs::stop()
|
|
{
|
|
_stop = true;
|
|
}
|
|
|
|
|
|
} } // namespace Poco::Redis
|
|
|
|
|
|
#endif // Redis_RedisEventArgs_INCLUDED
|