| Index: chrome/browser/cocoa/command_observer_bridge.h
|
| ===================================================================
|
| --- chrome/browser/cocoa/command_observer_bridge.h (revision 0)
|
| +++ chrome/browser/cocoa/command_observer_bridge.h (revision 0)
|
| @@ -0,0 +1,41 @@
|
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#import <Cocoa/Cocoa.h>
|
| +
|
| +#include "chrome/browser/command_updater.h"
|
| +
|
| +@protocol CommandObserverProtocol;
|
| +
|
| +// A C++ bridge class that handles listening for updates to commands and
|
| +// passing them back to an object that supports the protocol delcared below.
|
| +// The observer will create one of these bridges, call ObserveCommand() on the
|
| +// command ids it cares about, and then wait for update notifications,
|
| +// delivered via -enabledStateChangedForCommand:enabled:. Destroying this
|
| +// bridge will handle automatically unregistering for updates, so there's no
|
| +// need to do that manually.
|
| +
|
| +class CommandObserverBridge : public CommandUpdater::CommandObserver {
|
| + public:
|
| + CommandObserverBridge(id<CommandObserverProtocol> observer,
|
| + CommandUpdater* commands);
|
| + virtual ~CommandObserverBridge();
|
| +
|
| + // Register for updates about |command|.
|
| + void ObserveCommand(int command);
|
| +
|
| + protected:
|
| + // Overridden from CommandUpdater::CommandObserver
|
| + virtual void EnabledStateChangedForCommand(int command, bool enabled);
|
| +
|
| + private:
|
| + id<CommandObserverProtocol> observer_; // weak, owns me
|
| + CommandUpdater* commands_; // weak
|
| +};
|
| +
|
| +// Implemented by the observing Objective-C object, called when there is a
|
| +// state change for the given command.
|
| +@protocol CommandObserverProtocol
|
| +- (void)enabledStateChangedForCommand:(NSInteger)command enabled:(BOOL)enabled;
|
| +@end
|
|
|
| Property changes on: chrome/browser/cocoa/command_observer_bridge.h
|
| ___________________________________________________________________
|
| Name: svn:eol-style
|
| + LF
|
|
|
|
|