Since this appears to be used by almost every objc file system, I have  
moved a copy of it into support and changed SpotlightFS and  
LoopbackFS. A future file system that I am going to submit uses it as  
well.

Index: LoopbackFS/LoopbackFS.xcodeproj/project.pbxproj
===================================================================
--- LoopbackFS/LoopbackFS.xcodeproj/project.pbxproj     (revision 744)
+++ LoopbackFS/LoopbackFS.xcodeproj/project.pbxproj     (working copy)
@@ -7,6 +7,7 @@
        objects = {

  /* Begin PBXBuildFile section */
+               8B93BEEF0D3ACD4400466F25 /* NSError+POSIX.m in Sources */ = 
{isa =  
PBXBuildFile; fileRef = 8B93BEED0D3ACD4400466F25 /* NSError+POSIX.m  
*/; };
                8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa 
=  
PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
                8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = 
 
{isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /*  
InfoPlist.strings */; };
                8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa =  
PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */;  
settings = {ATTRIBUTES = (); }; };
@@ -26,6 +27,8 @@
                29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa =  
PBXFileReference; lastKnownFileType = wrapper.framework; name =  
AppKit.framework; path = /System/Library/Frameworks/AppKit.framework;  
sourceTree = "<absolute>"; };
                29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa =  
PBXFileReference; lastKnownFileType = wrapper.framework; name =  
Foundation.framework; path = /System/Library/Frameworks/ 
Foundation.framework; sourceTree = "<absolute>"; };
                32CA4F630368D1EE00C91783 /* LoopbackFS_Prefix.pch */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType =  
sourcecode.c.h; path = LoopbackFS_Prefix.pch; sourceTree = "<group>"; };
+               8B93BEED0D3ACD4400466F25 /* NSError+POSIX.m */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType =  
sourcecode.c.objc; name = "NSError+POSIX.m"; path = "../Support/NSError 
+POSIX.m"; sourceTree = SOURCE_ROOT; };
+               8B93BEEE0D3ACD4400466F25 /* NSError+POSIX.h */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType =  
sourcecode.c.h; name = "NSError+POSIX.h"; path = "../Support/NSError 
+POSIX.h"; sourceTree = SOURCE_ROOT; };
                8D1107310486CEB800E47090 /* Info.plist */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType =  
text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
                8D1107320486CEB800E47090 /* LoopbackFS.app */ = {isa =  
PBXFileReference; explicitFileType = wrapper.application;  
includeInIndex = 0; path = LoopbackFS.app; sourceTree =  
BUILT_PRODUCTS_DIR; };
                FF694BDB0D281C6900CD431F /* MacFUSE.framework */ = {isa =  
PBXFileReference; lastKnownFileType = wrapper.framework; name =  
MacFUSE.framework; path = /Library/Frameworks/MacFUSE.framework;  
sourceTree = "<absolute>"; };
@@ -52,6 +55,8 @@
                080E96DDFE201D6D7F000001 /* Classes */ = {
                        isa = PBXGroup;
                        children = (
+                               8B93BEED0D3ACD4400466F25 /* NSError+POSIX.m */,
+                               8B93BEEE0D3ACD4400466F25 /* NSError+POSIX.h */,
                                FF8358210D24649E002F2357 /* LoopbackFS.h */,
                                FF8358220D24649E002F2357 /* LoopbackFS.m */,
                                FF98B8B60D24909700117156 /* 
LoopbackController.h */,
@@ -187,6 +192,7 @@
                                8D11072D0486CEB800E47090 /* main.m in Sources 
*/,
                                FF8358230D24649E002F2357 /* LoopbackFS.m in 
Sources */,
                                FF98B8B80D24909700117156 /* 
LoopbackController.m in Sources */,
+                               8B93BEEF0D3ACD4400466F25 /* NSError+POSIX.m in 
Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
Index: LoopbackFS/LoopbackFS.m
===================================================================
--- LoopbackFS/LoopbackFS.m     (revision 744)
+++ LoopbackFS/LoopbackFS.m     (working copy)
@@ -31,17 +31,8 @@
  #import <sys/stat.h>
  #import "LoopbackFS.h"
  #import <MacFUSE/GMUserFileSystem.h>
+#import "NSError+POSIX.h"

-// Category on NSError to  simplify creating an NSError based on  
posix errno.
[EMAIL PROTECTED] NSError (POSIX)
-+ (NSError *)errorWithPOSIXCode:(int)code;
[EMAIL PROTECTED]
[EMAIL PROTECTED] NSError (POSIX)
-+ (NSError *)errorWithPOSIXCode:(int) code {
-  return [NSError errorWithDomain:NSPOSIXErrorDomain code:code  
userInfo:nil];
-}
[EMAIL PROTECTED]
-
  @implementation LoopbackFS

  #if 1
Index: SpotlightFS/Source/SpotlightFS.m
===================================================================
--- SpotlightFS/Source/SpotlightFS.m    (revision 746)
+++ SpotlightFS/Source/SpotlightFS.m    (working copy)
@@ -49,17 +49,8 @@
  #import <Foundation/Foundation.h>
  #import <MacFUSE/GMUserFileSystem.h>
  #import "SpotlightFS.h"
+#import "NSError+POSIX.h"

-// Category on NSError to  simplify creating an NSError based on  
posix errno.
[EMAIL PROTECTED] NSError (POSIX)
-+ (NSError *)errorWithPOSIXCode:(int)code;
[EMAIL PROTECTED]
[EMAIL PROTECTED] NSError (POSIX)
-+ (NSError *)errorWithPOSIXCode:(int) code {
-  return [NSError errorWithDomain:NSPOSIXErrorDomain code:code  
userInfo:nil];
-}
[EMAIL PROTECTED]
-
  // Key name for use in NSUserDefaults
  static NSString* const kDefaultsSearchDirectories =  
@"SearchDirectories";

Index: SpotlightFS/SpotlightFS.xcodeproj/project.pbxproj
===================================================================
--- SpotlightFS/SpotlightFS.xcodeproj/project.pbxproj   (revision 744)
+++ SpotlightFS/SpotlightFS.xcodeproj/project.pbxproj   (working copy)
@@ -7,6 +7,7 @@
        objects = {

  /* Begin PBXBuildFile section */
+               8B93BE9C0D3ACCEF00466F25 /* NSError+POSIX.m in Sources */ = 
{isa =  
PBXBuildFile; fileRef = 8B93BE9B0D3ACCEF00466F25 /* NSError+POSIX.m  
*/; };
                8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa 
=  
PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
                8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = 
 
{isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /*  
InfoPlist.strings */; };
                8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ =  
{isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /*  
Cocoa.framework */; };
@@ -31,6 +32,8 @@
                29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa =  
PBXFileReference; lastKnownFileType = wrapper.framework; name =  
AppKit.framework; path = /System/Library/Frameworks/AppKit.framework;  
sourceTree = "<absolute>"; };
                29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa =  
PBXFileReference; lastKnownFileType = wrapper.framework; name =  
Foundation.framework; path = /System/Library/Frameworks/ 
Foundation.framework; sourceTree = "<absolute>"; };
                32CA4F630368D1EE00C91783 /* SpotlightFS_Prefix.pch */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType =  
sourcecode.c.h; path = SpotlightFS_Prefix.pch; sourceTree =  
"<group>"; };
+               8B93BE9A0D3ACCEF00466F25 /* NSError+POSIX.h */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType =  
sourcecode.c.h; name = "NSError+POSIX.h"; path = "../Support/NSError 
+POSIX.h"; sourceTree = SOURCE_ROOT; };
+               8B93BE9B0D3ACCEF00466F25 /* NSError+POSIX.m */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType =  
sourcecode.c.objc; name = "NSError+POSIX.m"; path = "../Support/NSError 
+POSIX.m"; sourceTree = SOURCE_ROOT; };
                8D1107310486CEB800E47090 /* Info.plist */ = {isa =  
PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist;  
path = Info.plist; sourceTree = "<group>"; };
                8D1107320486CEB800E47090 /* SpotlightFS.app */ = {isa =  
PBXFileReference; explicitFileType = wrapper.application;  
includeInIndex = 0; path = SpotlightFS.app; sourceTree =  
BUILT_PRODUCTS_DIR; };
                F927CCFF0B6405DC00AF272E /* DynamicFolderBlue.icns */ = {isa =  
PBXFileReference; lastKnownFileType = image.icns; path =  
DynamicFolderBlue.icns; sourceTree = "<group>"; };
@@ -136,6 +139,8 @@
                                F9CEEF7D0B617DCE0044EAA6 /* main.m */,
                                FFBB2A410D2E16D3001331D2 /* 
SpotlightFSController.h */,
                                FFBB2A420D2E16D3001331D2 /* 
SpotlightFSController.m */,
+                               8B93BE9A0D3ACCEF00466F25 /* NSError+POSIX.h */,
+                               8B93BE9B0D3ACCEF00466F25 /* NSError+POSIX.m */,
                        );
                        path = Source;
                        sourceTree = "<group>";
@@ -203,6 +208,7 @@
                                F9CEEF7E0B617DCE0044EAA6 /* main.m in Sources 
*/,
                                F9CEEFD60B6198610044EAA6 /* SpotlightFS.m in 
Sources */,
                                FFBB2A430D2E16D3001331D2 /* 
SpotlightFSController.m in Sources */,
+                               8B93BE9C0D3ACCEF00466F25 /* NSError+POSIX.m in 
Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
Index: Support/NSError+POSIX.m
===================================================================
--- Support/NSError+POSIX.m     (revision 0)
+++ Support/NSError+POSIX.m     (revision 0)
@@ -0,0 +1,28 @@
+//
+//  NSError+POSIX.m
+//
+// ================================================================
+// Copyright (C) 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or  
implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ================================================================
+//
+
+#import "NSError+POSIX.h"
+
[EMAIL PROTECTED] NSError (POSIX)
++ (NSError *)errorWithPOSIXCode:(int) code {
+  return [NSError errorWithDomain:NSPOSIXErrorDomain code:code  
userInfo:nil];
+}
[EMAIL PROTECTED]
+
Index: Support/NSError+POSIX.h
===================================================================
--- Support/NSError+POSIX.h     (revision 0)
+++ Support/NSError+POSIX.h     (revision 0)
@@ -0,0 +1,26 @@
+//
+//  NSError+POSIX.h
+//
+// ================================================================
+// Copyright (C) 2008 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or  
implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+// ================================================================
+//
+
+#import <Cocoa/Cocoa.h>
+
+// Category on NSError to  simplify creating an NSError based on  
posix errno.
[EMAIL PROTECTED] NSError (POSIX)
++ (NSError *)errorWithPOSIXCode:(int)code;
[EMAIL PROTECTED]


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"macfuse-devel" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/macfuse-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to