1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-02-22 20:57:12 +01:00
2023-03-23 20:19:11 +02:00

65 lines
1.3 KiB
C++

//
// NTPClient.h
//
// Library: Net
// Package: NTP
// Module: NTPClient
//
// Definition of the NTPClient class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Net_NTPClient_INCLUDED
#define Net_NTPClient_INCLUDED
#include "Poco/Net/Net.h"
#include "Poco/Net/NTPEventArgs.h"
#include "Poco/Net/SocketAddress.h"
#include "Poco/BasicEvent.h"
namespace Poco {
namespace Net {
class Net_API NTPClient
/// This class provides NTP (Network Time Protocol) client functionality.
{
public:
mutable Poco::BasicEvent<NTPEventArgs> response;
explicit NTPClient(SocketAddress::Family family, int timeout = 3000000);
/// Creates an NTP client.
~NTPClient();
/// Destroys the NTP client.
int request(SocketAddress& address) const;
/// Request the time from the server at address.
/// Notifications are posted for events.
///
/// Returns the number of valid replies.
int request(const std::string& address) const;
/// Request the time from the server at address.
/// Notifications are posted for events.
///
/// Returns the number of valid replies.
private:
mutable SocketAddress::Family _family;
int _timeout;
};
} } // namespace Poco::Net
#endif // Net_NTPClient_INCLUDED