Home | History | Annotate | Download | only in mac
      1 // Copyright (c) 2012 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 // GTM also maintinas a list of empty protocols, but only the ones the library
     11 // requires. Augment that below.
     12 #import "third_party/GTM/GTMDefines.h"
     13 
     14 // New Mac OS X SDKs introduce new protocols used for delegates.  These
     15 // protocol defintions aren't not present in earlier releases of the Mac OS X
     16 // SDK.  In order to support building against the new SDK, which requires
     17 // delegates to conform to these protocols, and earlier SDKs, which do not
     18 // define these protocols at all, this file will provide empty protocol
     19 // definitions when used with earlier SDK versions.
     20 
     21 #define DEFINE_EMPTY_PROTOCOL(p) \
     22 @protocol p \
     23 @end
     24 
     25 #if !defined(MAC_OS_X_VERSION_10_7) || \
     26     MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7
     27 
     28 DEFINE_EMPTY_PROTOCOL(NSDraggingDestination)
     29 DEFINE_EMPTY_PROTOCOL(ICCameraDeviceDownloadDelegate)
     30 
     31 #endif  // MAC_OS_X_VERSION_10_7
     32 
     33 #if !defined(MAC_OS_X_VERSION_10_8) || \
     34     MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_8
     35 
     36 DEFINE_EMPTY_PROTOCOL(NSUserNotificationCenterDelegate)
     37 
     38 #endif  // MAC_OS_X_VERSION_10_8
     39 
     40 #undef DEFINE_EMPTY_PROTOCOL
     41 
     42 #endif  // BASE_COCOA_PROTOCOLS_MAC_H_
     43