Add new files to separate extension functions from main base library.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@20910 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-Macdonald 2005-03-15 08:11:04 +00:00
parent c11eaba266
commit 7602f504b2
8 changed files with 118 additions and 45 deletions

View file

@ -2,7 +2,13 @@
* Source/Additions/GSMime.m: Mark ([setDefaultEncoding:]) as deprecated
rather than just removing it ... in case someone has started using it.
* Source/NSPathUtilities.m: Tidied a little.
* Source/NSPathUtilities.m: Tidied a little ... moved a function.
* Headers/Additions/GNUstepBase/GSFunctions.h: New header for functions
* Headers/Foundation/NSPathUtilities.h: Moved function
* Source/DocMakefile: Include GSFunctions.h
* Source/GNUmakefile: ditto
* Source/Additions/GNUmakefile: Build GSFunctions.m
* Source/Additions/GSFunctions.m: New file for extra functions.
2005-03-14 Adam Fedor <fedor@gnu.org>

View file

@ -0,0 +1,43 @@
/** Additional functions for GNUStep
Copyright (C) 2005 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
Created: 2005
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
AutogsdocSource: Additions/GSFunctions.m
*/
#ifndef __GSFunctions_h_GNUSTEP_BASE_INCLUDE
#define __GSFunctions_h_GNUSTEP_BASE_INCLUDE
#include "GNUstepBase/preface.h"
#include "GNUstepBase/GSObjCRuntime.h"
#include "GNUstepBase/GNUstep.h"
@class NSArray;
@class NSString;
/**
* Try to locate file/directory (aName).(anExtension) in paths.
* Will return the first found or nil if nothing is found.
*/
GS_EXPORT NSString *GSFindNamedFile(NSArray *paths, NSString *aName,
NSString *anExtension);
#endif /* __NSPathUtilities_h_GNUSTEP_BASE_INCLUDE */

View file

@ -40,12 +40,6 @@
*/
GS_EXPORT void GSSetUserName(NSString *aName);
/**
* Try to locate file/directory (aName).(anExtension) in paths.
* Will return the first found or nil if nothing is found.
*/
GS_EXPORT NSString *GSFindNamedFile(NSArray *paths, NSString *aName, NSString *anExtension);
GS_EXPORT NSString *GSDefaultsRootForUser(NSString *userName);
GS_EXPORT NSString *GSSystemRootDirectory(void) GS_ATTRIB_DEPRECATED;

View file

@ -38,6 +38,7 @@ Additions_OBJC_FILES =\
GSLock.m \
GSMime.m \
GSXML.m \
GSFunctions.m \
behavior.m
ifneq ($(OBJC_RUNTIME_LIB), gnu)

View file

@ -0,0 +1,65 @@
/* Extension functions for GNUstep
Copyright (C) 2005 Free Software Foundation, Inc.
Written by: Richard Frith-Macdonald <rfm@gnu.org>
Written by: Sheldon Gill
Date: 2005
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
<title>NSPathUtilities function reference</title>
$Date$ $Revision$
*/
#include "config.h"
#include "GNUstepBase/preface.h"
#include "GNUstepBase/GSFunctions.h"
#include "Foundation/Foundation.h"
NSString *
GSFindNamedFile(NSArray *paths, NSString *aName, NSString *anExtension)
{
NSFileManager *file_mgr = [NSFileManager defaultManager];
NSString *file_name, *file_path, *path;
NSEnumerator *enumerator;
NSCParameterAssert(aName != nil);
NSCParameterAssert(paths != nil);
/* make up the name with extension if given */
if (anExtension != nil)
{
file_name = [NSString stringWithFormat: @"%@.%@", aName, anExtension];
}
else
{
file_name = aName;
}
enumerator = [paths objectEnumerator];
while ((path = [enumerator nextObject]))
{
file_path = [path stringByAppendingPathComponent: file_name];
if ([file_mgr fileExistsAtPath: file_path] == YES)
{
return file_path; // Found it!
}
}
return nil;
}

View file

@ -113,6 +113,7 @@ GSMime.h \
GSObjCRuntime.h \
GSUnion.h \
GSXML.h \
GSFunctions.h \
behavior.h \
Unicode.h \
GCObject.h \

View file

@ -126,6 +126,7 @@ GSIArray.h \
GSIMap.h \
GCObject.h \
GSLock.h \
GSFunctions.h \
GSMime.h \
GSXML.h \
GSLocale.h \

View file

@ -650,44 +650,6 @@ GSReadStepConfFile(NSString *fileName)
return dict;
}
/*
GSFindNamedFile should be in Additions somewhere...
*/
/* See NSPathUtilities.h for description. */
NSString *
GSFindNamedFile(NSArray *paths, NSString *aName, NSString *anExtension)
{
NSFileManager *file_mgr = [NSFileManager defaultManager];
NSString *file_name, *file_path, *path;
NSEnumerator *enumerator;
NSCParameterAssert(aName != nil);
NSCParameterAssert(paths != nil);
/* make up the name with extension if given */
if (anExtension != nil)
{
file_name = [NSString stringWithFormat: @"%@.%@", aName, anExtension];
}
else
{
file_name = aName;
}
enumerator = [paths objectEnumerator];
while ((path = [enumerator nextObject]))
{
file_path = [path stringByAppendingPathComponent: file_name];
if ([file_mgr fileExistsAtPath: file_path] == YES)
{
return file_path; // Found it!
}
}
return nil;
}
/* See NSPathUtilities.h for description */
void
GSSetUserName(NSString *aName)