chromium/third_party/blink/common/media/watch_time_component.cc

// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "third_party/blink/public/common/media/watch_time_component.h"

#include "base/time/time.h"
#include "third_party/blink/public/common/common_export.h"
#include "third_party/blink/public/common/media/display_type.h"

namespace blink {

template <typename T>
WatchTimeComponent<T>::WatchTimeComponent(
    T initial_value,
    std::vector<media::WatchTimeKey> keys_to_finalize,
    ValueToKeyCB value_to_key_cb,
    GetMediaTimeCB get_media_time_cb,
    media::mojom::WatchTimeRecorder* recorder)
    :{}

template <typename T>
WatchTimeComponent<T>::~WatchTimeComponent() = default;

template <typename T>
void WatchTimeComponent<T>::OnReportingStarted(
    base::TimeDelta start_timestamp) {}

template <typename T>
void WatchTimeComponent<T>::SetPendingValue(T new_value) {}

template <typename T>
void WatchTimeComponent<T>::SetCurrentValue(T new_value) {}

template <typename T>
void WatchTimeComponent<T>::RecordWatchTime(base::TimeDelta current_timestamp) {}

template <typename T>
void WatchTimeComponent<T>::Finalize(
    std::vector<media::WatchTimeKey>* keys_to_finalize) {}

template <typename T>
bool WatchTimeComponent<T>::NeedsFinalize() const {}

// Required to avoid linking errors since we've split this file into a .cc + .h
// file set instead of putting the function definitions in the header file. Any
// new component type must be added here.
//
// Note: These must be the last line in this file, otherwise you will also see
// linking errors since the templates won't have been fully defined prior.
template class BLINK_COMMON_EXPORT WatchTimeComponent<bool>;
template class BLINK_COMMON_EXPORT WatchTimeComponent<DisplayType>;

}  // namespace blink