// 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. #ifndef BASE_COCOA_PROTOCOLS_MAC_H_ #define BASE_COCOA_PROTOCOLS_MAC_H_ #pragma once #import <Cocoa/Cocoa.h> // GTM also maintinas a list of empty protocols, but only the ones the library // requires. Augment that below. #import "third_party/GTM/GTMDefines.h" // The Mac OS X 10.6 SDK introduced new protocols used for delegates. These // protocol defintions were not present in earlier releases of the Mac OS X // SDK. In order to support building against the new SDK, which requires // delegates to conform to these protocols, and earlier SDKs, which do not // define these protocols at all, this file will provide empty protocol // definitions when used with earlier SDK versions. #if !defined(MAC_OS_X_VERSION_10_6) || \ MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6 #define DEFINE_EMPTY_PROTOCOL(p) \ @protocol p \ @end DEFINE_EMPTY_PROTOCOL(NSAlertDelegate) DEFINE_EMPTY_PROTOCOL(NSApplicationDelegate) DEFINE_EMPTY_PROTOCOL(NSControlTextEditingDelegate) DEFINE_EMPTY_PROTOCOL(NSMatrixDelegate) DEFINE_EMPTY_PROTOCOL(NSMenuDelegate) DEFINE_EMPTY_PROTOCOL(NSOpenSavePanelDelegate) DEFINE_EMPTY_PROTOCOL(NSOutlineViewDataSource) DEFINE_EMPTY_PROTOCOL(NSOutlineViewDelegate) DEFINE_EMPTY_PROTOCOL(NSTableViewDataSource) DEFINE_EMPTY_PROTOCOL(NSTableViewDelegate) DEFINE_EMPTY_PROTOCOL(NSTextFieldDelegate) DEFINE_EMPTY_PROTOCOL(NSTextViewDelegate) DEFINE_EMPTY_PROTOCOL(NSWindowDelegate) #undef DEFINE_EMPTY_PROTOCOL #endif #endif // BASE_COCOA_PROTOCOLS_MAC_H_