[37925] branches/gsoc08-framework/MacPorts.Framework

armahg at macports.org armahg at macports.org
Sun Jun 29 13:45:37 PDT 2008


Revision: 37925
          http://trac.macosforge.org/projects/macports/changeset/37925
Author:   armahg at macports.org
Date:     2008-06-29 13:45:37 -0700 (Sun, 29 Jun 2008)
Log Message:
-----------
Added more Documentation. Added Makefile for Tcl notifications package. Added MPNotificationsListener class.

Modified Paths:
--------------
    branches/gsoc08-framework/MacPorts.Framework/MPInterpreter.h
    branches/gsoc08-framework/MacPorts.Framework/MPInterpreterTest.m
    branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.h
    branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.m
    branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.h
    branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.m
    branches/gsoc08-framework/MacPorts.Framework/MPMutableDictionary.h
    branches/gsoc08-framework/MacPorts.Framework/MPPort.h
    branches/gsoc08-framework/MacPorts.Framework/MPPort.m
    branches/gsoc08-framework/MacPorts.Framework/MPRegistry.h
    branches/gsoc08-framework/MacPorts.Framework/MacPorts.Framework.xcodeproj/project.pbxproj
    branches/gsoc08-framework/MacPorts.Framework/MacPorts.h
    branches/gsoc08-framework/MacPorts.Framework/init.tcl
    branches/gsoc08-framework/MacPorts.Framework/notifications.m

Added Paths:
-----------
    branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.h
    branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.m
    branches/gsoc08-framework/MacPorts.Framework/Makefile

Modified: branches/gsoc08-framework/MacPorts.Framework/MPInterpreter.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPInterpreter.h	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPInterpreter.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -45,7 +45,7 @@
 #define	MPPackage			@"macports"
 #define MPPackageVersion	@"1.0"
 
-/*
+/*!
  @class MPInterpreter
  @abstract Tcl interpreter object
  @discussion Contains a shared per-thread instance of a Tcl interpreter. The MPInterpreter class
@@ -70,24 +70,24 @@
 
 #pragma Utilities
 
-/*
+/*!
  @brief Returns the NSstring result of evaluating a Tcl expression
  @param  statement An NSArray containing the Tcl expression
  */
 - (NSString *)evaluateArrayAsString:(NSArray *)statement;
-/*
+/*!
  @brief Returns the NSString result of evaluating a Tcl expression
  @param  statement An NSString containing the Tcl expression
  */
 - (NSString *)evaluateStringAsString:(NSString *)statement;
 
 
-/*
+/*!
  @brief Returns an NSArray whose elements are the the elements of a Tcl list in the form of an NSString
  @param list A Tcl list in the form of an NSString
  */
 - (NSArray *)arrayFromTclListAsString:(NSString *)list;
-/*
+/*!
  @brief Returns an NSDictionary whose elements are the the elements of a Tcl list in the form of an NSString
  @discussion The returned NSDictionary is of the form {k1, v1, k2, v2, ...} with ki being the keys and vi
  the values in the dictionary. These keys and values are obtained from an NSString Tcl list of the
@@ -95,19 +95,19 @@
  @param list A Tcl list in the form of an NSString
  */
 - (NSDictionary *)dictionaryFromTclListAsString:(NSString *)list;
-/*
+/*!
  @brief Same as dictionaryFromTclListAsString method. Returns an NSMutableDictionary
  rather than NSDictionary.
  */
 - (NSMutableDictionary *)mutableDictionaryFromTclListAsString:(NSString *)list;
 
 
-/*
+/*!
  @brief Returns an NSArray whose elements are the contents of a Tcl variable
  @param variable An NSString representation of a Tcl variable
  */
 - (NSArray *)getVariableAsArray:(NSString *)variable;
-/*
+/*!
  @brief Returns an NSString representation of a Tcl variable
  @param variable An NSString representtion of a Tcl variable
  */

Modified: branches/gsoc08-framework/MacPorts.Framework/MPInterpreterTest.m
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPInterpreterTest.m	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPInterpreterTest.m	2008-06-29 20:45:37 UTC (rev 37925)
@@ -61,13 +61,13 @@
 /*
  Having trouble coming up with test cases for the methods below. Speak to Randall
  about that.
- */
+ *
 - (void)testMutableDictionaryFromTclListAsString {
 	
 }
 - (void)testEvaluateStringAsString {
 	
 }
+*/
 
-
 @end

Modified: branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.h	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -33,6 +33,11 @@
  *	POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*!
+ @header 
+ MPMacPorts represents an installation of the MacPorts on a user's system. A user can have 
+ multiple MacPorts installations in different locations.
+ */
 
 #import <Cocoa/Cocoa.h>
 #import "MPInterpreter.h"
@@ -125,6 +130,29 @@
  */
 - (void)exec:(MPPort *)port withTarget:(NSString *)target;
 
+/*Convenience methods based on the exec: withTarget: method
+ I DON'T KNOW IF SOME OF OF THESE METHODS REQUIRE EXTRA ARGUMENTS
+ CHECK THAT WITH RANDALL
+ */
+-(void)configure:(MPPort *)port;
+-(void)build:(MPPort *)port;
+-(void)test:(MPPort *)port;
+-(void)destroot:(MPPort *)port;
+-(void)install:(MPPort *)port;
+-(void)archive:(MPPort *)port;
+-(void)createDmg:(MPPort *)port;
+-(void)createMdmg:(MPPort *)port;
+-(void)createPkg:(MPPort *)port;
+-(void)createMpkg:(MPPort *)port;
+-(void)createRpm:(MPPort *)port;
+-(void)createDpkg:(MPPort *)port;
+-(void)createSrpm:(MPPort *)port;
+
+
+
+
+
+
 /*!
  @brief Returns the NSString path to the directory where ports are installed.
  */

Modified: branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.m
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.m	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPMacPorts.m	2008-06-29 20:45:37 UTC (rev 37925)
@@ -137,7 +137,48 @@
 - (void)exec:(MPPort *)port withTarget:(NSString *)target {
 	return [port exec:target];
 }
+-(void)configure:(MPPort *)port {
+	[port configure];
+}
+-(void)build:(MPPort *)port {
+	[port build];
+}
+-(void)test:(MPPort *)port {
+	[port test];
+}
+-(void)destroot:(MPPort *)port {
+	[port destroot];
+}
+-(void)install:(MPPort *)port {
+	[port install];
+}
+-(void)archive:(MPPort *)port {
+	[port archive];
+}
+-(void)createDmg:(MPPort *)port {
+	[port createDmg];
+}
+-(void)createMdmg:(MPPort *)port {
+	[port createMdmg];
+}
+-(void)createPkg:(MPPort *)port {
+	[port createPkg];
+}
+-(void)createMpkg:(MPPort *)port {
+	[port createMpkg];
+}
+-(void)createRpm:(MPPort *)port {
+	[port createRpm];
+}
+-(void)createDpkg:(MPPort *)port {
+	[port createDpkg];
+}
+-(void)createSrpm:(MPPort *)port {
+	[port createSrpm];
+}
 
+
+
 #pragma settings
 
 - (NSString *)prefix {

Modified: branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.h	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -35,10 +35,24 @@
 
 #import <SenTestingKit/SenTestingKit.h>
 #import "MPMacPorts.h"
+#import "MPNotificationsListener.h"
 
 @interface MPMacPortsTest : SenTestCase {
 	MPMacPorts *testPort;
+	
+	//Create a Notifications Listener run tests then destroy it afterwards
+	MPNotificationsListener *testListener;
 }
 
+-(void) listenForPortSync;
+-(void) actOnPortSync:(NSNotification *)notificiation;
+-(void) testPortCreation;
+-(void) testPrefix;
+-(void) testSources;
+-(void) testPathToPortIndex;
+//-(void) testDepends;
+-(void) testSearch;
+-(void) testSync;
+-(void) testVersion;
 
 @end

Modified: branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.m
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.m	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPMacPortsTest.m	2008-06-29 20:45:37 UTC (rev 37925)
@@ -1,21 +1,51 @@
-//
-//  MPMacPortsTest.m
-//  MacPorts.Framework
-//
-//  Created by George  Armah on 6/2/08.
-//  Copyright 2008 __MyCompanyName__. All rights reserved.
-//
+/*
+ *	$Id:$
+ *	MacPorts.Framework
+ *
+ *	Authors:
+ *	George Armah <armahg at macports.org>
+ *
+ *	Copyright (c) 2008 George Armah <armahg at macports.org>
+ *	All rights reserved.
+ *
+ *	Redistribution and use in source and binary forms, with or without
+ *	modification, are permitted provided that the following conditions
+ *	are met:
+ *	1.	Redistributions of source code must retain the above copyright
+ *		notice, this list of conditions and the following disclaimer.
+ *	2.	Redistributions in binary form must reproduce the above copyright
+ *		notice, this list of conditions and the following disclaimer in the
+ *		documentation and/or other materials provided with the distribution.
+ *	3.	Neither the name of the copyright owner nor the names of contributors
+ *		may be used to endorse or promote products derived from this software
+ *		without specific prior written permission.
+ * 
+ *	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ *	AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ *	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ *	ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ *	LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ *	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ *	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ *	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ *	POSSIBILITY OF SUCH DAMAGE.
+ */
 
 #import "MPMacPortsTest.h"
 
 
 @implementation MPMacPortsTest
 - (void) setUp {
-	testPort = [[MPMacPorts alloc] init];
+	testPort = [MPMacPorts sharedInstance];
+	testListener = [[MPNotificationsListener alloc] init];
+	[self listenForPortSync];
 }
 
 - (void) tearDown {
 	[testPort release];
+	[testListener release];
 }
 
 
@@ -26,9 +56,61 @@
 
 - (void) testPrefix {
 	NSString *prefix = [testPort prefix];
-	STAssertNil(prefix, @" %@ should not be nil", prefix);
-	[prefix release];
+	//Find out why prefix returns nil
+	STAssertNotNil(prefix, @" %@ should not be nil", prefix);
 }
 
- 
+
+-(void) testSources{	
+	NSArray *sourcesArray = [testPort sources];
+	STAssertNotNil(sourcesArray, @"Sources array should not be nil");
+	//NSLog(@"STUFF IS %@, %d",[sourcesArray objectAtIndex:0], [sourcesArray count]);
+}
+
+//Ask Randall about what exactly port tree path is
+-(void) testPathToPortIndex {
+	NSURL *pindex = [testPort pathToPortIndex:@"file:///Users/Armahg/macportsbuild/build1/"];
+	//NSLog(@"%@ MORE STUFF IS!", [pindex path]);
+	STAssertNotNil(pindex, @"URL for port index should not be nil");
+}
+
+-(void) testSearch {
+	NSDictionary *searchResults = [testPort search:@"Notification"];
+	STAssertNotNil(searchResults, @"This dictionary should have at least %d key value pairs", [searchResults count]);
+}
+
+-(void) testSync {
+	//The only way to test this that I know of is to listen for the posted notifications
+	//and take actions as appropriate
+	[testPort sync];
+	
+}
+
+
+-(void) listenForPortSync {
+	[[NSDistributedNotificationCenter defaultCenter] addObserver:self 
+														selector:@selector(actOnPortSync:) 
+															name:@"MacPortsSyncStarted"
+														  object:nil];
+	
+	[[NSDistributedNotificationCenter defaultCenter] addObserver:self
+														selector:@selector(actOnPortSync:) 
+															name:@"MacPortsSyncFinished" 
+														  object:nil];
+}
+
+-(void) actOnPortSync:(NSNotification *)notification {
+	if ([[notification name] isEqualToString:@"MacPortsSyncStarted"]) 
+		NSLog(@"MacPortsSyncStarted");
+	else
+		NSLog(@"MacPortsSyncFinished"); 
+	NSLog(@"I WAZ HERE");
+}	
+
+
+-(void) testVersion {
+	NSString * version = [testPort version];
+	STAssertNotNil(version, @"%@ should not be nil", version);
+}
+
 @end

Modified: branches/gsoc08-framework/MacPorts.Framework/MPMutableDictionary.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPMutableDictionary.h	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPMutableDictionary.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -8,6 +8,17 @@
 
 #import <Cocoa/Cocoa.h>
 
+/*!
+ @class MPMutableDictionary
+ @abstract A subclass of NSMutableDictionary that is the base of most MacPort API objects
+ @discussion The dictionary data structure is appropriate for representing various aspects
+ of the MacPorts system such as port objects, receipt objects etc. Clients of this framework
+ can treat subclasses of MPMutableDictionary objects as NSMutableDictionaries which can
+ be useful for some GUI programming tasks like displaying information in a table. In order
+ to properly subclass an NSMutableDictionary, this class also contains an internal NSMutableDictionary
+ object. See http://www.smackie.org/Notes/2007/07/11/subclassing-nsmutabledictionary/ for some more
+ information on subclassing NSMutableDictionary.
+ */
 
 @interface MPMutableDictionary : NSMutableDictionary {
 	
@@ -15,18 +26,71 @@
 	
 }
 
+/*!
+ @brief Calls [initWithCapacity:15]
+ */
 - (id)init;
+/*!
+ @brief Initializes this object with a specified number of key, value pairs.
+ @param numItems The initial size of this MPMutableDictionary object.
+ */
 - (id)initWithCapacity:(unsigned)numItems;
 
+/*!
+ @brief Returns the size of this mutable dictionary
+ */
 - (unsigned)count;
+
+/*!
+ @brief Returns an NSEnumerator object for accessing keys in the mutable dictionary
+ */
 - (NSEnumerator *)keyEnumerator;
+
+/*!
+ @brief Returns the object associated with a given key
+ @param aKey The key for which to return the corresponding object
+ */
 - (id)objectForKey:(id)aKey;
+
+/*!
+ @brief Removes a given key and its associated object from the mutable dictionary
+ @param aKey The key to be removed
+ */
 - (void)removeObjectForKey:(id)aKey;
+/*!
+ @brief Adds a given key and its associated object to the mutable dictionary.
+ @param anObject The value for the key to be added.
+ @param aKey The key for the value to be added.
+ @discussion This class uses an embedded NSMutableDictionary for implementing these
+ primitive methods. Hence restrictions to setObject: forKey: for NSMutableDictionary
+ apply here also; for example, anObject cannot be nil.
+ */
 - (void)setObject:(id)anObject forKey:(id)aKey;
+
+/*!
+ @brief Sets the contents of the mutable dictionary to entries in a given dictionary
+ @param otherDictionary A dictionary containing the new entries
+ */
 - (void)setDictionary:(NSDictionary *)otherDictionary;
+
+/*!
+ at brief Returns an NSString representation of the contents of this mubtable dictioanry, formatted as a property list.
+ */
 - (NSString *)description;
 
+/*
+ @brief Returns an MPMutableDictionary class object for keyed unarchiving
+ @discussion This method has to be overriden to prevent the decoding of instances
+ of this class as NSMutableDictionary objects during unarchiving. See hyperlink
+ in class description notes for more information on this.
+ */
 + (Class)classForKeyedUnarchiver;
-- (Class)classForKeyedArchiver;
+/*
+ @brief Returns an MPMutableDictioanry class object for keyed archiving
+ @discussion Implementing this method ensures that instances of this class are
+ archived as MPMutableDictionary objects rather than NSMutableDictionary objects.
+ See link in class description notes for more details.
+ */
+ - (Class)classForKeyedArchiver;
 
 @end

Added: branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.h	                        (rev 0)
+++ branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -0,0 +1,54 @@
+/*
+ *	$Id:$
+ *	MacPorts.Framework
+ *
+ *	Authors:
+ *	George Armah <armahg at macports.org>
+ *
+ *	Copyright (c) 2008 George Armah <armahg at macports.org>
+ *	All rights reserved.
+ *
+ *	Redistribution and use in source and binary forms, with or without
+ *	modification, are permitted provided that the following conditions
+ *	are met:
+ *	1.	Redistributions of source code must retain the above copyright
+ *		notice, this list of conditions and the following disclaimer.
+ *	2.	Redistributions in binary form must reproduce the above copyright
+ *		notice, this list of conditions and the following disclaimer in the
+ *		documentation and/or other materials provided with the distribution.
+ *	3.	Neither the name of the copyright owner nor the names of contributors
+ *		may be used to endorse or promote products derived from this software
+ *		without specific prior written permission.
+ * 
+ *	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ *	AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ *	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ *	ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ *	LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ *	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ *	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ *	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ *	POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+#define GLOBAL_MESSAGE @"Received global notification"
+#define LOCAL_MESSAGE @"Received local notification"
+
+/*This class's main purpose is to test the implementation of
+ NSNotifications from within the MacPorts Tcl API
+ */
+
+ at interface MPNotificationsListener : NSObject {
+
+}
+
+-(void)registerForGlobalNotification;
+-(void)registerForLocalNotification;
+-(void)respondToGlobalNotification:(NSNotification*) notification;
+-(void)respondToLocalNotification:(NSNotification *) notification;
+
+ at end


Property changes on: branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.h
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Added: branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.m
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.m	                        (rev 0)
+++ branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.m	2008-06-29 20:45:37 UTC (rev 37925)
@@ -0,0 +1,88 @@
+/*
+ *	$Id:$
+ *	MacPorts.Framework
+ *
+ *	Authors:
+ *	George Armah <armahg at macports.org>
+ *
+ *	Copyright (c) 2008 George Armah <armahg at macports.org>
+ *	All rights reserved.
+ *
+ *	Redistribution and use in source and binary forms, with or without
+ *	modification, are permitted provided that the following conditions
+ *	are met:
+ *	1.	Redistributions of source code must retain the above copyright
+ *		notice, this list of conditions and the following disclaimer.
+ *	2.	Redistributions in binary form must reproduce the above copyright
+ *		notice, this list of conditions and the following disclaimer in the
+ *		documentation and/or other materials provided with the distribution.
+ *	3.	Neither the name of the copyright owner nor the names of contributors
+ *		may be used to endorse or promote products derived from this software
+ *		without specific prior written permission.
+ * 
+ *	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ *	AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ *	IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ *	ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ *	LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ *	SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ *	INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ *	CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ *	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ *	POSSIBILITY OF SUCH DAMAGE.
+ */
+
+
+#import "MPNotificationsListener.h"
+
+
+ at implementation MPNotificationsListener
+
+- (id)init {
+	self = [super init];
+	if (self != nil) {
+		[self registerForLocalNotification];
+		[self registerForGlobalNotification];
+	}
+	return self;
+}
+
+- (void)dealloc {
+	[super dealloc];
+}
+
+-(void) registerForLocalNotification {
+	[[NSNotificationCenter defaultCenter] addObserver:self
+											 selector:@selector(respondToLocalNotification:) 
+												 name:@"testMacPortsNotification"
+											   object:nil];
+}
+
+-(void) registerForGlobalNotification {
+	[[NSDistributedNotificationCenter defaultCenter] addObserver:self 
+														selector:@selector(respondToGlobalNotification:) 
+															name:@"testMacPortsNotification" 
+														  object:nil];
+}
+
+-(void) respondToLocalNotification:(NSNotification *)notification {
+	id sentObject = [notification object];
+	
+	//Just NSLog it for now
+	if(sentObject == nil)
+		NSLog(@"%@", LOCAL_MESSAGE);
+	else
+		NSLog(@"%@" , NSStringFromClass([sentObject class]));
+}
+
+-(void) respondToGlobalNotification:(NSNotification *)notification {
+	id sentObject = [notification object];
+	
+	//Just NSLog it for now
+	if(sentObject == nil)
+		NSLog(@"%@", GLOBAL_MESSAGE);
+	else
+		NSLog(@"%@", NSStringFromClass([sentObject class]));
+}
+ at end


Property changes on: branches/gsoc08-framework/MacPorts.Framework/MPNotificationsListener.m
___________________________________________________________________
Name: svn:keywords
   + Id
Name: svn:eol-style
   + native

Modified: branches/gsoc08-framework/MacPorts.Framework/MPPort.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPPort.h	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPPort.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -33,6 +33,10 @@
  *	POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*!
+ @header
+ The MPPort class is an object representation of a port
+ */
 
 #import <Cocoa/Cocoa.h>
 #import "MPInterpreter.h"
@@ -75,6 +79,7 @@
  @param string The NSString object used to initialize this MPPort object
  @discussion The Tcl list is usually obtained from doing a search query for some
  particular port.
+ 
  IS THIS METHOD JUST FOR INTERNAL USE? IT LOOKS LIKE IT ... ASK RANDALL ABOUT THAT
  */
 - (id)initWithTclListAsString:(NSString *)string;
@@ -89,9 +94,14 @@
 - (NSString *)version;
 
 /*!
- @brief Returns an array of the dependencies of this port
- @discussion This includes, libraries, build dependencies and run time dependencies
- ASK RANDALL FOR MORE DETAILS
+ @brief Returns an array of NSString port names of dependencies of this port
+ @discussion The MPPort object has internal dictionary lists of MPPort names for
+ the following dependency types: depend_libs, depend_run and depend_build. The
+ NSArray returned contains all of these dependencies in a single Array.
+ 
+ ISN'T INFORMATION LOST BY JUST CREATING A SINGLE ARAY WITH ALL OF THESE DEPENDENCIES?
+ PERHAPS A DIFFERENT DATA STRUCTURE CAN BE USED THAT LETS US REMEMBER WHAT TYPE OF
+ DEPENDENCY EACH DEPENDENCY IS?
  */
 - (NSArray *)depends;
 /*!
@@ -101,15 +111,77 @@
  */
 - (void)exec:(NSString *)target;
 
+/*Convenience methods based on the exec: withTarget: method
+ I DON'T KNOW IF SOME OF OF THESE METHODS REQUIRE EXTRA ARGUMENTS
+ CHECK THAT WITH RANDALL
+ */
 /*!
+ @brief 
+ */
+-(void)configure;
+/*!
+ @brief 
+ */
+-(void)build;
+/*!
+ @brief 
+ */
+-(void)test;
+/*!
+ @brief 
+ */
+-(void)destroot;
+/*!
+ @brief 
+ */
+-(void)install;
+/*!
+ @brief 
+ */
+-(void)archive;
+/*!
+ @brief 
+ */
+-(void)createDmg;
+/*!
+ @brief 
+ */
+-(void)createMdmg;
+/*!
+ @brief 
+ */
+-(void)createPkg;
+/*!
+ @brief 
+ */
+-(void)createMpkg;
+/*!
+ @brief 
+ */
+-(void)createRpm;
+/*!
+ @brief 
+ */
+-(void)createDpkg;
+/*!
+ @brief 
+ */
+-(void)createSrpm;
+
+/*!
  @brief Sets the attributes of this MPPort using the given string
  @param string An NSString object derived from a Tcl list containing this port's attributes
- @discussion AGAIN I NEED TO EXPERIMENT WITH SOME MORE EXAMPLES
+ @discussion The Tcl list is obtained from the PortIndex which contains a list of serialized
+ Tcl key-value lists, one list per line. This list is then broken up into a dictionary of attributes
+ for the MPPort.
  */
 - (void) setPortWithTclListAsString:(NSString *)string;
 
 /*!
- @brief ASK RANDALL ABOUT THIS METHOD
+ @brief Adds the name of an MPPort to the list of this MPPort's dependencies
+ @param dependency The NSString name of the MPPort to be added
+ @discussion This MPPort object contains an internal list of port names for MPPorts which
+ it depends on. This list is returned by the depends method and is populated by this method.
  */
 - (void) addDependencyAsPortName:(NSString *)dependency;
 
@@ -119,10 +191,19 @@
  MPPortStateOutdated, MPPortStateNotInstalled.
 */
 - (void)setState:(int)state;
+/*!
+ @brief Sets the state of this MPPort object from its receipts
+ @param receipts An NSArray of receipts for this port
+ @discussion 
+ 
+ AGAIN NEED TO ASK RANDALL ABOUT THIS METHOD. I THINK A PORT CAN HAVE MORE THAN ONE RECEIPT
+ THAT REPRESENT ITS VARIOUS VERSIONS / VARIANTS THAT HAVE BEEN INSTALLED SINCE EACH
+ INSTALLATION HAS ITS OWN RECEIPT.
+ */
+ - (void)setStateFromReceipts:(NSArray *)receipts;
 
-- (void)setStateFromReceipts:(NSArray *)receipts;
+
 - (void)setDictionary:(NSDictionary *)otherDictionary;
-
 + (Class)classForKeyedUnarchiver;
 - (Class)classForKeyedArchiver;
 

Modified: branches/gsoc08-framework/MacPorts.Framework/MPPort.m
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPPort.m	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPPort.m	2008-06-29 20:45:37 UTC (rev 37925)
@@ -1,5 +1,5 @@
 /*
- *	$Id:$
+ *	$Id$
  *	MacPorts.Framework
  *
  *	Authors:
@@ -155,6 +155,47 @@
 		nil]];
 }
 
+-(void)configure {
+	[self exec:@"configure"];
+}
+-(void)build {
+	[self exec:@"build"];
+}
+-(void)test {
+	[self exec:@"test"];	
+}
+-(void)destroot {
+	[self exec:@"destroot"];
+}
+-(void)install {
+	[self exec:@"install"];
+}
+-(void)archive {
+	[self exec:@"archive"];
+}
+-(void)createDmg {
+	[self exec:@"dmg"];
+}
+-(void)createMdmg {
+	[self exec:@"mdmg"];
+}
+-(void)createPkg {
+	[self exec:@"pkg"];
+}
+-(void)createMpkg {
+	[self exec:@"mpkg"];
+}
+-(void)createRpm {
+	[self exec:@"rpm"];
+}
+-(void)createDpkg {
+	[self exec:@"dpkg"];
+}
+-(void)createSrpm {
+	[self exec:@"srpm"];
+}
+
+
 #pragma MPMutableDictionary Protocal
 
 - (id)objectForKey:(id)aKey {

Modified: branches/gsoc08-framework/MacPorts.Framework/MPRegistry.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MPRegistry.h	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MPRegistry.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -47,7 +47,7 @@
 /*!
  @class MPRegistry
  @abstract The registry of installed ports.
-  */
+ */
 @interface MPRegistry : NSObject {
 
 	MPInterpreter *interpreter;

Modified: branches/gsoc08-framework/MacPorts.Framework/MacPorts.Framework.xcodeproj/project.pbxproj
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MacPorts.Framework.xcodeproj/project.pbxproj	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MacPorts.Framework.xcodeproj/project.pbxproj	2008-06-29 20:45:37 UTC (rev 37925)
@@ -37,11 +37,12 @@
 		48E992980C82C98C00219DDF /* Tcl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48E992970C82C98C00219DDF /* Tcl.framework */; };
 		48E993940C82CAAE00219DDF /* MPMacPorts.h in Headers */ = {isa = PBXBuildFile; fileRef = 48E993920C82CAAE00219DDF /* MPMacPorts.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		48E993950C82CAAE00219DDF /* MPMacPorts.m in Sources */ = {isa = PBXBuildFile; fileRef = 48E993930C82CAAE00219DDF /* MPMacPorts.m */; };
-		48E9939F0C82CEB000219DDF /* init.tcl in Resources */ = {isa = PBXBuildFile; fileRef = 48E9939E0C82CEB000219DDF /* init.tcl */; };
-		6E270BE10E1458DE00BAE687 /* init.tcl.original in Resources */ = {isa = PBXBuildFile; fileRef = 6E270BE00E1458DE00BAE687 /* init.tcl.original */; };
+		48E9939F0C82CEB000219DDF /* init.tcl.mod in Resources */ = {isa = PBXBuildFile; fileRef = 48E9939E0C82CEB000219DDF /* init.tcl.mod */; };
+		6E270BE10E1458DE00BAE687 /* init.tcl in Resources */ = {isa = PBXBuildFile; fileRef = 6E270BE00E1458DE00BAE687 /* init.tcl */; };
+		6E270D090E158CED00BAE687 /* MPNotificationsListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E270D070E158CED00BAE687 /* MPNotificationsListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		6E270D0A0E158CED00BAE687 /* MPNotificationsListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E270D080E158CED00BAE687 /* MPNotificationsListener.m */; };
 		6E49F37B0DFFAB0B0030C3AF /* MPInterpreterTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 489DD92E0C94674B00595506 /* MPInterpreterTest.m */; };
 		6E49F37F0DFFAFF80030C3AF /* MacPorts.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* MacPorts.framework */; };
-		6EA293580E05C8FC00902D12 /* notifications.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA293570E05C8FC00902D12 /* notifications.m */; };
 		6EA294590E080DEB00902D12 /* MPMacPortsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E88D1CB0DF4B90B00684E9F /* MPMacPortsTest.m */; };
 		8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
 		8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
@@ -83,10 +84,13 @@
 		48E992970C82C98C00219DDF /* Tcl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Tcl.framework; path = /System/Library/Frameworks/Tcl.framework; sourceTree = "<absolute>"; };
 		48E993920C82CAAE00219DDF /* MPMacPorts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMacPorts.h; sourceTree = "<group>"; };
 		48E993930C82CAAE00219DDF /* MPMacPorts.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMacPorts.m; sourceTree = "<group>"; };
-		48E9939E0C82CEB000219DDF /* init.tcl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = init.tcl; sourceTree = "<group>"; };
+		48E9939E0C82CEB000219DDF /* init.tcl.mod */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = init.tcl.mod; sourceTree = "<group>"; };
 		48F811BE0CE4636A009630DE /* MPRegistry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPRegistry.h; sourceTree = "<group>"; };
 		48F811BF0CE4638C009630DE /* MPRegistry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPRegistry.m; sourceTree = "<group>"; };
-		6E270BE00E1458DE00BAE687 /* init.tcl.original */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = init.tcl.original; sourceTree = "<group>"; };
+		6E270BE00E1458DE00BAE687 /* init.tcl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = init.tcl; sourceTree = "<group>"; };
+		6E270C080E148F4E00BAE687 /* Makefile */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = "<group>"; };
+		6E270D070E158CED00BAE687 /* MPNotificationsListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPNotificationsListener.h; sourceTree = "<group>"; };
+		6E270D080E158CED00BAE687 /* MPNotificationsListener.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNotificationsListener.m; sourceTree = "<group>"; };
 		6E88D1CA0DF4B90B00684E9F /* MPMacPortsTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMacPortsTest.h; sourceTree = "<group>"; };
 		6E88D1CB0DF4B90B00684E9F /* MPMacPortsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMacPortsTest.m; sourceTree = "<group>"; };
 		6EA0F56E0DFEB55E00C15082 /* Tcl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Tcl.framework; path = System/Library/Frameworks/Tcl.framework; sourceTree = SDKROOT; };
@@ -154,12 +158,12 @@
 		089C1665FE841158C02AAC07 /* Resources */ = {
 			isa = PBXGroup;
 			children = (
-				48E9939E0C82CEB000219DDF /* init.tcl */,
+				48E9939E0C82CEB000219DDF /* init.tcl.mod */,
 				8DC2EF5A0486A6940098B216 /* Info.plist */,
 				089C1666FE841158C02AAC07 /* InfoPlist.strings */,
 				489DD8F50C94365F00595506 /* Test-Info.plist */,
 				6EAFD8B70DEC614E00E97270 /* dummycommit.test */,
-				6E270BE00E1458DE00BAE687 /* init.tcl.original */,
+				6E270BE00E1458DE00BAE687 /* init.tcl */,
 			);
 			name = Resources;
 			sourceTree = "<group>";
@@ -235,7 +239,10 @@
 		6EA293540E05C8C600902D12 /* Tcl Notifications  */ = {
 			isa = PBXGroup;
 			children = (
+				6E270C080E148F4E00BAE687 /* Makefile */,
 				6EA293570E05C8FC00902D12 /* notifications.m */,
+				6E270D070E158CED00BAE687 /* MPNotificationsListener.h */,
+				6E270D080E158CED00BAE687 /* MPNotificationsListener.m */,
 			);
 			name = "Tcl Notifications ";
 			sourceTree = "<group>";
@@ -255,6 +262,7 @@
 				487679690C98C55E00577C59 /* MPPort.h in Headers */,
 				48A866AA0CD364F700B521BC /* MPReceipt.h in Headers */,
 				481D04A20CDAAAFD00D4A550 /* MPMutableDictionary.h in Headers */,
+				6E270D090E158CED00BAE687 /* MPNotificationsListener.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -284,6 +292,7 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "MacPorts" */;
 			buildPhases = (
+				6E270C870E14DF5C00BAE687 /* ShellScript */,
 				8DC2EF500486A6940098B216 /* Headers */,
 				8DC2EF520486A6940098B216 /* Resources */,
 				8DC2EF540486A6940098B216 /* Sources */,
@@ -336,8 +345,8 @@
 			buildActionMask = 2147483647;
 			files = (
 				8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */,
-				48E9939F0C82CEB000219DDF /* init.tcl in Resources */,
-				6E270BE10E1458DE00BAE687 /* init.tcl.original in Resources */,
+				48E9939F0C82CEB000219DDF /* init.tcl.mod in Resources */,
+				6E270BE10E1458DE00BAE687 /* init.tcl in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -357,6 +366,19 @@
 			shellPath = /bin/sh;
 			shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
 		};
+		6E270C870E14DF5C00BAE687 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "#sudo make install";
+		};
 		6E49F4F40E00DD520030C3AF /* ShellScript */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -406,7 +428,7 @@
 				48A866AB0CD364F700B521BC /* MPReceipt.m in Sources */,
 				481D04A30CDAAAFD00D4A550 /* MPMutableDictionary.m in Sources */,
 				4825ECC40CE61468006B0385 /* MPRegistry.m in Sources */,
-				6EA293580E05C8FC00902D12 /* notifications.m in Sources */,
+				6E270D0A0E158CED00BAE687 /* MPNotificationsListener.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

Modified: branches/gsoc08-framework/MacPorts.Framework/MacPorts.h
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/MacPorts.h	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/MacPorts.h	2008-06-29 20:45:37 UTC (rev 37925)
@@ -1,5 +1,5 @@
 /*
- *	$Id:$
+ *	$Id$
  *	MacPorts.Framework
  *
  *	Authors:
@@ -39,3 +39,6 @@
 #import <MacPorts/MPPort.h>;
 #import <MacPorts/MPReceipt.h>;
 #import <MacPorts/MPRegistry.h>;
+
+//Including this file for testing the Notifications listener
+#import <MacPorts/MPNotificationsListener.h>;

Added: branches/gsoc08-framework/MacPorts.Framework/Makefile
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/Makefile	                        (rev 0)
+++ branches/gsoc08-framework/MacPorts.Framework/Makefile	2008-06-29 20:45:37 UTC (rev 37925)
@@ -0,0 +1,32 @@
+MKDIR = /bin/mkdir -p -m 0755
+RM = /bin/rm -f
+RMDIR = /bin/rm -fr
+INSTALL = /usr/bin/install -m 0644
+TCLSH = /usr/bin/tclsh
+
+DESTDIR = 
+PREFIX = /Library/Tcl/notifications1.0
+
+OBJS = notifications.o
+TARGET = notifications.dylib
+
+CC = gcc
+CFLAGS = -Wall -DUSE_TCL_STUBS
+FRAMEWORKS = -framework Cocoa -framework Tcl -ltclstub8.4
+LDFLAGS = -dynamiclib -install_name $(PREFIX)/$(TARGET)
+
+all: $(TARGET)
+
+$(TARGET): $(OBJS)
+	$(CC) $(LDFLAGS) $(FRAMEWORKS) $(OBJS) -o $@
+
+clean:
+	$(RM) $(OBJS) $(TARGET)
+
+install: all
+	$(MKDIR) "$(DESTDIR)$(PREFIX)"
+	$(INSTALL) "$(TARGET)" "$(DESTDIR)$(PREFIX)"
+	echo pkg_mkIndex "$(DESTDIR)$(PREFIX)" | $(TCLSH)
+
+uninstall:
+	$(RMDIR) "$(DESTDIR)$(PREFIX)"

Modified: branches/gsoc08-framework/MacPorts.Framework/init.tcl
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/init.tcl	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/init.tcl	2008-06-29 20:45:37 UTC (rev 37925)
@@ -1,13 +1,8 @@
-#catch {source \
-#	[file join "/Library/Tcl" macports1.0 macports_fastload.tcl]}
-
-#Trying my own MacPorts build rather than default one on the system
 catch {source \
-	[file join "/Users/Armahg/macportsbuild/build1/Library/Tcl" macports1.0 macports_fastload.tcl]}
+	[file join "/Library/Tcl" macports1.0 macports_fastload.tcl]}
 
 
 package require macports
-package require notifications
 
 # ui_options accessor
 proc ui_isset {val} {
@@ -72,64 +67,6 @@
 }
 
 
-#Modifying UI initialization to enable notifications
-proc ui_init {priority prefix channels message} {
-    # Get the list of channels.
-    try {
-        set channels [ui_channels $priority]
-    } catch * {
-        set channels [ui_channels_default $priority]
-    }
-
-    # Simplify ui_$priority.
-    set nbchans [llength $channels]
-    if {$nbchans == 0} {
-        proc ::ui_$priority {str} {
-		notifications send global testMacPortstNotification "$prefix\$str"
-		}
-    } else {
-        try {
-            set prefix [ui_prefix $priority]
-        } catch * {
-            set prefix [ui_prefix_default $priority]
-        }
-            
-		if {$nbchans == 1} {
-                set chan [lindex $channels 0]
-				
-				#Redefine ui_$priority here to also throw notifications of some sort
-				proc ::ui_$priority {str} {
-					#[subst { puts $chan "$prefix\$str" }]
-					subst { puts $chan "$prefix\$str" }
-
-					#Send notifications using NSDistributedNotificationCenter for now
-					#We need a way to name notifications based on given input, using
-					#testMacPortsNotification for now
-					notifications send global testMacPortstNotification "$prefix\$str"
-				}
-				
-				
-            } else {
-			
-			
-                proc ::ui_$priority {str} {
-					subst {
-						foreach chan \$channels {
-							puts $chan "$prefix\$str"
-						}
-					}
-					#Should we discriminate based on channel?
-					notifications send global testMacPortsNotification "$prefix\$str"
-				}
-            }
-			
-        # Call ui_$priority
-        ::ui_$priority $message
-    }
-}
-
-
-
 # Initialize dport
 # This must be done following parse of global options, as some options are
 # evaluated by dportinit.
@@ -137,4 +74,6 @@
 	global errorInfo
 	puts "$errorInfo"
 	fatal "Failed to initialize ports system, $result"
-}
\ No newline at end of file
+}
+
+

Modified: branches/gsoc08-framework/MacPorts.Framework/notifications.m
===================================================================
--- branches/gsoc08-framework/MacPorts.Framework/notifications.m	2008-06-29 19:45:49 UTC (rev 37924)
+++ branches/gsoc08-framework/MacPorts.Framework/notifications.m	2008-06-29 20:45:37 UTC (rev 37925)
@@ -1,5 +1,5 @@
 /*
- *	$Id:$ 
+ *	$Id$ 
  *	Authors:
  * 	Randall H. Wood <rhwood at macports.org>
  *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080629/02ea527a/attachment-0001.html 


More information about the macports-changes mailing list