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 10 CommandObserverBridge::CommandObserverBridge( 11 id<CommandObserverProtocol> observer, CommandUpdater* commands) 12 : observer_(observer), commands_(commands) { 13 DCHECK(observer_ && commands_); 14 } 15 16 CommandObserverBridge::~CommandObserverBridge() { 17 // Unregister the notifications 18 commands_->RemoveCommandObserver(this); 19 } 20 21 void CommandObserverBridge::ObserveCommand(int command) { 22 commands_->AddCommandObserver(command, this); 23 } 24 25 void CommandObserverBridge::EnabledStateChangedForCommand(int command, 26 bool enabled) { 27 [observer_ enabledStateChangedForCommand:command 28 enabled:enabled ? YES : NO]; 29 } 30