Skip to content

Commit 7587c25

Browse files
committed
refactor: Consolidate display notification methods into a single NotifyListeners function for improved code clarity and maintainability
1 parent 526c1aa commit 7587c25

File tree

3 files changed

+8
-12
lines changed

3 files changed

+8
-12
lines changed

src/display_manager.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,10 @@ void DisplayManager::RemoveListener(DisplayListener* listener) {
1111
listeners_.end());
1212
}
1313

14-
void DisplayManager::NotifyDisplayAdded(const Display& display) {
14+
void DisplayManager::NotifyListeners(
15+
std::function<void(DisplayListener*)> callback) {
1516
for (const auto& listener : listeners_) {
16-
listener->OnDisplayAdded(display);
17-
}
18-
}
19-
20-
void DisplayManager::NotifyDisplayRemoved(const Display& display) {
21-
for (const auto& listener : listeners_) {
22-
listener->OnDisplayRemoved(display);
17+
callback(listener);
2318
}
2419
}
2520

src/display_manager.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ class DisplayManager {
4242
private:
4343
std::vector<Display> displays_;
4444
std::vector<DisplayListener*> listeners_;
45-
void NotifyDisplayAdded(const Display& display);
46-
void NotifyDisplayRemoved(const Display& display);
45+
void NotifyListeners(std::function<void(DisplayListener*)> callback);
4746
};
4847

4948
// DisplayEventHandler is an implementation of DisplayListener that uses

src/display_manager_macos.mm

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ static Display CreateDisplayFromNSScreen(NSScreen* screen, bool isPrimary) {
6767
old_ids.insert(d.id);
6868
for (const auto& d : new_displays) {
6969
if (old_ids.find(d.id) == old_ids.end()) {
70-
NotifyDisplayAdded(d);
70+
NotifyListeners(
71+
[d](DisplayListener* listener) { listener->OnDisplayAdded(d); });
7172
}
7273
}
7374

@@ -77,7 +78,8 @@ static Display CreateDisplayFromNSScreen(NSScreen* screen, bool isPrimary) {
7778
new_ids.insert(d.id);
7879
for (const auto& d : old_displays) {
7980
if (new_ids.find(d.id) == new_ids.end()) {
80-
NotifyDisplayRemoved(d);
81+
NotifyListeners(
82+
[d](DisplayListener* listener) { listener->OnDisplayRemoved(d); });
8183
}
8284
}
8385

0 commit comments

Comments
 (0)