Skip to content

Commit 7967600

Browse files
authored
Merge pull request #248 from thomas-brunel/feat/connection_url_event
[ChargePointEventsHandler] Event when the connection URL detected
2 parents 95b438b + 5ea5dda commit 7967600

File tree

6 files changed

+27
-0
lines changed

6 files changed

+27
-0
lines changed

examples/common/DefaultChargePointEventsHandler.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ DefaultChargePointEventsHandler::DefaultChargePointEventsHandler(ChargePointDemo
6161
/** @brief Destructor */
6262
DefaultChargePointEventsHandler::~DefaultChargePointEventsHandler() { }
6363

64+
/** @copydoc void IChargePointEventsHandler::connectionUrlChanged(std::string const&) */
65+
void DefaultChargePointEventsHandler::connectionUrlChanged(std::string const& url)
66+
{
67+
cout << "Connection url changed to : " << url << endl;
68+
}
69+
6470
/** @copydoc void IChargePointEventsHandler::connectionStateChanged(ocpp::types::RegistrationStatus) */
6571
void DefaultChargePointEventsHandler::connectionFailed(ocpp::types::RegistrationStatus status)
6672
{

examples/common/DefaultChargePointEventsHandler.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ class DefaultChargePointEventsHandler : public ocpp::chargepoint::IChargePointEv
4848

4949
// IChargePointEventsHandler interface
5050

51+
/** @copydoc void IChargePointEventsHandler::connectionUrlChanged(std::string const&) */
52+
void connectionUrlChanged(std::string const& url) override;
53+
5154
/** @copydoc void IChargePointEventsHandler::connectionStateChanged(ocpp::types::RegistrationStatus) */
5255
void connectionFailed(ocpp::types::RegistrationStatus status) override;
5356

src/chargepoint/ChargePoint.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1155,6 +1155,9 @@ bool ChargePoint::doConnect()
11551155

11561156
// Reset registration status
11571157
m_internal_config.setKey(LAST_REGISTRATION_STATUS_KEY, RegistrationStatusHelper.toString(RegistrationStatus::Rejected));
1158+
1159+
// Notify that the connection URL has changed
1160+
m_events_handler.connectionUrlChanged(connection_url);
11581161

11591162
LOG_INFO << "Connection URL has changed, reset registration status";
11601163
}

src/chargepoint/interface/IChargePointEventsHandler.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ class IChargePointEventsHandler
3939
/** @brief Destructor */
4040
virtual ~IChargePointEventsHandler() { }
4141

42+
/**
43+
* @brief Called when the connection URL has changed
44+
* @param url New connection URL
45+
*/
46+
virtual void connectionUrlChanged(std::string const& url) = 0;
47+
4248
/**
4349
* @brief Called when the first attempt to connect to the central system has failed
4450
* @param status Previous registration status (if Accepted, some offline operations are allowed)

tests/stubs/ChargePointEventsHandlerStub.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ ChargePointEventsHandlerStub::ChargePointEventsHandlerStub()
3838
/** @brief Destructor */
3939
ChargePointEventsHandlerStub::~ChargePointEventsHandlerStub() { }
4040

41+
/** @copydoc void IChargePointEventsHandler::connectionUrlChanged(std::string const&) */
42+
void ChargePointEventsHandlerStub::connectionUrlChanged(std::string const& url)
43+
{
44+
m_calls["connectionUrlChanged"] = {{"url", url}};
45+
}
46+
4147
/** @copydoc void IChargePointEventsHandler::connectionStateChanged(ocpp::types::RegistrationStatus) */
4248
void ChargePointEventsHandlerStub::connectionFailed(ocpp::types::RegistrationStatus status)
4349
{

tests/stubs/ChargePointEventsHandlerStub.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ class ChargePointEventsHandlerStub : public ocpp::chargepoint::IChargePointEvent
3535

3636
// IChargePointEventsHandler interface
3737

38+
/** @copydoc void IChargePointEventsHandler::connectionUrlChanged(std::string const&) */
39+
void connectionUrlChanged(std::string const& url) override;
40+
3841
/** @copydoc void IChargePointEventsHandler::connectionStateChanged(ocpp::types::RegistrationStatus) */
3942
void connectionFailed(ocpp::types::RegistrationStatus status) override;
4043

0 commit comments

Comments
 (0)