libqi-api  2.4.3.28
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
clientauthenticator.hpp
Go to the documentation of this file.
1 #pragma once
2 /*
3 ** Copyright (C) 2014 Aldebaran Robotics
4 ** See COPYING for the license
5 */
6 
7 #ifndef _QI_MESSAGING_CLIENTAUTHENTICATOR_HPP_
8 #define _QI_MESSAGING_CLIENTAUTHENTICATOR_HPP_
9 
10 #include <boost/shared_ptr.hpp>
11 
12 #include <qi/api.hpp>
13 #include <qi/anyvalue.hpp>
14 
15 namespace qi
16 {
17  typedef std::map<std::string, AnyValue> CapabilityMap;
18 
20  {
21  public:
22  virtual ~ClientAuthenticator() {}
23 
24  virtual CapabilityMap initialAuthData();
25  CapabilityMap processAuth(const CapabilityMap& authData);
26 
27  protected:
35  virtual CapabilityMap _processAuth(const CapabilityMap& authData) = 0;
36  };
37 
38  typedef boost::shared_ptr<ClientAuthenticator> ClientAuthenticatorPtr;
39 
40 }
41 
42 #endif
#define QI_API
Definition: api.hpp:34
dll import/export and compiler message
std::map< std::string, AnyValue > CapabilityMap
boost::shared_ptr< ClientAuthenticator > ClientAuthenticatorPtr