LCOV - code coverage report
Current view: top level - source/extensions/compression/common/decompressor - factory_base.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 5 11 45.5 %
Date: 2024-01-05 06:35:25 Functions: 9 12 75.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/compression/decompressor/config.h"
       4             : 
       5             : namespace Envoy {
       6             : namespace Extensions {
       7             : namespace Compression {
       8             : namespace Common {
       9             : namespace Decompressor {
      10             : 
      11             : template <class ConfigProto>
      12             : class DecompressorLibraryFactoryBase
      13             :     : public Envoy::Compression::Decompressor::NamedDecompressorLibraryConfigFactory {
      14             : public:
      15             :   Envoy::Compression::Decompressor::DecompressorFactoryPtr
      16             :   createDecompressorFactoryFromProto(const Protobuf::Message& proto_config,
      17           0 :                                      Server::Configuration::FactoryContext& context) override {
      18           0 :     return createDecompressorFactoryFromProtoTyped(
      19           0 :         MessageUtil::downcastAndValidate<const ConfigProto&>(proto_config,
      20           0 :                                                              context.messageValidationVisitor()),
      21           0 :         context);
      22           0 :   }
      23             : 
      24           3 :   ProtobufTypes::MessagePtr createEmptyConfigProto() override {
      25           3 :     return std::make_unique<ConfigProto>();
      26           3 :   }
      27             : 
      28         114 :   std::string name() const override { return name_; }
      29             : 
      30             : protected:
      31           6 :   DecompressorLibraryFactoryBase(const std::string& name) : name_(name) {}
      32             : 
      33             : private:
      34             :   virtual Envoy::Compression::Decompressor::DecompressorFactoryPtr
      35             :   createDecompressorFactoryFromProtoTyped(const ConfigProto& proto_config,
      36             :                                           Server::Configuration::FactoryContext& context) PURE;
      37             : 
      38             :   const std::string name_;
      39             : };
      40             : 
      41             : } // namespace Decompressor
      42             : } // namespace Common
      43             : } // namespace Compression
      44             : } // namespace Extensions
      45             : } // namespace Envoy

Generated by: LCOV version 1.15