1// Copyright (c) 2010 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 CHROME_BROWSER_UI_COCOA_APPLESCRIPT_ELEMENT_APPLESCRIPT_H_
6#define CHROME_BROWSER_UI_COCOA_APPLESCRIPT_ELEMENT_APPLESCRIPT_H_
7
8#import <Cocoa/Cocoa.h>
9
10// This class is the root class for all the other applescript classes.
11// It takes care of all the infrastructure type operations.
12@interface ElementAppleScript : NSObject {
13 @protected
14  // Used by the applescript runtime to identify each unique scriptable object.
15  NSNumber* uniqueID_;
16  // Used by object specifier to find a scriptable object's place in a
17  // collection.
18  id container_;
19  NSString* containerProperty_;
20}
21
22@property(nonatomic, copy) NSNumber* uniqueID;
23@property(nonatomic, retain) id container;
24@property(nonatomic, copy) NSString* containerProperty;
25
26// Calculates the objectspecifier by using the uniqueID, container and
27// container property.
28// An object specifier is used to identify objects within a
29// collection.
30- (NSScriptObjectSpecifier*)objectSpecifier;
31
32// Sets both container and property, retains container and copies property.
33- (void)setContainer:(id)value property:(NSString*)property;
34
35@end
36
37#endif// CHROME_BROWSER_UI_COCOA_APPLESCRIPT_ELEMENT_APPLESCRIPT_H_
38