Files
squeezelite-esp32/components/spotify/cspot/include/TimeProvider.h
2023-03-25 16:48:41 -07:00

34 lines
709 B
C++

#pragma once
#include <stdint.h>
#include <vector>
#include "Utils.h"
namespace cspot {
class TimeProvider {
private:
unsigned long long timestampDiff;
public:
/**
* @brief Bypasses the need for NTP server sync by syncing with spotify's servers
*
*/
TimeProvider();
/**
* @brief Syncs the TimeProvider with spotify server's timestamp
*
* @param pongPacket pong packet containing timestamp
*/
void syncWithPingPacket(const std::vector<uint8_t>& pongPacket);
/**
* @brief Get current timestamp synced with spotify servers
*
* @return unsigned long long timestamp
*/
unsigned long long getSyncedTimestamp();
};
} // namespace cspot