summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/applescript/element_applescript.mm
blob: 270fd25b83272b61c9b3c6df898ef6e52f837848 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Copyright (c) 2010 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 "chrome/browser/cocoa/applescript/element_applescript.h"

@implementation ElementAppleScript

@synthesize uniqueID = uniqueID_;
@synthesize container = container_;
@synthesize containerProperty = containerProperty_;

// calling objectSpecifier asks an object to return an object specifier
// record referring to itself.  You must call setContainer:property: before
// you can call this method.
- (NSScriptObjectSpecifier*)objectSpecifier {
  return [[NSUniqueIDSpecifier allocWithZone:[self zone]]
                  initWithContainerClassDescription:
      (NSScriptClassDescription*)[[self container] classDescription]
                                 containerSpecifier:
                                    [[self container] objectSpecifier]
                                                key:[self containerProperty]
                                           uniqueID:[self uniqueID]];
}

- (void)setContainer:(id)value property:(NSString*)property {
  [self setContainer:value];
  [self setContainerProperty:property];
}

- (void)dealloc {
  [uniqueID_ release];
  [container_ release];
  [containerProperty_ release];
  [super dealloc];
}

@end