[29053] users/rhwood/MacPorts.Framework
source_changes at macosforge.org
source_changes at macosforge.org
Fri Sep 14 02:54:47 PDT 2007
Revision: 29053
http://trac.macosforge.org/projects/macports/changeset/29053
Author: rhwood at macports.org
Date: 2007-09-14 02:54:46 -0700 (Fri, 14 Sep 2007)
Log Message:
-----------
Cache the results of methods if they can reasonably be treated as static over the life of the process.
Add method [sources:(BOOL)refresh to allow call to sources that forces the method to refresh the cache.
Modified Paths:
--------------
users/rhwood/MacPorts.Framework/MPMacPorts.h
users/rhwood/MacPorts.Framework/MPMacPorts.m
Modified: users/rhwood/MacPorts.Framework/MPMacPorts.h
===================================================================
--- users/rhwood/MacPorts.Framework/MPMacPorts.h 2007-09-14 07:34:54 UTC (rev 29052)
+++ users/rhwood/MacPorts.Framework/MPMacPorts.h 2007-09-14 09:54:46 UTC (rev 29053)
@@ -14,11 +14,16 @@
MPInterpreter *interpreter;
+ NSString *prefix;
+ NSArray *sources;
+ NSString *version;
+
}
- (NSArray *)search:(NSString *)query;
- (NSString *)prefix;
+- (NSArray *)sources:(BOOL)refresh;
- (NSArray *)sources;
- (NSString *)pathToPortIndex:(NSString *)source;
- (NSString *)version;
Modified: users/rhwood/MacPorts.Framework/MPMacPorts.m
===================================================================
--- users/rhwood/MacPorts.Framework/MPMacPorts.m 2007-09-14 07:34:54 UTC (rev 29052)
+++ users/rhwood/MacPorts.Framework/MPMacPorts.m 2007-09-14 09:54:46 UTC (rev 29053)
@@ -35,11 +35,24 @@
#pragma settings
- (NSString *)prefix {
- return [interpreter getVariableAsString:@"macports::prefix_frozen"];
+ if (prefix == Nil) {
+ prefix = [interpreter getVariableAsString:@"macports::prefix_frozen"];
+ }
+ return prefix;
}
+- (NSArray *)sources:(BOOL)refresh {
+ if (refresh) {
+ [sources release];
+ }
+ return [self sources];
+}
+
- (NSArray *)sources {
- return [interpreter getVariableAsArray:@"macports::sources"];
+ if (sources == Nil) {
+ sources = [interpreter getVariableAsArray:@"macports::sources"];
+ }
+ return sources;
}
- (NSString *)pathToPortIndex:(NSString *)source {
@@ -51,7 +64,10 @@
}
- (NSString *)version {
- return [interpreter evaluateStringAsString:@"return [macports::version]"];
+ if (version == Nil) {
+ version = [interpreter evaluateStringAsString:@"return [macports::version]"];
+ }
+ return version;
}
@end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070914/8fa7e01b/attachment.html
More information about the macports-changes
mailing list