Files
wlan-cloud-lib-poco/Foundation/include/Poco/ChecksumImpl.h
2017-10-12 18:46:51 -05:00

50 lines
838 B
C++

//
// ChecksumImpl.h
//
// Library: Foundation
// Package: Core
// Module: ChecksumImpl
//
// Definition of the ChecksumImpl class.
//
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Foundation_ChecksumImpl_INCLUDED
#define Foundation_ChecksumImpl_INCLUDED
#include "Poco/Foundation.h"
namespace Poco {
class ChecksumImpl
{
public:
enum Type
{
TYPE_ADLER32_IMPL = 0,
TYPE_CRC32_IMPL,
TYPE_CRC64_IMPL
};
virtual ~ChecksumImpl() {}
virtual void update(const char* data, unsigned length) = 0;
virtual void update(const std::string& data) = 0;
virtual void update(char data) = 0;
virtual Poco::UInt64 checksum() const = 0;
virtual Type type() const = 0;
};
} // namespace Poco
#endif // Foundation_ChecksumImpl_INCLUDED