root/Tuna/trunk/TNPerlTree.m

Revision 5220, 2.5 kB (checked in by morris, 7 months ago)

Separate generic data model to TunaKit?.framework, and support plugins using this framework

  • Property svn:keywords set to Id Rev
Line 
1 /* $Id$ */
2
3 /*
4  *  Copyright (c) 2005-2008 Axel Andersson
5  *  All rights reserved.
6  *
7  *  Redistribution and use in source and binary forms, with or without
8  *  modification, are permitted provided that the following conditions
9  *  are met:
10  *  1. Redistributions of source code must retain the above copyright
11  *     notice, this list of conditions and the following disclaimer.
12  *  2. Redistributions in binary form must reproduce the above copyright
13  *     notice, this list of conditions and the following disclaimer in the
14  *     documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
20  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
25  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26  * POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 #import "TNPerlNode.h"
30 #import "TNPerlTree.h"
31
32 @implementation TNPerlTree
33
34 + (Class)nodeClass {
35         return [TNPerlNode class];
36 }
37
38
39
40 #pragma mark -
41
42 - (id)init {
43         self = [super init];
44        
45         _variables      = [[NSMutableDictionary alloc] initWithCapacity:10];
46
47         return self;
48 }
49
50
51
52 - (void)dealloc {
53         [_variables release];
54        
55         [super dealloc];
56 }
57
58
59
60
61 #pragma mark -
62
63 - (NSString *)version {
64         return [_variables objectForKey:@"XS_VERSION"];
65 }
66
67
68
69 - (NSUInteger)frequency {
70         return [[_variables objectForKey:@"hz"] unsignedIntegerValue];
71 }
72
73
74
75 - (NSTimeInterval)userTime {
76         NSTimeInterval          secondsPerTicks;
77        
78         secondsPerTicks = 1.0 / (NSTimeInterval) [self frequency];
79        
80         return secondsPerTicks * [[_variables objectForKey:@"rrun_utime"] unsignedIntegerValue];
81 }
82
83
84
85 - (NSTimeInterval)systemTime {
86         NSTimeInterval          secondsPerTicks;
87        
88         secondsPerTicks = 1.0 / (NSTimeInterval) [self frequency];
89        
90         return secondsPerTicks * [[_variables objectForKey:@"rrun_stime"] unsignedIntegerValue];
91 }
92
93
94
95 - (NSTimeInterval)wallclockTime {
96         NSTimeInterval          secondsPerTicks;
97        
98         secondsPerTicks = 1.0 / (NSTimeInterval) [self frequency];
99        
100         return secondsPerTicks * [[_variables objectForKey:@"rrun_rtime"] unsignedIntegerValue];
101 }
102
103 @end
Note: See TracBrowser for help on using the browser.