ControllerChangeNotifier.cpp 1011 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "ControllerChangeNotifier.hpp"
  2. #include "PubSubWriter.hpp"
  3. namespace ZeroTier {
  4. PubSubChangeNotifier::PubSubChangeNotifier(
  5. std::string controllerID,
  6. std::string project,
  7. std::string memberChangeTopic,
  8. std::string networkChangeTopic)
  9. : ControllerChangeNotifier()
  10. , _networkChangeWriter(std::make_shared<PubSubWriter>(project, networkChangeTopic, controllerID))
  11. , _memberChangeWriter(std::make_shared<PubSubWriter>(project, memberChangeTopic, controllerID))
  12. {
  13. }
  14. PubSubChangeNotifier::~PubSubChangeNotifier()
  15. {
  16. }
  17. void PubSubChangeNotifier::notifyNetworkChange(
  18. const nlohmann::json& oldNetwork,
  19. const nlohmann::json& newNetwork,
  20. const std::string& frontend)
  21. {
  22. _networkChangeWriter->publishNetworkChange(oldNetwork, newNetwork, frontend);
  23. }
  24. void PubSubChangeNotifier::notifyMemberChange(
  25. const nlohmann::json& oldMember,
  26. const nlohmann::json newMember,
  27. const std::string& frontend)
  28. {
  29. _memberChangeWriter->publishMemberChange(oldMember, newMember, frontend);
  30. }
  31. } // namespace ZeroTier