17 #ifndef IENDPOINTREGISTRATIONMANAGER_HPP_ 
   18 #define IENDPOINTREGISTRATIONMANAGER_HPP_ 
   31 class IAttachedEndpointListListener;
 
   32 class IEndpointAttachStatusListener;
 
   37 class IEndpointRegistrationManager
 
   43     virtual void regenerateEndpointAccessToken() = 0;
 
   48     virtual const std::string& getEndpointAccessToken() = 0;
 
   57     virtual void attachEndpoint(
const std::string&  endpointAccessToken
 
   58                               , IEndpointAttachStatusListener* listener = 
nullptr) = 0;
 
   67     virtual void detachEndpoint(
const std::string&  endpointKeyHash
 
   68                               , IEndpointAttachStatusListener* listener = 
nullptr) = 0;
 
   75     virtual void detachEndpoint(IEndpointAttachStatusListener* listener = 
nullptr) = 0;
 
   85     virtual void attachUser(
const std::string& userExternalId
 
   86                           , 
const std::string& userAccessToken
 
   87                           , IEndpointAttachStatusListener* listener = 
nullptr) = 0;
 
  101     virtual void addAttachedEndpointListListener(IAttachedEndpointListListener *listener) = 0;
 
  108     virtual void removeAttachedEndpointListListener(IAttachedEndpointListListener *listener) = 0;
 
  113     virtual bool isCurrentEndpointAttached() = 0;
 
  121     virtual void setAttachStatusListener(IEndpointAttachStatusListener* listener) = 0;
 
  123     virtual ~IEndpointRegistrationManager() {}
 
std::map< std::string, std::string > AttachedEndpoints