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 #ifndef BASE_COCOA_PROTOCOLS_MAC_H_ 6 #define BASE_COCOA_PROTOCOLS_MAC_H_ 7 8 #import <Cocoa/Cocoa.h> 9 10 // The Mac OS X 10.6 SDK introduced new protocols used for delegates. These 11 // protocol defintions were not present in earlier releases of the Mac OS X 12 // SDK. In order to support building against the new SDK, which requires 13 // delegates to conform to these protocols, and earlier SDKs, which do not 14 // define these protocols at all, this file will provide empty protocol 15 // definitions when used with earlier SDK versions. 16 17 #if !defined(MAC_OS_X_VERSION_10_6) || \ 18 MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6 19 20 #define DEFINE_EMPTY_PROTOCOL(p) \ 21 @protocol p \ 22 @end 23 24 DEFINE_EMPTY_PROTOCOL(NSAlertDelegate) 25 DEFINE_EMPTY_PROTOCOL(NSAnimationDelegate) 26 DEFINE_EMPTY_PROTOCOL(NSControlTextEditingDelegate) 27 DEFINE_EMPTY_PROTOCOL(NSMatrixDelegate) 28 DEFINE_EMPTY_PROTOCOL(NSMenuDelegate) 29 DEFINE_EMPTY_PROTOCOL(NSOutlineViewDelegate) 30 DEFINE_EMPTY_PROTOCOL(NSTableViewDataSource) 31 DEFINE_EMPTY_PROTOCOL(NSTableViewDelegate) 32 DEFINE_EMPTY_PROTOCOL(NSTextFieldDelegate) 33 DEFINE_EMPTY_PROTOCOL(NSTextViewDelegate) 34 DEFINE_EMPTY_PROTOCOL(NSWindowDelegate) 35 36 #undef DEFINE_EMPTY_PROTOCOL 37 38 #endif 39 40 #endif // BASE_COCOA_PROTOCOLS_MAC_H_ 41