19 #ifndef PULSAR_AUTHENTICATION_H_ 20 #define PULSAR_AUTHENTICATION_H_ 25 #include <boost/shared_ptr.hpp> 26 #include <pulsar/Result.h> 27 #include <boost/make_shared.hpp> 29 #pragma GCC visibility push(default) 39 virtual bool hasDataForTls();
40 virtual std::string getTlsCertificates();
41 virtual std::string getTlsPrivateKey();
42 virtual bool hasDataForHttp();
43 virtual std::string getHttpAuthType();
44 virtual std::string getHttpHeaders();
45 virtual bool hasDataFromCommand();
46 virtual std::string getCommandData();
51 typedef boost::shared_ptr<AuthenticationDataProvider> AuthenticationDataPtr;
52 typedef boost::shared_ptr<Authentication> AuthenticationPtr;
53 typedef std::map<std::string, std::string> ParamMap;
58 virtual const std::string getAuthMethodName()
const = 0;
59 virtual Result getAuthData(AuthenticationDataPtr& authDataContent)
const {
60 authDataContent = authData_;
65 AuthenticationDataPtr authData_;
71 static AuthenticationPtr Disabled();
72 static AuthenticationPtr create(
const std::string& dynamicLibPath);
73 static AuthenticationPtr create(
const std::string& dynamicLibPath,
const std::string& authParamsString);
74 static AuthenticationPtr create(
const std::string& dynamicLibPath, ParamMap& params);
77 static bool isShutdownHookRegistered_;
78 static std::vector<void *> loadedLibrariesHandles_;
79 static void release_handles();
84 #pragma GCC visibility pop Definition: Authentication.h:31
Definition: Authentication.h:55
Definition: Authentication.h:69
Result
Definition: Result.h:31
Definition: Authentication.h:36
Definition: ClientConfiguration.h:27