agent/native/libcommon/code/PhpBridgeInterface.h (19 lines of code) (raw):

#pragma once #include <chrono> #include <string> #include <vector> namespace elasticapm::php { class PhpBridgeInterface { public: struct phpExtensionInfo_t { std::string name; std::string version; }; virtual ~PhpBridgeInterface() = default; virtual bool callInferredSpans(std::chrono::milliseconds duration) const = 0; virtual std::vector<phpExtensionInfo_t> getExtensionList() const = 0; virtual std::string getPhpInfo() const = 0; virtual std::string_view getPhpSapiName() const = 0; virtual bool isExtensionLoaded(std::string_view extensionName) const = 0; }; }