18#include <boost/scoped_array.hpp>
21#include "mongo/base/disallow_copying.h"
22#include "mongo/base/status.h"
23#include "mongo/base/string_data.h"
24#include "mongo/client/export_macros.h"
25#include "mongo/stdx/functional.h"
45 typedef stdx::function<
SaslClientSession* (
const std::string&)> SaslClientSessionFactoryFn;
46 static SaslClientSessionFactoryFn create;
52 parameterServiceName = 0,
53 parameterServiceHostname,
113 virtual Status step(
const StringData& inputData, std::string* outputData) = 0;
125 boost::scoped_array<char> data;
130 DataBuffer _parameters[numParameters];
Base class for the client side of a SASL authentication conversation.
Definition sasl_client_session.h:42
virtual bool hasParameter(Parameter id)
Returns true if "id" identifies a parameter previously set by a call to setParameter().
virtual Status step(const StringData &inputData, std::string *outputData)=0
Takes one step of the SASL protocol on behalf of the client.
virtual bool isDone() const =0
Returns true if the authentication completed successfully.
virtual void setParameter(Parameter id, const StringData &value)
Sets the parameter identified by "id" to "value".
Parameter
Identifiers of parameters used to configure a SaslClientSession.
Definition sasl_client_session.h:51
virtual Status initialize()=0
Initializes a session for use.
virtual StringData getParameter(Parameter id)
Returns the value of a previously set parameter.
the main MongoDB namespace
Definition bulk_operation_builder.h:24
MONGO_CLIENT_API Status(MONGO_CLIENT_FUNC *saslClientAuthenticate)(DBClientWithCommands *client
Attempts to authenticate "client" using the SASL protocol.