1// Copyright (c) 2009 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#import "chrome/browser/ui/cocoa/command_observer_bridge.h"
6#include "chrome/browser/command_updater.h"
7
8#include "base/logging.h"
9
10CommandObserverBridge::CommandObserverBridge(
11    id<CommandObserverProtocol> observer, CommandUpdater* commands)
12        : observer_(observer), commands_(commands) {
13  DCHECK(observer_ && commands_);
14}
15
16CommandObserverBridge::~CommandObserverBridge() {
17  // Unregister the notifications
18  commands_->RemoveCommandObserver(this);
19}
20
21void CommandObserverBridge::ObserveCommand(int command) {
22  commands_->AddCommandObserver(command, this);
23}
24
25void CommandObserverBridge::EnabledStateChangedForCommand(int command,
26                                                          bool enabled) {
27  [observer_ enabledStateChangedForCommand:command
28                                   enabled:enabled ? YES : NO];
29}
30