JD2022-TU1/main/extern/Hue/libhuestream/huestream/connect/DefaultConnectionFlowFactory.h

35 lines
1.2 KiB
C++

/*******************************************************************************
Copyright © 2017 Philips Lighting Holding B.V.
All Rights Reserved.
********************************************************************************/
#ifndef LIBHUESTREAM_DEFAULTCONNECTIONFLOWFACTORY_H
#define LIBHUESTREAM_DEFAULTCONNECTIONFLOWFACTORY_H
#include <huestream/connect/IConnectionFlowFactory.h>
#include <huestream/common/http/IHttp.h>
#include <huestream/connect/FullConfigRetriever.h>
#include "DefaultBridgeSearcher.h"
#include "DefaultAuthenticator.h"
namespace huestream {
namespace connectionflow {
class DefaultConnectionFlowFactory: public IConnectionFlowFactory {
public:
DefaultConnectionFlowFactory(HttpPtr http, MessageDispatcherPtr messageDispatcher, BridgeStorageAccessorPtr storageAccesser);
BridgeSearcherPtr CreateSearcher() override;
BridgeAuthenticatorPtr CreateAuthenticator() override;
MessageDispatcherPtr GetMessageDispatcher() override;
BridgeStorageAccessorPtr GetStorageAccesser() override;
FullConfigRetrieverPtr CreateFullConfigRetriever() override;
private:
HttpPtr _http;
MessageDispatcherPtr _messageDispatcher;
BridgeStorageAccessorPtr _storageAccesser;
};
}
}
#endif // LIBHUESTREAM_DEFAULTCONNECTIONFLOWFACTORY_H