chromium/net/third_party/quiche/src/quiche/http2/test_tools/http2_frame_decoder_listener_test_util.h

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

#ifndef QUICHE_HTTP2_TEST_TOOLS_HTTP2_FRAME_DECODER_LISTENER_TEST_UTIL_H_
#define QUICHE_HTTP2_TEST_TOOLS_HTTP2_FRAME_DECODER_LISTENER_TEST_UTIL_H_

#include <stddef.h>

#include <cstdint>

#include "quiche/http2/decoder/http2_frame_decoder_listener.h"
#include "quiche/http2/http2_constants.h"
#include "quiche/http2/http2_structures.h"
#include "quiche/common/platform/api/quiche_export.h"

namespace http2 {

// Fail if any of the methods are called. Allows a test to override only the
// expected calls.
class QUICHE_NO_EXPORT FailingHttp2FrameDecoderListener
    : public Http2FrameDecoderListener {};

// QUICHE_VLOG's all the calls it receives, and forwards those calls to an
// optional listener.
class QUICHE_NO_EXPORT LoggingHttp2FrameDecoderListener
    : public Http2FrameDecoderListener {};

}  // namespace http2

#endif  // QUICHE_HTTP2_TEST_TOOLS_HTTP2_FRAME_DECODER_LISTENER_TEST_UTIL_H_