// Copyright (c) 2011 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 "ui/base/accelerators/platform_accelerator_cocoa.h" #include "base/memory/scoped_ptr.h" namespace ui { PlatformAcceleratorCocoa::PlatformAcceleratorCocoa() : modifier_mask_(0) { } PlatformAcceleratorCocoa::PlatformAcceleratorCocoa(NSString* key_code, NSUInteger modifier_mask) : characters_([key_code copy]), modifier_mask_(modifier_mask) { } PlatformAcceleratorCocoa::~PlatformAcceleratorCocoa() { } scoped_ptr PlatformAcceleratorCocoa::CreateCopy() const { scoped_ptr copy(new PlatformAcceleratorCocoa); copy->characters_.reset([characters_ copy]); copy->modifier_mask_ = modifier_mask_; return scoped_ptr(copy.release()); } bool PlatformAcceleratorCocoa::Equals(const PlatformAccelerator& rhs) const { const PlatformAcceleratorCocoa& rhs_cocoa = static_cast(rhs); return [characters_ isEqualToString:rhs_cocoa.characters_] && modifier_mask_ == rhs_cocoa.modifier_mask_; } } // namespace ui