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 maintains a list of empty protocols, but only the ones the library
11// requires. Augment that below.
12#import "third_party/google_toolbox_for_mac/src/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
28DEFINE_EMPTY_PROTOCOL(NSDraggingDestination)
29DEFINE_EMPTY_PROTOCOL(ICCameraDeviceDownloadDelegate)
30
31#endif  // MAC_OS_X_VERSION_10_7
32
33#undef DEFINE_EMPTY_PROTOCOL
34
35#endif  // BASE_COCOA_PROTOCOLS_MAC_H_
36