mirror of
https://github.com/darlinghq/darling-cocotron.git
synced 2024-11-26 21:40:44 +00:00
Removed Unused Code
This commit is contained in:
parent
c9b4a96280
commit
9700bac810
20
.hgignore
20
.hgignore
@ -1,20 +0,0 @@
|
||||
syntax: glob
|
||||
*.mode1
|
||||
*.mode1v3
|
||||
*.pbxuser
|
||||
*.perspectivev3
|
||||
*.mode2v3
|
||||
build
|
||||
build
|
||||
|
||||
.svn
|
||||
.DS_Store
|
||||
*.pyc
|
||||
*.swp
|
||||
*~.nib
|
||||
|
||||
*.orig
|
||||
|
||||
xcuserdata
|
||||
project.xcworkspace
|
||||
system
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:AppKit.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
@ -1,41 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
|
||||
<false/>
|
||||
<key>IDESourceControlProjectIdentifier</key>
|
||||
<string>4F517AC8-2BD1-4488-98B9-C0D3A46F531D</string>
|
||||
<key>IDESourceControlProjectName</key>
|
||||
<string>AppKit</string>
|
||||
<key>IDESourceControlProjectOriginsDictionary</key>
|
||||
<dict>
|
||||
<key>D23006023D8263B18CE7E4572DE5FF530EDE0D45</key>
|
||||
<string>https://github.com/cjwl/cocotron.git</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectPath</key>
|
||||
<string>AppKit/AppKit.xcodeproj</string>
|
||||
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
|
||||
<dict>
|
||||
<key>D23006023D8263B18CE7E4572DE5FF530EDE0D45</key>
|
||||
<string>../../..</string>
|
||||
</dict>
|
||||
<key>IDESourceControlProjectURL</key>
|
||||
<string>https://github.com/cjwl/cocotron.git</string>
|
||||
<key>IDESourceControlProjectVersion</key>
|
||||
<integer>111</integer>
|
||||
<key>IDESourceControlProjectWCCIdentifier</key>
|
||||
<string>D23006023D8263B18CE7E4572DE5FF530EDE0D45</string>
|
||||
<key>IDESourceControlProjectWCConfigurations</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
|
||||
<string>public.vcs.git</string>
|
||||
<key>IDESourceControlWCCIdentifierKey</key>
|
||||
<string>D23006023D8263B18CE7E4572DE5FF530EDE0D45</string>
|
||||
<key>IDESourceControlWCCName</key>
|
||||
<string>cocotron-git</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0610"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A8070C5D9BCB00AEA51A"
|
||||
BuildableName = "AppKit.framework"
|
||||
BlueprintName = "AppKit"
|
||||
ReferencedContainer = "container:AppKit.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Windows-i386">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A8070C5D9BCB00AEA51A"
|
||||
BuildableName = "AppKit.framework"
|
||||
BlueprintName = "AppKit"
|
||||
ReferencedContainer = "container:AppKit.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A8070C5D9BCB00AEA51A"
|
||||
BuildableName = "AppKit.framework"
|
||||
BlueprintName = "AppKit"
|
||||
ReferencedContainer = "container:AppKit.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Linux-i386">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Windows-i386"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -30,7 +30,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
#import <AppKit/NSTypesetter.h>
|
||||
#import <AppKit/NSWindow.h>
|
||||
|
||||
#import "../../Foundation/NSAttributedString/NSRangeEntries.h"
|
||||
#import <Foundation/NSRangeEntries.h>
|
||||
#import <AppKit/NSAttributedString.h>
|
||||
#import <AppKit/NSColor.h>
|
||||
#import <AppKit/NSGraphics.h>
|
||||
|
@ -17,7 +17,7 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import "../../Foundation/NSAttributedString/NSRangeEntries.h"
|
||||
#import <Foundation/NSRangeEntries.h>
|
||||
#import <AppKit/NSTextStorage.h>
|
||||
|
||||
@interface NSTextStorage_concrete : NSTextStorage {
|
||||
|
@ -1 +0,0 @@
|
||||
Linux.subproj/O2Context_builtin_FT.h
|
@ -1,36 +0,0 @@
|
||||
#import <CFNetwork/CFNetworkExport.h>
|
||||
#import <CoreFoundation/CoreFoundation.h>
|
||||
|
||||
typedef struct __CFHost *CFHostRef;
|
||||
|
||||
enum CFHostInfoType {
|
||||
kCFHostAddresses = 0,
|
||||
kCFHostNames = 1,
|
||||
kCFHostReachability = 2,
|
||||
};
|
||||
typedef enum CFHostInfoType CFHostInfoType;
|
||||
|
||||
typedef void (*CFHostClientCallBack)(CFHostRef host, CFHostInfoType infoType, const CFStreamError *streamError, void *info);
|
||||
|
||||
typedef struct CFHostClientContext {
|
||||
CFIndex version;
|
||||
void *info;
|
||||
CFAllocatorRetainCallBack retain;
|
||||
CFAllocatorReleaseCallBack release;
|
||||
CFAllocatorCopyDescriptionCallBack copyDescription;
|
||||
} CFHostClientContext;
|
||||
|
||||
CFNETWORK_EXPORT CFTypeID CFHostGetTypeID();
|
||||
CFNETWORK_EXPORT CFHostRef CFHostCreateCopy(CFAllocatorRef alloc, CFHostRef self);
|
||||
CFNETWORK_EXPORT CFHostRef CFHostCreateWithAddress(CFAllocatorRef allocator, CFDataRef address);
|
||||
CFNETWORK_EXPORT CFHostRef CFHostCreateWithName(CFAllocatorRef allocator, CFStringRef name);
|
||||
CFNETWORK_EXPORT CFArrayRef CFHostGetAddressing(CFHostRef self, Boolean *hasBeenResolved);
|
||||
CFNETWORK_EXPORT CFArrayRef CFHostGetNames(CFHostRef self, Boolean *hasBeenResolved);
|
||||
CFNETWORK_EXPORT CFDataRef CFHostGetReachability(CFHostRef self, Boolean *hasBeenResolved);
|
||||
CFNETWORK_EXPORT Boolean CFHostSetClient(CFHostRef self, CFHostClientCallBack callback, CFHostClientContext *context);
|
||||
|
||||
CFNETWORK_EXPORT Boolean CFHostStartInfoResolution(CFHostRef self, CFHostInfoType infoType, CFStreamError *streamError);
|
||||
CFNETWORK_EXPORT void CFHostCancelInfoResolution(CFHostRef theHost, CFHostInfoType infoType);
|
||||
|
||||
CFNETWORK_EXPORT void CFHostScheduleWithRunLoop(CFHostRef self, CFRunLoopRef runLoop, CFStringRef mode);
|
||||
CFNETWORK_EXPORT void CFHostUnscheduleFromRunLoop(CFHostRef self, CFRunLoopRef runLoop, CFStringRef mode);
|
@ -1,591 +0,0 @@
|
||||
#import <CFNetwork/CFHost.h>
|
||||
#import <Foundation/NSDebug.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRunLoop.h>
|
||||
#ifdef WINDOWS
|
||||
#import <Foundation/NSHandleMonitor_win32.h>
|
||||
#undef WINVER
|
||||
#define WINVER 0x501
|
||||
#include <process.h>
|
||||
#include <windows.h>
|
||||
#include <winsock2.h>
|
||||
#include <ws2tcpip.h>
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
#if defined(WIN32) || defined(LINUX)
|
||||
#define MAXHOSTNAMELEN 512
|
||||
#endif
|
||||
|
||||
typedef enum {
|
||||
CFHostRequestInQueue,
|
||||
CFHostRequestInProgress,
|
||||
CFHostRequestDone,
|
||||
CFHostRequestDeallocate,
|
||||
} CFHostRequestState;
|
||||
|
||||
typedef struct {
|
||||
CFHostRequestState _state;
|
||||
char *_name;
|
||||
struct addrinfo *_addressList;
|
||||
#ifdef WINDOWS
|
||||
HANDLE _event;
|
||||
#endif
|
||||
} CFHostRequest;
|
||||
|
||||
@interface __CFHost : NSObject {
|
||||
CFStringRef _name;
|
||||
CFHostClientCallBack _callback;
|
||||
CFHostClientContext _context;
|
||||
Boolean _hasResolvedAddressing;
|
||||
CFArrayRef _addressing;
|
||||
CFHostRequest *_request;
|
||||
#ifdef WINDOWS
|
||||
HANDLE _event;
|
||||
NSHandleMonitor_win32 *_monitor;
|
||||
#endif
|
||||
}
|
||||
|
||||
@end
|
||||
#ifdef __clang__
|
||||
// has to be in sync with the __CFHost interface
|
||||
struct __CFHost {
|
||||
CFStringRef _name;
|
||||
CFHostClientCallBack _callback;
|
||||
CFHostClientContext _context;
|
||||
Boolean _hasResolvedAddressing;
|
||||
CFArrayRef _addressing;
|
||||
CFHostRequest *_request;
|
||||
#ifdef WINDOWS
|
||||
HANDLE _event;
|
||||
NSHandleMonitor_win32 *_monitor;
|
||||
#endif
|
||||
};
|
||||
#endif
|
||||
|
||||
@implementation __CFHost
|
||||
|
||||
#ifdef WINDOWS
|
||||
|
||||
typedef struct {
|
||||
CRITICAL_SECTION queueLock;
|
||||
HANDLE queueEvent;
|
||||
int queueCapacity, queueCount;
|
||||
CFHostRequest **queue;
|
||||
} CFAddressResolverThreadInfo;
|
||||
|
||||
static int preXP_getaddrinfo(const char *host, const char *service,
|
||||
const struct addrinfo *hints,
|
||||
struct addrinfo **result)
|
||||
{
|
||||
struct addrinfo *list = NULL;
|
||||
struct addrinfo *current = NULL;
|
||||
struct hostent *hp;
|
||||
|
||||
if ((hp = gethostbyname(host)) == NULL)
|
||||
return EAI_FAIL;
|
||||
|
||||
switch (hp->h_addrtype) {
|
||||
|
||||
case AF_INET:;
|
||||
uint32_t **addr_list;
|
||||
|
||||
addr_list = (uint32_t **) hp->h_addr_list;
|
||||
for (; *addr_list != NULL; addr_list++) {
|
||||
struct addrinfo *node =
|
||||
NSZoneCalloc(NULL, 1, sizeof(struct addrinfo));
|
||||
struct sockaddr_in *ipv4 =
|
||||
NSZoneCalloc(NULL, 1, sizeof(struct sockaddr_in));
|
||||
|
||||
node->ai_family = AF_INET;
|
||||
node->ai_addrlen = sizeof(struct sockaddr_in);
|
||||
node->ai_addr = (struct sockaddr *) ipv4;
|
||||
ipv4->sin_family = AF_INET;
|
||||
ipv4->sin_addr.s_addr = **addr_list;
|
||||
|
||||
if (list == NULL)
|
||||
list = current = node;
|
||||
else {
|
||||
current->ai_next = node;
|
||||
current = node;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
*result = list;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void preXP_freeaddrinfo(struct addrinfo *info) {
|
||||
struct addrinfo *next;
|
||||
|
||||
for (; info != NULL; info = next) {
|
||||
next = info->ai_next;
|
||||
NSZoneFree(NULL, info->ai_addr);
|
||||
NSZoneFree(NULL, info);
|
||||
}
|
||||
}
|
||||
|
||||
static int any_getaddrinfo(const char *host, const char *service,
|
||||
const struct addrinfo *hints,
|
||||
struct addrinfo **result)
|
||||
{
|
||||
HANDLE library = LoadLibrary("WS2_32");
|
||||
typeof(getaddrinfo) *function =
|
||||
(typeof(getaddrinfo) *) GetProcAddress(library, "getaddrinfo");
|
||||
|
||||
if (function == NULL) {
|
||||
return preXP_getaddrinfo(host, service, hints, result);
|
||||
} else {
|
||||
return function(host, service, hints, result);
|
||||
}
|
||||
}
|
||||
|
||||
static void any_freeaddrinfo(struct addrinfo *info) {
|
||||
HANDLE library = LoadLibrary("WS2_32");
|
||||
typeof(freeaddrinfo) *function =
|
||||
(typeof(freeaddrinfo) *) GetProcAddress(library, "freeaddrinfo");
|
||||
|
||||
if (function == NULL) {
|
||||
return preXP_freeaddrinfo(info);
|
||||
} else {
|
||||
return function(info);
|
||||
}
|
||||
}
|
||||
|
||||
static struct addrinfo *blockingRequest(CFHostRequest *request) {
|
||||
struct addrinfo *result;
|
||||
|
||||
if (any_getaddrinfo(request->_name, NULL, NULL, &result) != 0)
|
||||
return NULL;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static __stdcall unsigned addressResolverThread(void *arg) {
|
||||
CFAddressResolverThreadInfo *info = (CFAddressResolverThreadInfo *) arg;
|
||||
|
||||
while (YES) {
|
||||
Boolean queueEmpty;
|
||||
|
||||
EnterCriticalSection(&(info->queueLock));
|
||||
queueEmpty = (info->queueCount == 0) ? TRUE : FALSE;
|
||||
LeaveCriticalSection(&(info->queueLock));
|
||||
|
||||
if (queueEmpty) {
|
||||
NSCooperativeThreadBlocking();
|
||||
WaitForSingleObject(info->queueEvent, INFINITE);
|
||||
NSCooperativeThreadWaiting();
|
||||
}
|
||||
|
||||
CFHostRequest *request = NULL;
|
||||
|
||||
EnterCriticalSection(&(info->queueLock));
|
||||
|
||||
while (info->queueCount > 0 && request == NULL) {
|
||||
request = info->queue[0];
|
||||
|
||||
info->queueCount--;
|
||||
|
||||
int i;
|
||||
for (i = 0; i < info->queueCount; i++)
|
||||
info->queue[i] = info->queue[i + 1];
|
||||
}
|
||||
if (request != NULL)
|
||||
request->_state = CFHostRequestInProgress;
|
||||
|
||||
LeaveCriticalSection(&(info->queueLock));
|
||||
|
||||
if (request != NULL) {
|
||||
struct addrinfo *addressList = blockingRequest(request);
|
||||
|
||||
HANDLE event = NULL;
|
||||
|
||||
EnterCriticalSection(&(info->queueLock));
|
||||
request->_addressList = addressList;
|
||||
|
||||
if (request->_state == CFHostRequestInProgress) {
|
||||
request->_state = CFHostRequestDone;
|
||||
event = request->_event;
|
||||
request = NULL;
|
||||
}
|
||||
LeaveCriticalSection(&(info->queueLock));
|
||||
|
||||
if (request != NULL) {
|
||||
if (request->_addressList != NULL)
|
||||
any_freeaddrinfo(request->_addressList);
|
||||
NSZoneFree(NULL, request->_name);
|
||||
NSZoneFree(NULL, request);
|
||||
}
|
||||
|
||||
if (event != NULL) {
|
||||
SetEvent(event);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
- (void) handleMonitorIndicatesSignaled: (NSHandleMonitor_win32 *) monitor {
|
||||
|
||||
if (_request == NULL) {
|
||||
// cancelled
|
||||
return;
|
||||
}
|
||||
|
||||
CloseHandle(_request->_event);
|
||||
_request->_event = NULL;
|
||||
[_monitor invalidate];
|
||||
[_monitor setDelegate: nil];
|
||||
[_monitor autorelease];
|
||||
_monitor = nil;
|
||||
|
||||
if (_addressing != NULL) {
|
||||
CFRelease(_addressing);
|
||||
_addressing = NULL;
|
||||
}
|
||||
if (_request->_addressList == NULL) {
|
||||
if (NSDebugEnabled)
|
||||
NSLog(@"Host %@ did not resolve", _name);
|
||||
} else {
|
||||
int i;
|
||||
|
||||
_addressing = CFArrayCreateMutable(NULL, 0, &kCFTypeArrayCallBacks);
|
||||
|
||||
struct addrinfo *check = _request->_addressList, *next;
|
||||
for (; check != NULL; check = next) {
|
||||
next = check->ai_next;
|
||||
|
||||
CFDataRef data = CFDataCreate(NULL, (void *) check->ai_addr,
|
||||
check->ai_addrlen);
|
||||
|
||||
CFArrayAppendValue(_addressing, data);
|
||||
CFRelease(data);
|
||||
}
|
||||
}
|
||||
if (_request->_addressList != NULL)
|
||||
any_freeaddrinfo(_request->_addressList);
|
||||
NSZoneFree(NULL, _request->_name);
|
||||
NSZoneFree(NULL, _request);
|
||||
_request = NULL;
|
||||
|
||||
if (_callback != NULL)
|
||||
_callback(self, kCFHostAddresses, NULL, _context.info);
|
||||
}
|
||||
|
||||
- (void) handleMonitorIndicatesAbandoned: (NSHandleMonitor_win32 *) monitor {
|
||||
}
|
||||
|
||||
static pthread_mutex_t asyncCreationLock = PTHREAD_MUTEX_INITIALIZER;
|
||||
static CFAddressResolverThreadInfo *asyncInfo;
|
||||
|
||||
static CFAddressResolverThreadInfo *startResolverThreadIfNeeded() {
|
||||
pthread_mutex_lock(&asyncCreationLock);
|
||||
|
||||
if (asyncInfo == NULL) {
|
||||
asyncInfo = NSZoneMalloc(NULL, sizeof(CFAddressResolverThreadInfo));
|
||||
|
||||
InitializeCriticalSection(&(asyncInfo->queueLock));
|
||||
asyncInfo->queueEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
|
||||
|
||||
asyncInfo->queueCapacity = 1;
|
||||
asyncInfo->queueCount = 0;
|
||||
asyncInfo->queue = NSZoneMalloc(NULL, sizeof(CFHostRequest *) *
|
||||
asyncInfo->queueCapacity);
|
||||
|
||||
unsigned threadAddr;
|
||||
_beginthreadex(NULL, 0, addressResolverThread, asyncInfo, 0,
|
||||
&threadAddr);
|
||||
}
|
||||
pthread_mutex_unlock(&asyncCreationLock);
|
||||
|
||||
return asyncInfo;
|
||||
}
|
||||
|
||||
#if 1
|
||||
#define SYNCHRONOUS 0
|
||||
#else
|
||||
#warning disable
|
||||
#define SYNCHRONOUS 1
|
||||
#endif
|
||||
|
||||
static void queueHostToAddressResolver(CFHostRef host) {
|
||||
if (SYNCHRONOUS) {
|
||||
int addressCount = 0;
|
||||
struct addrinfo *addressList = blockingRequest(host->_request);
|
||||
|
||||
host->_request->_state = CFHostRequestDone;
|
||||
host->_request->_addressList = addressList;
|
||||
|
||||
SetEvent(host->_request->_event);
|
||||
} else {
|
||||
CFAddressResolverThreadInfo *info = startResolverThreadIfNeeded();
|
||||
|
||||
EnterCriticalSection(&(info->queueLock));
|
||||
if (info->queueCount + 1 >= info->queueCapacity) {
|
||||
info->queueCapacity *= 2;
|
||||
info->queue = NSZoneRealloc(NULL, info->queue,
|
||||
sizeof(CFHostRequest *) *
|
||||
info->queueCapacity);
|
||||
}
|
||||
info->queue[info->queueCount++] = host->_request;
|
||||
LeaveCriticalSection(&(info->queueLock));
|
||||
|
||||
SetEvent(info->queueEvent);
|
||||
}
|
||||
}
|
||||
|
||||
static void cancelHostInAddressResolverIfNeeded(CFHostRef self) {
|
||||
|
||||
if (self->_request == NULL)
|
||||
return;
|
||||
|
||||
if (SYNCHRONOUS) {
|
||||
} else {
|
||||
CFAddressResolverThreadInfo *info;
|
||||
|
||||
if ((info = asyncInfo) == NULL)
|
||||
return;
|
||||
|
||||
EnterCriticalSection(&(info->queueLock));
|
||||
|
||||
if (self->_request->_state == CFHostRequestInProgress) {
|
||||
self->_request->_state = CFHostRequestDeallocate;
|
||||
self->_request = NULL;
|
||||
} else {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < info->queueCount; i++)
|
||||
if (info->queue[i] == self->_request) {
|
||||
info->queueCount--;
|
||||
for (; i < info->queueCount; i++)
|
||||
info->queue[i] = info->queue[i + 1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
LeaveCriticalSection(&(info->queueLock));
|
||||
|
||||
if (self->_request != NULL) {
|
||||
NSZoneFree(NULL, self->_request->_name);
|
||||
NSZoneFree(NULL, self->_request);
|
||||
self->_request = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
static void queueHostToAddressResolver(CFHostRef host) {
|
||||
}
|
||||
static void cancelHostInAddressResolverIfNeeded(CFHostRef host) {
|
||||
}
|
||||
#endif
|
||||
|
||||
CFTypeID CFHostGetTypeID() {
|
||||
NSUnimplementedFunction();
|
||||
return 0;
|
||||
}
|
||||
|
||||
CFHostRef CFHostCreateCopy(CFAllocatorRef alloc, CFHostRef self) {
|
||||
NSUnimplementedFunction();
|
||||
return 0;
|
||||
}
|
||||
|
||||
CFHostRef CFHostCreateWithAddress(CFAllocatorRef allocator, CFDataRef address) {
|
||||
NSUnimplementedFunction();
|
||||
return 0;
|
||||
}
|
||||
|
||||
CFHostRef CFHostCreateWithName(CFAllocatorRef allocator, CFStringRef name) {
|
||||
CFHostRef result = (CFHostRef) [__CFHost allocWithZone: NULL];
|
||||
|
||||
result->_name = CFStringCreateCopy(allocator, name);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
CFRelease(_name);
|
||||
if (self->_context.info != NULL && self->_context.release != NULL)
|
||||
self->_context.release(self->_context.info);
|
||||
CFRelease(_addressing);
|
||||
#ifdef WINDOWS
|
||||
if (self->_event != NULL)
|
||||
CloseHandle(self->_event);
|
||||
|
||||
[self->_monitor setDelegate: nil];
|
||||
[self->_monitor invalidate];
|
||||
[self->_monitor release];
|
||||
#endif
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
CFArrayRef CFHostGetAddressing(CFHostRef self, Boolean *hasBeenResolved) {
|
||||
if (hasBeenResolved != NULL)
|
||||
*hasBeenResolved = self->_hasResolvedAddressing;
|
||||
|
||||
return self->_addressing;
|
||||
}
|
||||
|
||||
CFArrayRef CFHostGetNames(CFHostRef self, Boolean *hasBeenResolved) {
|
||||
NSUnimplementedFunction();
|
||||
return 0;
|
||||
}
|
||||
|
||||
CFDataRef CFHostGetReachability(CFHostRef self, Boolean *hasBeenResolved) {
|
||||
NSUnimplementedFunction();
|
||||
return 0;
|
||||
}
|
||||
|
||||
Boolean CFHostSetClient(CFHostRef self, CFHostClientCallBack callback,
|
||||
CFHostClientContext *context)
|
||||
{
|
||||
if (self->_context.info != NULL && self->_context.release != NULL)
|
||||
self->_context.release(self->_context.info);
|
||||
|
||||
self->_callback = callback;
|
||||
if (context != NULL)
|
||||
self->_context = *context;
|
||||
else {
|
||||
self->_context.version = 0;
|
||||
self->_context.info = NULL;
|
||||
self->_context.retain = NULL;
|
||||
self->_context.release = NULL;
|
||||
self->_context.copyDescription = NULL;
|
||||
}
|
||||
|
||||
if (self->_callback != NULL) {
|
||||
if (self->_context.info != NULL && self->_context.retain != NULL)
|
||||
self->_context.info =
|
||||
(void *) self->_context.retain(self->_context.info);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void CFHostCreateEventIfNeeded(CFHostRef self) {
|
||||
#ifdef WINDOWS
|
||||
if (self->_event == NULL) {
|
||||
self->_event = CreateEvent(NULL, FALSE, FALSE, NULL);
|
||||
self->_monitor = [[NSHandleMonitor_win32
|
||||
handleMonitorWithHandle: self->_event] retain];
|
||||
[self->_monitor setDelegate: self];
|
||||
[self->_monitor setCurrentActivity: Win32HandleSignaled];
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Boolean CFHostStartInfoResolution(CFHostRef self, CFHostInfoType infoType,
|
||||
CFStreamError *streamError)
|
||||
{
|
||||
|
||||
switch (infoType) {
|
||||
|
||||
case kCFHostAddresses:
|
||||
if (self->_hasResolvedAddressing) {
|
||||
NSLog(@"CFHostStartInfoResolution, addressing already resolved");
|
||||
return TRUE;
|
||||
}
|
||||
if (self->_callback != NULL) {
|
||||
if (self->_request != NULL) {
|
||||
NSLog(@"CFHostStartInfoResolution already started");
|
||||
return FALSE;
|
||||
}
|
||||
char *cStringName = NSZoneMalloc(NULL, MAXHOSTNAMELEN + 1);
|
||||
|
||||
// this encoding is probably wrong but CFStringGetCString can do it
|
||||
if (!CFStringGetCString(self->_name, cStringName, MAXHOSTNAMELEN,
|
||||
kCFStringEncodingISOLatin1)) {
|
||||
NSLog(@"CFStringGetCString failed for CFHostRef name %@",
|
||||
self->_name);
|
||||
NSZoneFree(NULL, cStringName);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
self->_request = NSZoneMalloc(NULL, sizeof(CFHostRequest));
|
||||
self->_request->_state = CFHostRequestInQueue;
|
||||
self->_request->_name = cStringName;
|
||||
self->_request->_addressList = NULL;
|
||||
CFHostCreateEventIfNeeded(self);
|
||||
#ifdef WINDOWS
|
||||
self->_request->_event = self->_event;
|
||||
#endif
|
||||
|
||||
queueHostToAddressResolver(self);
|
||||
return TRUE;
|
||||
} else {
|
||||
NSUnimplementedFunction();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
case kCFHostNames:
|
||||
NSUnimplementedFunction();
|
||||
return FALSE;
|
||||
|
||||
case kCFHostReachability:
|
||||
NSUnimplementedFunction();
|
||||
return FALSE;
|
||||
|
||||
default:
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"CFHostStartInfoResolution CFHostInfoType is not "
|
||||
@"valid (%d)",
|
||||
infoType];
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void CFHostCancelInfoResolution(CFHostRef self, CFHostInfoType infoType) {
|
||||
switch (infoType) {
|
||||
|
||||
case kCFHostAddresses:
|
||||
cancelHostInAddressResolverIfNeeded(self);
|
||||
break;
|
||||
|
||||
case kCFHostNames:
|
||||
NSUnimplementedFunction();
|
||||
break;
|
||||
|
||||
case kCFHostReachability:
|
||||
NSUnimplementedFunction();
|
||||
break;
|
||||
|
||||
default:
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"CFHostCancelInfoResolution CFHostInfoType is not "
|
||||
@"valid (%d)",
|
||||
infoType];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void CFHostScheduleWithRunLoop(CFHostRef self, CFRunLoopRef runLoop,
|
||||
CFStringRef mode)
|
||||
{
|
||||
if (runLoop != CFRunLoopGetCurrent())
|
||||
NSUnimplementedFunction();
|
||||
|
||||
CFHostCreateEventIfNeeded(self);
|
||||
#ifdef WINDOWS
|
||||
[(NSRunLoop *) runLoop addInputSource: self->_monitor
|
||||
forMode: (NSString *) mode];
|
||||
#endif
|
||||
}
|
||||
|
||||
void CFHostUnscheduleFromRunLoop(CFHostRef self, CFRunLoopRef runLoop,
|
||||
CFStringRef mode)
|
||||
{
|
||||
if (runLoop != CFRunLoopGetCurrent())
|
||||
NSUnimplementedFunction();
|
||||
|
||||
#ifdef WINDOWS
|
||||
[(NSRunLoop *) runLoop removeInputSource: self->_monitor
|
||||
forMode: (NSString *) mode];
|
||||
#endif
|
||||
}
|
||||
|
||||
@end
|
@ -1,3 +0,0 @@
|
||||
#import <CFNetwork/CFHost.h>
|
||||
|
||||
typedef struct __CFNetService *CFNetServiceRef;
|
@ -1,3 +0,0 @@
|
||||
#import <CFNetwork/CFHost.h>
|
||||
#import <CFNetwork/CFNetServices.h>
|
||||
#import <CFNetwork/CFSocketStream.h>
|
@ -1,303 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
FE74338610A89A9D004CDF00 /* CFNetwork.h in Headers */ = {isa = PBXBuildFile; fileRef = FE74338510A89A9D004CDF00 /* CFNetwork.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FEC121A910EFC6C000FD1B47 /* CFSocketStream.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121A810EFC6C000FD1B47 /* CFSocketStream.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FEC121CD10EFC89500FD1B47 /* CFNetServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121CC10EFC89500FD1B47 /* CFNetServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FEC121D710EFC92800FD1B47 /* CFHost.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC121D610EFC92800FD1B47 /* CFHost.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FEC1221910EFCB9A00FD1B47 /* CFNetworkExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FEC1221810EFCB9A00FD1B47 /* CFNetworkExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CFNetwork.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CFNetwork.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE7084D21431172900B99A95 /* windows-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FE74338510A89A9D004CDF00 /* CFNetwork.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFNetwork.h; sourceTree = "<group>"; };
|
||||
FEC0A3A117093576002A60B7 /* darwin-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3A217093576002A60B7 /* darwin-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3A317093576002A60B7 /* darwin-x86_64-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3A417093576002A60B7 /* freebsd-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3A517093576002A60B7 /* linux-arm-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3A617093576002A60B7 /* linux-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3A717093576002A60B7 /* linux-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3A817093576002A60B7 /* solaris-sparc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC121A810EFC6C000FD1B47 /* CFSocketStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFSocketStream.h; sourceTree = "<group>"; };
|
||||
FEC121CC10EFC89500FD1B47 /* CFNetServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFNetServices.h; sourceTree = "<group>"; };
|
||||
FEC121D610EFC92800FD1B47 /* CFHost.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFHost.h; sourceTree = "<group>"; };
|
||||
FEC1221810EFCB9A00FD1B47 /* CFNetworkExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFNetworkExport.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5B0486A6940098B216 /* CFNetwork.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0867D691FE84028FC02AAC07 /* CFNetwork */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE1E55BD143030B7000D60A1 /* xcconfig */,
|
||||
FEC1221810EFCB9A00FD1B47 /* CFNetworkExport.h */,
|
||||
FEC121D610EFC92800FD1B47 /* CFHost.h */,
|
||||
FEC121A810EFC6C000FD1B47 /* CFSocketStream.h */,
|
||||
FE74338510A89A9D004CDF00 /* CFNetwork.h */,
|
||||
FEC121CC10EFC89500FD1B47 /* CFNetServices.h */,
|
||||
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
name = CFNetwork;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1665FE841158C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE1E55BD143030B7000D60A1 /* xcconfig */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEC0A3A117093576002A60B7 /* darwin-i386-framework.xcconfig */,
|
||||
FEC0A3A217093576002A60B7 /* darwin-ppc-framework.xcconfig */,
|
||||
FEC0A3A317093576002A60B7 /* darwin-x86_64-framework.xcconfig */,
|
||||
FEC0A3A417093576002A60B7 /* freebsd-i386-framework.xcconfig */,
|
||||
FEC0A3A517093576002A60B7 /* linux-arm-framework.xcconfig */,
|
||||
FEC0A3A617093576002A60B7 /* linux-i386-framework.xcconfig */,
|
||||
FEC0A3A717093576002A60B7 /* linux-ppc-framework.xcconfig */,
|
||||
FEC0A3A817093576002A60B7 /* solaris-sparc-framework.xcconfig */,
|
||||
FE7084D21431172900B99A95 /* windows-i386-framework.xcconfig */,
|
||||
);
|
||||
name = xcconfig;
|
||||
path = ../xcconfig;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8DC2EF500486A6940098B216 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE74338610A89A9D004CDF00 /* CFNetwork.h in Headers */,
|
||||
FEC121A910EFC6C000FD1B47 /* CFSocketStream.h in Headers */,
|
||||
FEC121CD10EFC89500FD1B47 /* CFNetServices.h in Headers */,
|
||||
FEC121D710EFC92800FD1B47 /* CFHost.h in Headers */,
|
||||
FEC1221910EFCB9A00FD1B47 /* CFNetworkExport.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8DC2EF4F0486A6940098B216 /* CFNetwork */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CFNetwork" */;
|
||||
buildPhases = (
|
||||
8DC2EF500486A6940098B216 /* Headers */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = CFNetwork;
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CFNetwork;
|
||||
productReference = 8DC2EF5B0486A6940098B216 /* CFNetwork.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
};
|
||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CFNetwork" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* CFNetwork */;
|
||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8DC2EF4F0486A6940098B216 /* CFNetwork */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C1667FE841158C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB91AE08733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE7084D21431172900B99A95 /* windows-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CFNetwork;
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
1DEB91AF08733DA50010E9CD /* Linux-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3A617093576002A60B7 /* linux-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CFNetwork;
|
||||
};
|
||||
name = "Linux-i386";
|
||||
};
|
||||
1DEB91B208733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
1DEB91B308733DA50010E9CD /* Linux-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Linux-i386";
|
||||
};
|
||||
CFC5B4651AF4687600FBB52A /* Darwin-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Darwin-i386";
|
||||
};
|
||||
CFC5B4661AF4687600FBB52A /* Darwin-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3A117093576002A60B7 /* darwin-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CFNetwork;
|
||||
};
|
||||
name = "Darwin-i386";
|
||||
};
|
||||
CFC5B46B1AF4687C00FBB52A /* FreeBSD-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "FreeBSD-i386";
|
||||
};
|
||||
CFC5B46C1AF4687C00FBB52A /* FreeBSD-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3A417093576002A60B7 /* freebsd-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CFNetwork;
|
||||
};
|
||||
name = "FreeBSD-i386";
|
||||
};
|
||||
CFC5B4711AF468AB00FBB52A /* Darwin-x86_64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Darwin-x86_64";
|
||||
};
|
||||
CFC5B4721AF468AB00FBB52A /* Darwin-x86_64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3A317093576002A60B7 /* darwin-x86_64-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CFNetwork;
|
||||
};
|
||||
name = "Darwin-x86_64";
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CFNetwork" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91AE08733DA50010E9CD /* Windows-i386 */,
|
||||
CFC5B46C1AF4687C00FBB52A /* FreeBSD-i386 */,
|
||||
CFC5B4661AF4687600FBB52A /* Darwin-i386 */,
|
||||
CFC5B4721AF468AB00FBB52A /* Darwin-x86_64 */,
|
||||
1DEB91AF08733DA50010E9CD /* Linux-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Linux-i386";
|
||||
};
|
||||
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CFNetwork" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91B208733DA50010E9CD /* Windows-i386 */,
|
||||
CFC5B46B1AF4687C00FBB52A /* FreeBSD-i386 */,
|
||||
CFC5B4651AF4687600FBB52A /* Darwin-i386 */,
|
||||
CFC5B4711AF468AB00FBB52A /* Darwin-x86_64 */,
|
||||
1DEB91B308733DA50010E9CD /* Linux-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Linux-i386";
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
|
||||
#ifdef __clang__
|
||||
#define CFNETWORK_DLLEXPORT
|
||||
#define CFNETWORK_DLLIMPORT
|
||||
#else
|
||||
#define CFNETWORK_DLLEXPORT __declspec(dllexport)
|
||||
#define CFNETWORK_DLLIMPORT __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#if defined(__WIN32__)
|
||||
#if defined(CFNETWORK_INSIDE_BUILD)
|
||||
#define CFNETWORK_EXPORT extern "C" CFNETWORK_DLLEXPORT
|
||||
#else
|
||||
#define CFNETWORK_EXPORT extern "C" CFNETWORK_DLLIMPORT
|
||||
#endif
|
||||
#else
|
||||
#define CFNETWORK_EXPORT extern "C"
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#if defined(__WIN32__)
|
||||
#if defined(CFNETWORK_INSIDE_BUILD)
|
||||
#define CFNETWORK_EXPORT CFNETWORK_DLLEXPORT extern
|
||||
#else
|
||||
#define CFNETWORK_EXPORT CFNETWORK_DLLIMPORT extern
|
||||
#endif
|
||||
#else
|
||||
#define CFNETWORK_EXPORT extern
|
||||
#endif
|
||||
|
||||
#endif // __cplusplus
|
@ -1,84 +0,0 @@
|
||||
#import <CFNetwork/CFNetServices.h>
|
||||
#import <CFNetwork/CFNetworkExport.h>
|
||||
#import <CoreFoundation/CoreFoundation.h>
|
||||
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertyShouldCloseNativeSocket;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySocketSecurityLevel;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySOCKSProxy;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySSLPeerCertificates;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySSLPeerTrust;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySSLSettings;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertyProxyLocalByPass;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySocketRemoteHost;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySocketRemoteNetService;
|
||||
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLLevel;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLAllowsExpiredCertificates;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLAllowsExpiredRoots;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLAllowsAnyRoot;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLValidatesCertificateChain;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLPeerName;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLCertificates;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSSLIsServer;
|
||||
|
||||
typedef enum {
|
||||
kCFStreamSocketSecurityNone = 0,
|
||||
kCFStreamSocketSecuritySSLv2,
|
||||
kCFStreamSocketSecuritySSLv3,
|
||||
kCFStreamSocketSecuritySSLv23,
|
||||
kCFStreamSocketSecurityTLSv1
|
||||
} CFStreamSocketSecurityProtocol;
|
||||
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSocketSecurityLevelNone;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSocketSecurityLevelSSLv2;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSocketSecurityLevelSSLv3;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSocketSecurityLevelTLSv1;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSocketSecurityLevelNegotiatedSSL;
|
||||
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySOCKSProxyHost;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySOCKSProxyPort;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySOCKSVersion;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSocketSOCKSVersion4;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamSocketSOCKSVersion5;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySOCKSUser;
|
||||
CFNETWORK_EXPORT const CFStringRef kCFStreamPropertySOCKSPassword;
|
||||
|
||||
CFNETWORK_EXPORT const CFIndex kCFStreamErrorDomainWinSock;
|
||||
|
||||
enum {
|
||||
kCFStreamErrorSOCKSSubDomainNone = 0,
|
||||
kCFStreamErrorSOCKSSubDomainVersionCode = 1,
|
||||
kCFStreamErrorSOCKS4SubDomainResponse = 2,
|
||||
kCFStreamErrorSOCKS5SubDomainUserPass = 3,
|
||||
kCFStreamErrorSOCKS5SubDomainMethod = 4,
|
||||
kCFStreamErrorSOCKS5SubDomainResponse = 5
|
||||
};
|
||||
|
||||
/* kCFStreamErrorSOCKSSubDomainNone*/
|
||||
enum {
|
||||
kCFStreamErrorSOCKS5BadResponseAddr = 1,
|
||||
kCFStreamErrorSOCKS5BadState = 2,
|
||||
kCFStreamErrorSOCKSUnknownClientVersion = 3
|
||||
};
|
||||
|
||||
/* kCFStreamErrorSOCKS4SubDomainResponse*/
|
||||
enum {
|
||||
kCFStreamErrorSOCKS4RequestFailed = 91,
|
||||
kCFStreamErrorSOCKS4IdentdFailed = 92,
|
||||
kCFStreamErrorSOCKS4IdConflict = 93
|
||||
};
|
||||
|
||||
/* kCFStreamErrorSOCKS5SubDomainMethod*/
|
||||
enum {
|
||||
kSOCKS5NoAcceptableMethod = 0xFF
|
||||
};
|
||||
|
||||
CFNETWORK_EXPORT Boolean CFSocketStreamPairSetSecurityProtocol(CFReadStreamRef socketReadStream, CFWriteStreamRef socketWriteStream, CFStreamSocketSecurityProtocol securityProtocol);
|
||||
|
||||
CFNETWORK_EXPORT SInt32 CFSocketStreamSOCKSGetError(CFStreamError *error);
|
||||
|
||||
CFNETWORK_EXPORT SInt32 CFSocketStreamSOCKSGetErrorSubdomain(CFStreamError *error);
|
||||
|
||||
CFNETWORK_EXPORT void CFStreamCreatePairWithSocketToCFHost(CFAllocatorRef alloc, CFHostRef host, SInt32 port, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream);
|
||||
|
||||
CFNETWORK_EXPORT void CFStreamCreatePairWithSocketToNetService(CFAllocatorRef alloc, CFNetServiceRef service, CFReadStreamRef *readStream, CFWriteStreamRef *writeStream);
|
@ -1,63 +0,0 @@
|
||||
#import <CFNetwork/CFSocketStream.h>
|
||||
#import <Foundation/NSString.h>
|
||||
|
||||
/************* These values are also in NSStream, keep in sync */
|
||||
|
||||
const CFStringRef kCFStreamPropertyShouldCloseNativeSocket =
|
||||
(CFStringRef) @"kCFStreamPropertyShouldCloseNativeSocket";
|
||||
const CFStringRef kCFStreamPropertySocketSecurityLevel =
|
||||
(CFStringRef) @"kCFStreamPropertySocketSecurityLevel";
|
||||
const CFStringRef kCFStreamPropertySOCKSProxy =
|
||||
(CFStringRef) @"kCFStreamPropertySOCKSProxy";
|
||||
const CFStringRef kCFStreamPropertySSLPeerCertificates =
|
||||
(CFStringRef) @"kCFStreamPropertySSLPeerCertificates";
|
||||
const CFStringRef kCFStreamPropertySSLPeerTrust =
|
||||
(CFStringRef) @"kCFStreamPropertySSLPeerTrust";
|
||||
const CFStringRef kCFStreamPropertySSLSettings =
|
||||
(CFStringRef) @"kCFStreamPropertySSLSettings";
|
||||
const CFStringRef kCFStreamPropertyProxyLocalByPass =
|
||||
(CFStringRef) @"kCFStreamPropertyProxyLocalByPass";
|
||||
const CFStringRef kCFStreamPropertySocketRemoteHost =
|
||||
(CFStringRef) @"kCFStreamPropertySocketRemoteHost";
|
||||
const CFStringRef kCFStreamPropertySocketRemoteNetService =
|
||||
(CFStringRef) @"kCFStreamPropertySocketRemoteNetService";
|
||||
|
||||
const CFStringRef kCFStreamSSLLevel = (CFStringRef) @"kCFStreamSSLLevel";
|
||||
const CFStringRef kCFStreamSSLAllowsExpiredCertificates =
|
||||
(CFStringRef) @"kCFStreamSSLAllowsExpiredCertificates";
|
||||
const CFStringRef kCFStreamSSLAllowsExpiredRoots =
|
||||
(CFStringRef) @"kCFStreamSSLAllowsExpiredRoots";
|
||||
const CFStringRef kCFStreamSSLAllowsAnyRoot =
|
||||
(CFStringRef) @"kCFStreamSSLAllowsAnyRoot";
|
||||
const CFStringRef kCFStreamSSLValidatesCertificateChain =
|
||||
(CFStringRef) @"kCFStreamSSLValidatesCertificateChain";
|
||||
const CFStringRef kCFStreamSSLPeerName = (CFStringRef) @"kCFStreamSSLPeerName";
|
||||
const CFStringRef kCFStreamSSLCertificates =
|
||||
(CFStringRef) @"kCFStreamSSLCertificates";
|
||||
const CFStringRef kCFStreamSSLIsServer = (CFStringRef) @"kCFStreamSSLIsServer";
|
||||
|
||||
const CFStringRef kCFStreamSocketSecurityLevelNone =
|
||||
(CFStringRef) @"kCFStreamSocketSecurityLevelNone";
|
||||
const CFStringRef kCFStreamSocketSecurityLevelSSLv2 =
|
||||
(CFStringRef) @"kCFStreamSocketSecurityLevelSSLv2";
|
||||
const CFStringRef kCFStreamSocketSecurityLevelSSLv3 =
|
||||
(CFStringRef) @"kCFStreamSocketSecurityLevelSSLv3";
|
||||
const CFStringRef kCFStreamSocketSecurityLevelTLSv1 =
|
||||
(CFStringRef) @"kCFStreamSocketSecurityLevelTLSv1";
|
||||
const CFStringRef kCFStreamSocketSecurityLevelNegotiatedSSL =
|
||||
(CFStringRef) @"kCFStreamSocketSecurityLevelNegotiatedSSL";
|
||||
|
||||
const CFStringRef kCFStreamPropertySOCKSProxyHost =
|
||||
(CFStringRef) @"kCFStreamPropertySOCKSProxyHost";
|
||||
const CFStringRef kCFStreamPropertySOCKSProxyPort =
|
||||
(CFStringRef) @"kCFStreamPropertySOCKSProxyPort";
|
||||
const CFStringRef kCFStreamPropertySOCKSVersion =
|
||||
(CFStringRef) @"kCFStreamPropertySOCKSVersion";
|
||||
const CFStringRef kCFStreamSocketSOCKSVersion4 =
|
||||
(CFStringRef) @"kCFStreamSocketSOCKSVersion4";
|
||||
const CFStringRef kCFStreamSocketSOCKSVersion5 =
|
||||
(CFStringRef) @"kCFStreamSocketSOCKSVersion5";
|
||||
const CFStringRef kCFStreamPropertySOCKSUser =
|
||||
(CFStringRef) @"kCFStreamPropertySOCKSUser";
|
||||
const CFStringRef kCFStreamPropertySOCKSPassword =
|
||||
(CFStringRef) @"kCFStreamPropertySOCKSPassword";
|
@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.cocotron.CFNetwork</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>OBJC</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,41 +0,0 @@
|
||||
#import <CFNetwork/CFSocketStream.h>
|
||||
#import <CoreFoundation/CFDictionary.h>
|
||||
#import <Foundation/CFSSLHandler.h>
|
||||
|
||||
#import <openssl/ssl.h>
|
||||
|
||||
@class NSSocket, NSMutableData;
|
||||
|
||||
@interface CFSSLHandler_openssl : CFSSLHandler {
|
||||
CFDictionaryRef _properties;
|
||||
SSL_METHOD *_method;
|
||||
SSL_CTX *_context;
|
||||
SSL *_connection;
|
||||
BIO *_incoming;
|
||||
BIO *_outgoing;
|
||||
NSInteger _stableBufferCapacity;
|
||||
uint8_t *_stableBuffer;
|
||||
NSMutableData *_readBuffer;
|
||||
}
|
||||
|
||||
- initWithProperties: (CFDictionaryRef) properties;
|
||||
|
||||
- (BOOL) isHandshaking;
|
||||
|
||||
- (NSInteger) writePlaintext: (const uint8_t *) buffer
|
||||
maxLength: (NSUInteger) length;
|
||||
- (NSInteger) writeBytesAvailable;
|
||||
- (BOOL) wantsMoreIncoming;
|
||||
- (NSInteger) readEncrypted: (uint8_t *) buffer maxLength: (NSUInteger) length;
|
||||
|
||||
- (NSInteger) writeEncrypted: (const uint8_t *) buffer
|
||||
maxLength: (NSUInteger) length;
|
||||
- (NSInteger) readBytesAvailable;
|
||||
- (NSInteger) readPlaintext: (uint8_t *) buffer maxLength: (NSUInteger) length;
|
||||
|
||||
- (NSInteger) transferOneBufferFromSSLToSocket: (NSSocket *) socket;
|
||||
- (NSInteger) transferOneBufferFromSocketToSSL: (NSSocket *) socket;
|
||||
|
||||
- (void) runWithSocket: (NSSocket *) socket;
|
||||
|
||||
@end
|
@ -1,325 +0,0 @@
|
||||
#import "CFSSLHandler_openssl.h"
|
||||
#import <Foundation/NSData.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
#import <Foundation/NSSocket.h>
|
||||
|
||||
#import <openssl/err.h>
|
||||
#include <pthread.h>
|
||||
|
||||
@implementation CFSSLHandler (openssl)
|
||||
|
||||
+ allocWithZone: (NSZone *) zone {
|
||||
return NSAllocateObject([CFSSLHandler_openssl class], 0, zone);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation CFSSLHandler_openssl
|
||||
|
||||
static pthread_mutex_t initLock = PTHREAD_MUTEX_INITIALIZER;
|
||||
static pthread_mutex_t *lockTable;
|
||||
|
||||
static void locking_function(int mode, int idx, const char *file, int line) {
|
||||
if (mode & CRYPTO_LOCK) {
|
||||
pthread_mutex_lock(&(lockTable[idx]));
|
||||
} else {
|
||||
pthread_mutex_unlock(&(lockTable[idx]));
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
// We don't need this on Windows but it should be implemented generally
|
||||
static threadid_func(CRYPTO_THREADID *id){
|
||||
}
|
||||
#endif
|
||||
|
||||
+ (void) initialize {
|
||||
if (self == [CFSSLHandler_openssl class]) {
|
||||
pthread_mutex_lock(&initLock);
|
||||
CRYPTO_malloc_init();
|
||||
SSL_load_error_strings();
|
||||
ERR_load_BIO_strings();
|
||||
SSL_library_init();
|
||||
|
||||
int i, numberOfLocks = CRYPTO_num_locks();
|
||||
lockTable = OPENSSL_malloc(numberOfLocks * sizeof(pthread_mutex_t));
|
||||
for (i = 0; i < numberOfLocks; i++)
|
||||
pthread_mutex_init(&(lockTable[i]), NULL);
|
||||
|
||||
CRYPTO_set_locking_callback(locking_function);
|
||||
pthread_mutex_unlock(&initLock);
|
||||
}
|
||||
}
|
||||
|
||||
- initWithProperties: (CFDictionaryRef) properties {
|
||||
_properties = CFRetain(properties);
|
||||
|
||||
CFStringRef level = CFDictionaryGetValue(_properties, kCFStreamSSLLevel);
|
||||
|
||||
if (level == NULL)
|
||||
_method = SSLv23_client_method();
|
||||
else if (CFStringCompare(level, kCFStreamSocketSecurityLevelSSLv3, 0) ==
|
||||
kCFCompareEqualTo)
|
||||
_method = SSLv3_client_method();
|
||||
else if (CFStringCompare(level, kCFStreamSocketSecurityLevelSSLv2, 0) ==
|
||||
kCFCompareEqualTo)
|
||||
_method = SSLv2_client_method();
|
||||
else if (CFStringCompare(level, kCFStreamSocketSecurityLevelTLSv1, 0) ==
|
||||
kCFCompareEqualTo)
|
||||
_method = TLSv1_client_method();
|
||||
else
|
||||
_method = SSLv23_client_method();
|
||||
|
||||
CFNumberRef validatesCertChain = CFDictionaryGetValue(
|
||||
_properties, kCFStreamSSLValidatesCertificateChain);
|
||||
|
||||
if (validatesCertChain != NULL) {
|
||||
}
|
||||
|
||||
_context = SSL_CTX_new(_method);
|
||||
_connection = SSL_new(_context);
|
||||
_incoming = BIO_new(BIO_s_mem());
|
||||
_outgoing = BIO_new(BIO_s_mem());
|
||||
|
||||
SSL_set_bio(_connection, _incoming, _outgoing);
|
||||
|
||||
SSL_set_connect_state(_connection);
|
||||
|
||||
/* The SSL_read doc.s say that when SSL_read returns Wants More you should
|
||||
use the same arguments the next call. It is a little ambiguous whether
|
||||
the same exact pointer should be used, so we don't chance it and just
|
||||
maintain a buffer for this purpose. */
|
||||
|
||||
_stableBufferCapacity = 8192;
|
||||
_stableBuffer = NSZoneMalloc(NULL, _stableBufferCapacity);
|
||||
_readBuffer = [[NSMutableData alloc] init];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
CFRelease(_properties);
|
||||
SSL_free(_connection);
|
||||
NSZoneFree(NULL, _stableBuffer);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void) close {
|
||||
SSL_shutdown(_connection);
|
||||
}
|
||||
|
||||
- (BOOL) isHandshaking {
|
||||
return SSL_in_init(_connection) ? YES : NO;
|
||||
}
|
||||
|
||||
- (NSInteger) writePlaintext: (const uint8_t *) buffer
|
||||
maxLength: (NSUInteger) length
|
||||
{
|
||||
int result = SSL_write(_connection, buffer, length);
|
||||
|
||||
if (result < 0) {
|
||||
int error = SSL_get_error(_connection, result);
|
||||
|
||||
switch (error) {
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
break;
|
||||
|
||||
case SSL_ERROR_NONE:
|
||||
break;
|
||||
|
||||
case SSL_ERROR_WANT_READ:
|
||||
break;
|
||||
|
||||
default:;
|
||||
char errorCString[256];
|
||||
|
||||
while (error != 0) {
|
||||
ERR_error_string_n(error, errorCString, sizeof(errorCString));
|
||||
|
||||
NSCLog("SSL_write(%d) returned error %d - %s", length, error,
|
||||
errorCString);
|
||||
|
||||
error = ERR_get_error();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSInteger) writeBytesAvailable {
|
||||
return BIO_ctrl_pending(_outgoing);
|
||||
}
|
||||
|
||||
- (BOOL) wantsMoreIncoming {
|
||||
return SSL_want_read(_connection);
|
||||
}
|
||||
|
||||
- (NSInteger) readEncrypted: (uint8_t *) buffer maxLength: (NSUInteger) length {
|
||||
int check = BIO_read(_outgoing, buffer, length);
|
||||
|
||||
if (check <= 0) {
|
||||
// This shouldn't happen unless we read when not ready
|
||||
NSCLog("BIO_read(_outgoing,buffer,%d) returned %d ", length, check);
|
||||
}
|
||||
|
||||
return check;
|
||||
}
|
||||
|
||||
- (NSInteger) writeEncrypted: (const uint8_t *) buffer
|
||||
maxLength: (NSUInteger) length
|
||||
{
|
||||
size_t check = BIO_write(_incoming, buffer, length);
|
||||
|
||||
if (check <= 0) {
|
||||
// This shouldn't happen unless we are out of memory?
|
||||
NSCLog("BIO_write(_incoming,buffer,%d) returned %d ", length, check);
|
||||
}
|
||||
|
||||
return check;
|
||||
}
|
||||
|
||||
- (NSInteger) _readPostSSL: (uint8_t *) buffer maxLength: (NSUInteger) length {
|
||||
int check = SSL_read(_connection, buffer, length);
|
||||
|
||||
if (check <= 0) {
|
||||
int error = SSL_get_error(_connection, check);
|
||||
|
||||
switch (error) {
|
||||
case SSL_ERROR_ZERO_RETURN:
|
||||
return 0;
|
||||
|
||||
case SSL_ERROR_NONE:
|
||||
return 0;
|
||||
|
||||
case SSL_ERROR_WANT_READ:
|
||||
return 0;
|
||||
|
||||
default:;
|
||||
char errorCString[256];
|
||||
|
||||
while (error != 0) {
|
||||
ERR_error_string_n(error, errorCString, sizeof(errorCString));
|
||||
|
||||
NSCLog("SSL_read(%d) returned error %d - %s", length, error,
|
||||
errorCString);
|
||||
|
||||
error = ERR_get_error();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return check;
|
||||
}
|
||||
|
||||
- (NSInteger) readBytesAvailable {
|
||||
/* SSL_pending() is useless here because it doesn't actually process
|
||||
anything, it will return 0 when there are bytes available
|
||||
post-processing.
|
||||
*/
|
||||
if ([_readBuffer length] > 0)
|
||||
return [_readBuffer length];
|
||||
else {
|
||||
NSInteger result = [self _readPostSSL: _stableBuffer
|
||||
maxLength: _stableBufferCapacity];
|
||||
|
||||
if (result <= 0)
|
||||
return 0;
|
||||
|
||||
[_readBuffer appendBytes: _stableBuffer length: result];
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
- (NSInteger) readPlaintext: (uint8_t *) buffer maxLength: (NSUInteger) length {
|
||||
if ([_readBuffer length] > 0) {
|
||||
NSInteger qty = MIN([_readBuffer length], length);
|
||||
|
||||
[_readBuffer getBytes: buffer length: qty];
|
||||
[_readBuffer replaceBytesInRange: NSMakeRange(0, qty)
|
||||
withBytes: NULL
|
||||
length: 0];
|
||||
return qty;
|
||||
}
|
||||
|
||||
return [self _readPostSSL: buffer maxLength: length];
|
||||
}
|
||||
|
||||
- (NSInteger) transferOneBufferFromSSLToSocket: (NSSocket *) socket {
|
||||
NSInteger available = [self readEncrypted: _stableBuffer
|
||||
maxLength: _stableBufferCapacity];
|
||||
|
||||
if (available <= 0)
|
||||
return available;
|
||||
else {
|
||||
NSInteger check = [socket write: _stableBuffer maxLength: available];
|
||||
|
||||
if (check != available)
|
||||
NSCLog("failure socket write:%d=%d", available, check);
|
||||
|
||||
return check;
|
||||
}
|
||||
}
|
||||
|
||||
- (NSInteger) transferOneBufferFromSocketToSSL: (NSSocket *) socket {
|
||||
NSInteger result = [socket read: _stableBuffer
|
||||
maxLength: _stableBufferCapacity];
|
||||
|
||||
if (result <= 0)
|
||||
return result;
|
||||
|
||||
NSInteger check;
|
||||
|
||||
if ((check = [self writeEncrypted: _stableBuffer
|
||||
maxLength: result]) != result) {
|
||||
NSCLog("[sslHandler writeEncrypted:socketBuffer maxLength:%d] failed "
|
||||
"%d",
|
||||
result, check);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (void) runHandshakeIfNeeded: (NSSocket *) socket {
|
||||
while ([self isHandshaking]) {
|
||||
int check = SSL_do_handshake(_connection);
|
||||
|
||||
if (check == 1) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (check == 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
if ([self writeBytesAvailable]) {
|
||||
if ((check = [self transferOneBufferFromSSLToSocket: socket]) <= 0)
|
||||
break;
|
||||
}
|
||||
|
||||
if ([self wantsMoreIncoming]) {
|
||||
if ((check = [self transferOneBufferFromSocketToSSL: socket]) <= 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) runWithSocket: (NSSocket *) socket {
|
||||
while ([self writeBytesAvailable] || [self wantsMoreIncoming]) {
|
||||
NSInteger check;
|
||||
|
||||
if ([self writeBytesAvailable]) {
|
||||
if ((check = [self transferOneBufferFromSSLToSocket: socket]) <= 0)
|
||||
break;
|
||||
}
|
||||
|
||||
if ([self wantsMoreIncoming]) {
|
||||
if ((check = [self transferOneBufferFromSocketToSSL: socket]) <= 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
@ -1,417 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8D576314048677EA00EA77CD /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0AA1909FFE8422F4C02AAC07 /* Foundation.framework */; };
|
||||
8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 8D5B49A704867FD3000E48DA /* InfoPlist.strings */; };
|
||||
FE1DDDEC1711253B003B3AF8 /* windows-i386-bundle.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = FE1DDDEB1711253B003B3AF8 /* windows-i386-bundle.xcconfig */; };
|
||||
FE5C8314121D81470063E96F /* CFSSLHandler_openssl.m in Sources */ = {isa = PBXBuildFile; fileRef = FE5C8313121D81470063E96F /* CFSSLHandler_openssl.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE0513B6121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01A7EC0C5D9B6900AEA51A;
|
||||
remoteInfo = "Foundation-Windows-i386";
|
||||
};
|
||||
FE0513B8121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 6EA04A7709E57D5F0067589C;
|
||||
remoteInfo = "Foundation-Linux-i386";
|
||||
};
|
||||
FE0513BA121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 6E4D932B0A2642BD003D335C;
|
||||
remoteInfo = "Foundation-Solaris-sparc";
|
||||
};
|
||||
FE0513BC121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FED70A6B0C3B3D2C000CBE5B;
|
||||
remoteInfo = "Foundation-Darwin-i386";
|
||||
};
|
||||
FE0513BE121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FED70FB70C3C09C7000CBE5B;
|
||||
remoteInfo = "Foundation-Darwin-ppc";
|
||||
};
|
||||
FE0513C0121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE651A870FBC844C00464BFD;
|
||||
remoteInfo = "Foundation-Darwin-x86_64";
|
||||
};
|
||||
FE0513C2121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 28D487A90FE04E7100DC03EF;
|
||||
remoteInfo = "Foundation-Linux-ppc";
|
||||
};
|
||||
FE0513C4121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 15D921C0105E918000171406;
|
||||
remoteInfo = "Foundation-Linux-arm";
|
||||
};
|
||||
FE0513C6121E05F70097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE30A2FF10C6ED6F00A1BF7F;
|
||||
remoteInfo = "Foundation-FreeBSD-i386";
|
||||
};
|
||||
FE0513C8121E05FD0097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01A5970C5D9B6900AEA51A;
|
||||
remoteInfo = "Foundation-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
0AA1909FFE8422F4C02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
8D576316048677EA00EA77CD /* CFSSLHandler_openssl.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CFSSLHandler_openssl.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
8D576317048677EA00EA77CD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Foundation.xcodeproj; path = ../Foundation/Foundation.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE1DDDEB1711253B003B3AF8 /* windows-i386-bundle.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = "windows-i386-bundle.xcconfig"; path = "../xcconfig/windows-i386-bundle.xcconfig"; sourceTree = "<group>"; };
|
||||
FE5C8312121D81470063E96F /* CFSSLHandler_openssl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CFSSLHandler_openssl.h; sourceTree = "<group>"; };
|
||||
FE5C8313121D81470063E96F /* CFSSLHandler_openssl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CFSSLHandler_openssl.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D576313048677EA00EA77CD /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D576314048677EA00EA77CD /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
089C166AFE841209C02AAC07 /* CFSSLHandler_openssl */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE1DDDEB1711253B003B3AF8 /* windows-i386-bundle.xcconfig */,
|
||||
FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */,
|
||||
FE5C8312121D81470063E96F /* CFSSLHandler_openssl.h */,
|
||||
FE5C8313121D81470063E96F /* CFSSLHandler_openssl.m */,
|
||||
089C167CFE841241C02AAC07 /* Resources */,
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
|
||||
19C28FB6FE9D52B211CA2CBB /* Products */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
name = CFSSLHandler_openssl;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0AA1909FFE8422F4C02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C167CFE841241C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D576317048677EA00EA77CD /* Info.plist */,
|
||||
8D5B49A704867FD3000E48DA /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB6FE9D52B211CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D576316048677EA00EA77CD /* CFSSLHandler_openssl.bundle */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE0513AA121E05F70097BA92 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE0513B7121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513B9121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513BB121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513BD121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513BF121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513C1121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513C3121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513C5121E05F70097BA92 /* Foundation.framework */,
|
||||
FE0513C7121E05F70097BA92 /* Foundation.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D57630D048677EA00EA77CD /* CFSSLHandler_openssl-Windows-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "CFSSLHandler_openssl-Windows-i386" */;
|
||||
buildPhases = (
|
||||
8D57630F048677EA00EA77CD /* Resources */,
|
||||
8D576311048677EA00EA77CD /* Sources */,
|
||||
8D576313048677EA00EA77CD /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FE0513C9121E05FD0097BA92 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "CFSSLHandler_openssl-Windows-i386";
|
||||
productInstallPath = "$(HOME)/Library/Bundles";
|
||||
productName = CFSSLHandler_openssl;
|
||||
productReference = 8D576316048677EA00EA77CD /* CFSSLHandler_openssl.bundle */;
|
||||
productType = "com.apple.product-type.bundle";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
089C1669FE841209C02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
};
|
||||
buildConfigurationList = 1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "CFSSLHandler_openssl" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 089C166AFE841209C02AAC07 /* CFSSLHandler_openssl */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FE0513AA121E05F70097BA92 /* Products */;
|
||||
ProjectRef = FE0513A9121E05F70097BA92 /* Foundation.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D57630D048677EA00EA77CD /* CFSSLHandler_openssl-Windows-i386 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE0513B7121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513B6121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513B9121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513B8121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513BB121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513BA121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513BD121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513BC121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513BF121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513BE121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513C1121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513C0121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513C3121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513C2121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513C5121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513C4121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0513C7121E05F70097BA92 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE0513C6121E05F70097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D57630F048677EA00EA77CD /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D5B49A804867FD3000E48DA /* InfoPlist.strings in Resources */,
|
||||
FE1DDDEC1711253B003B3AF8 /* windows-i386-bundle.xcconfig in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D576311048677EA00EA77CD /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE5C8314121D81470063E96F /* CFSSLHandler_openssl.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FE0513C9121E05FD0097BA92 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Foundation-Windows-i386";
|
||||
targetProxy = FE0513C8121E05FD0097BA92 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
8D5B49A704867FD3000E48DA /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C167EFE841241C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB911B08733D790010E9CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE1DDDEB1711253B003B3AF8 /* windows-i386-bundle.xcconfig */;
|
||||
buildSettings = {
|
||||
EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Windows";
|
||||
EXECUTABLE_SUFFIX = .1.0.dll;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
HEADER_SEARCH_PATHS = "$DSTROOT/openssl-0.9.8h-1/include";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = /Frameworks/Foundation.framework/Resources;
|
||||
LIBRARY_SEARCH_PATHS = "$DSTROOT/openssl-0.9.8h-1/lib";
|
||||
OTHER_LDFLAGS = (
|
||||
"-shared",
|
||||
"-lssl",
|
||||
"-lcrypto",
|
||||
"-lgdi32",
|
||||
"-lws2_32",
|
||||
"-Wl,--enable-auto-import",
|
||||
);
|
||||
PRODUCT_NAME = CFSSLHandler_openssl;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1DEB911C08733D790010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE1DDDEB1711253B003B3AF8 /* windows-i386-bundle.xcconfig */;
|
||||
buildSettings = {
|
||||
EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Windows";
|
||||
EXECUTABLE_SUFFIX = .1.0.dll;
|
||||
HEADER_SEARCH_PATHS = "$DSTROOT/openssl-0.9.8h-1/include";
|
||||
GCC_MODEL_TUNING = G5;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = /Frameworks/Foundation.framework/Resources;
|
||||
LIBRARY_SEARCH_PATHS = "$DSTROOT/openssl-0.9.8h-1/lib";
|
||||
OTHER_LDFLAGS = (
|
||||
"-shared",
|
||||
"-lssl",
|
||||
"-lcrypto",
|
||||
"-lgdi32",
|
||||
"-lws2_32",
|
||||
"-Wl,--enable-auto-import",
|
||||
);
|
||||
PRODUCT_NAME = CFSSLHandler_openssl;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1DEB911F08733D790010E9CD /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1DEB912008733D790010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB911A08733D790010E9CD /* Build configuration list for PBXNativeTarget "CFSSLHandler_openssl-Windows-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB911B08733D790010E9CD /* Debug */,
|
||||
1DEB911C08733D790010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1DEB911E08733D790010E9CD /* Build configuration list for PBXProject "CFSSLHandler_openssl" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB911F08733D790010E9CD /* Debug */,
|
||||
1DEB912008733D790010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
@ -1,46 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.yourcompany.${PRODUCT_NAME:rfc1034Identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>BNDL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>CFPlugInDynamicRegisterFunction</key>
|
||||
<string></string>
|
||||
<key>CFPlugInDynamicRegistration</key>
|
||||
<string>NO</string>
|
||||
<key>CFPlugInFactories</key>
|
||||
<dict>
|
||||
<key>00000000-0000-0000-0000-000000000000</key>
|
||||
<string>MyFactoryFunction</string>
|
||||
</dict>
|
||||
<key>CFPlugInTypes</key>
|
||||
<dict>
|
||||
<key>00000000-0000-0000-0000-000000000000</key>
|
||||
<array>
|
||||
<string>00000000-0000-0000-0000-000000000000</string>
|
||||
</array>
|
||||
</dict>
|
||||
<key>CFPlugInUnloadFunction</key>
|
||||
<string></string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>CFSSHandler_openssl</string>
|
||||
</dict>
|
||||
</plist>
|
9
CMakeLists.txt
Normal file
9
CMakeLists.txt
Normal file
@ -0,0 +1,9 @@
|
||||
project(cocotron)
|
||||
|
||||
add_subdirectory(CoreGraphics)
|
||||
add_subdirectory(Onyx2D)
|
||||
add_subdirectory(AppKit)
|
||||
add_subdirectory(CoreText)
|
||||
add_subdirectory(Cocoa)
|
||||
add_subdirectory(CoreData)
|
||||
add_subdirectory(QuartzCore)
|
@ -1,731 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
C8E0BF9F0F0E6B0E00677729 /* Cocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF3B23A0B35C74700A76FD1 /* Cocoa.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
C8E0BFA20F0E6B0E00677729 /* Cocoa.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */; };
|
||||
C8E0BFA40F0E6B0E00677729 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
|
||||
C8E0BFA50F0E6B0E00677729 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
|
||||
FE01AB170C5D9C3400AEA51A /* Cocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF3B23A0B35C74700A76FD1 /* Cocoa.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE01AB1A0C5D9C3400AEA51A /* Cocoa.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */; };
|
||||
FE01AB1C0C5D9C3400AEA51A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
|
||||
FE01AB1D0C5D9C3400AEA51A /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
|
||||
FE5A873410C6F1E8005E348A /* Cocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF3B23A0B35C74700A76FD1 /* Cocoa.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE5A873710C6F1E8005E348A /* Cocoa.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */; };
|
||||
FE5A873910C6F1E8005E348A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
|
||||
FE5A873A10C6F1E8005E348A /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
|
||||
FECC1DCC108D025D00BD4A91 /* Cocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF3B23A0B35C74700A76FD1 /* Cocoa.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FECC1DCF108D025D00BD4A91 /* Cocoa.m in Sources */ = {isa = PBXBuildFile; fileRef = FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */; };
|
||||
FECC1DD1108D025D00BD4A91 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
|
||||
FECC1DD2108D025D00BD4A91 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D6A5FE840307C02AAC07 /* AppKit.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE01AB240C5D9C3500AEA51A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7135460B36427F006C9493 /* AppKit.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01AAC10C5D9BCB00AEA51A;
|
||||
remoteInfo = "AppKit-Windows-i386";
|
||||
};
|
||||
FE01AB270C5D9C3500AEA51A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE3217D10BB41D16004F000A /* ApplicationServices.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01AAED0C5D9BF900AEA51A;
|
||||
remoteInfo = "ApplicationServices-Windows-i386";
|
||||
};
|
||||
FE78D107126F4CF500CC39CF /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE78D0FF126F4CF500CC39CF /* CoreData.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
|
||||
remoteInfo = "CoreData-Windows-i386";
|
||||
};
|
||||
FE78D109126F4D0700CC39CF /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE78D0FF126F4CF500CC39CF /* CoreData.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
|
||||
remoteInfo = "CoreData-Windows-i386";
|
||||
};
|
||||
FEF80ABD0C5D9F3000FF7CA5 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7135460B36427F006C9493 /* AppKit.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01A8070C5D9BCB00AEA51A;
|
||||
remoteInfo = "AppKit-Windows-i386";
|
||||
};
|
||||
FEF80ABF0C5D9F3400FF7CA5 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE3217D10BB41D16004F000A /* ApplicationServices.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01AAE20C5D9BF900AEA51A;
|
||||
remoteInfo = "ApplicationServices-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
C8E0BFAA0F0E6B0E00677729 /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE01AB210C5D9C3400AEA51A /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE06B0371430E6B30071169B /* darwin-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0381430E6B30071169B /* darwin-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0391430E6B30071169B /* darwin-x86_64.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B03A1430E6B30071169B /* darwin.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = darwin.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B03B1430E6B30071169B /* freebsd-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B03C1430E6B30071169B /* freebsd.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = freebsd.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B03D1430E6B30071169B /* linux-arm.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B03E1430E6B30071169B /* linux-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B03F1430E6B30071169B /* linux-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0401430E6B30071169B /* linux.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = linux.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0411430E6B30071169B /* platform.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = platform.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0421430E6B30071169B /* solaris-sparc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0431430E6B30071169B /* solaris.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = solaris.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0441430E6B30071169B /* windows-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0451430E6B30071169B /* windows.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = windows.xcconfig; sourceTree = "<group>"; };
|
||||
FE3217D10BB41D16004F000A /* ApplicationServices.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ApplicationServices.xcodeproj; path = ../ApplicationServices/ApplicationServices.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE5A873F10C6F1E8005E348A /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE7085281431174600B99A95 /* windows-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FE7135460B36427F006C9493 /* AppKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = AppKit.xcodeproj; path = ../AppKit/AppKit.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE78D0FF126F4CF500CC39CF /* CoreData.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreData.xcodeproj; path = ../CoreData/CoreData.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FEAC294B17AE072400EF2B9D /* windows-i386-clang.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386-clang.xcconfig"; sourceTree = "<group>"; };
|
||||
FECC1DD6108D025D00BD4A91 /* Cocoa.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Cocoa.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FED0C496170BCF700033C8E6 /* darwin-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FED0C497170BCF700033C8E6 /* darwin-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FED0C498170BCF700033C8E6 /* darwin-x86_64-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FED0C499170BCF700033C8E6 /* freebsd-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FED0C49A170BCF700033C8E6 /* linux-arm-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FED0C49B170BCF700033C8E6 /* linux-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FED0C49C170BCF700033C8E6 /* linux-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FED0C49D170BCF700033C8E6 /* solaris-sparc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEF3B23A0B35C74700A76FD1 /* Cocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cocoa.h; sourceTree = "<group>"; };
|
||||
FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cocoa.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
C8E0BFA30F0E6B0E00677729 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C8E0BFA40F0E6B0E00677729 /* Foundation.framework in Frameworks */,
|
||||
C8E0BFA50F0E6B0E00677729 /* AppKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE01AB1B0C5D9C3400AEA51A /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE01AB1C0C5D9C3400AEA51A /* Foundation.framework in Frameworks */,
|
||||
FE01AB1D0C5D9C3400AEA51A /* AppKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A873810C6F1E8005E348A /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE5A873910C6F1E8005E348A /* Foundation.framework in Frameworks */,
|
||||
FE5A873A10C6F1E8005E348A /* AppKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FECC1DD0108D025D00BD4A91 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FECC1DD1108D025D00BD4A91 /* Foundation.framework in Frameworks */,
|
||||
FECC1DD2108D025D00BD4A91 /* AppKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE01AB210C5D9C3400AEA51A /* Cocoa.framework */,
|
||||
C8E0BFAA0F0E6B0E00677729 /* Cocoa.framework */,
|
||||
FECC1DD6108D025D00BD4A91 /* Cocoa.framework */,
|
||||
FE5A873F10C6F1E8005E348A /* Cocoa.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0867D691FE84028FC02AAC07 /* Cocoa */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE06B0361430E6B30071169B /* xcconfig */,
|
||||
FE78D0FF126F4CF500CC39CF /* CoreData.xcodeproj */,
|
||||
FE3217D10BB41D16004F000A /* ApplicationServices.xcodeproj */,
|
||||
FE7135460B36427F006C9493 /* AppKit.xcodeproj */,
|
||||
08FB77AEFE84172EC02AAC07 /* Classes */,
|
||||
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
FEF3B23A0B35C74700A76FD1 /* Cocoa.h */,
|
||||
FEF3B2780B35CB9D00A76FD1 /* Cocoa.m */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
name = Cocoa;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1665FE841158C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0867D6A5FE840307C02AAC07 /* AppKit.framework */,
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE06B0361430E6B30071169B /* xcconfig */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEAC294B17AE072400EF2B9D /* windows-i386-clang.xcconfig */,
|
||||
FED0C496170BCF700033C8E6 /* darwin-i386-framework.xcconfig */,
|
||||
FED0C497170BCF700033C8E6 /* darwin-ppc-framework.xcconfig */,
|
||||
FED0C498170BCF700033C8E6 /* darwin-x86_64-framework.xcconfig */,
|
||||
FED0C499170BCF700033C8E6 /* freebsd-i386-framework.xcconfig */,
|
||||
FED0C49A170BCF700033C8E6 /* linux-arm-framework.xcconfig */,
|
||||
FED0C49B170BCF700033C8E6 /* linux-i386-framework.xcconfig */,
|
||||
FED0C49C170BCF700033C8E6 /* linux-ppc-framework.xcconfig */,
|
||||
FED0C49D170BCF700033C8E6 /* solaris-sparc-framework.xcconfig */,
|
||||
FE06B0371430E6B30071169B /* darwin-i386.xcconfig */,
|
||||
FE06B0381430E6B30071169B /* darwin-ppc.xcconfig */,
|
||||
FE06B0391430E6B30071169B /* darwin-x86_64.xcconfig */,
|
||||
FE06B03A1430E6B30071169B /* darwin.xcconfig */,
|
||||
FE06B03B1430E6B30071169B /* freebsd-i386.xcconfig */,
|
||||
FE06B03C1430E6B30071169B /* freebsd.xcconfig */,
|
||||
FE06B03D1430E6B30071169B /* linux-arm.xcconfig */,
|
||||
FE06B03E1430E6B30071169B /* linux-i386.xcconfig */,
|
||||
FE06B03F1430E6B30071169B /* linux-ppc.xcconfig */,
|
||||
FE06B0401430E6B30071169B /* linux.xcconfig */,
|
||||
FE06B0411430E6B30071169B /* platform.xcconfig */,
|
||||
FE06B0421430E6B30071169B /* solaris-sparc.xcconfig */,
|
||||
FE06B0431430E6B30071169B /* solaris.xcconfig */,
|
||||
FE06B0441430E6B30071169B /* windows-i386.xcconfig */,
|
||||
FE06B0451430E6B30071169B /* windows.xcconfig */,
|
||||
FE7085281431174600B99A95 /* windows-i386-framework.xcconfig */,
|
||||
);
|
||||
name = xcconfig;
|
||||
path = ../xcconfig;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
FE3217D20BB41D16004F000A /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE01AB280C5D9C3500AEA51A /* ApplicationServices.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE7135470B36427F006C9493 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE01AB250C5D9C3500AEA51A /* AppKit.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE78D100126F4CF500CC39CF /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE78D108126F4CF500CC39CF /* CoreData.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
C8E0BF9E0F0E6B0E00677729 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C8E0BF9F0F0E6B0E00677729 /* Cocoa.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE01AB160C5D9C3400AEA51A /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE01AB170C5D9C3400AEA51A /* Cocoa.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A873310C6F1E8005E348A /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE5A873410C6F1E8005E348A /* Cocoa.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FECC1DCB108D025D00BD4A91 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FECC1DCC108D025D00BD4A91 /* Cocoa.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
C8E0BF990F0E6B0E00677729 /* Cocoa-Darwin-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C8E0BFA70F0E6B0E00677729 /* Build configuration list for PBXNativeTarget "Cocoa-Darwin-i386" */;
|
||||
buildPhases = (
|
||||
C8E0BF9E0F0E6B0E00677729 /* Headers */,
|
||||
C8E0BFA00F0E6B0E00677729 /* Resources */,
|
||||
C8E0BFA10F0E6B0E00677729 /* Sources */,
|
||||
C8E0BFA30F0E6B0E00677729 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "Cocoa-Darwin-i386";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = Cocoa;
|
||||
productReference = C8E0BFAA0F0E6B0E00677729 /* Cocoa.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
FE01AB110C5D9C3400AEA51A /* Cocoa-Windows-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FE01AB1F0C5D9C3400AEA51A /* Build configuration list for PBXNativeTarget "Cocoa-Windows-i386" */;
|
||||
buildPhases = (
|
||||
FE01AB160C5D9C3400AEA51A /* Headers */,
|
||||
FE01AB180C5D9C3400AEA51A /* Resources */,
|
||||
FE01AB190C5D9C3400AEA51A /* Sources */,
|
||||
FE01AB1B0C5D9C3400AEA51A /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FEF80ABE0C5D9F3000FF7CA5 /* PBXTargetDependency */,
|
||||
FEF80AC00C5D9F3400FF7CA5 /* PBXTargetDependency */,
|
||||
FE78D10A126F4D0700CC39CF /* PBXTargetDependency */,
|
||||
);
|
||||
name = "Cocoa-Windows-i386";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = Cocoa;
|
||||
productReference = FE01AB210C5D9C3400AEA51A /* Cocoa.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
FE5A873010C6F1E8005E348A /* Cocoa-FreeBSD-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FE5A873C10C6F1E8005E348A /* Build configuration list for PBXNativeTarget "Cocoa-FreeBSD-i386" */;
|
||||
buildPhases = (
|
||||
FE5A873310C6F1E8005E348A /* Headers */,
|
||||
FE5A873510C6F1E8005E348A /* Resources */,
|
||||
FE5A873610C6F1E8005E348A /* Sources */,
|
||||
FE5A873810C6F1E8005E348A /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "Cocoa-FreeBSD-i386";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = Cocoa;
|
||||
productReference = FE5A873F10C6F1E8005E348A /* Cocoa.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
FECC1DC6108D025D00BD4A91 /* Cocoa-Linux-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FECC1DD3108D025D00BD4A91 /* Build configuration list for PBXNativeTarget "Cocoa-Linux-i386" */;
|
||||
buildPhases = (
|
||||
FECC1DCB108D025D00BD4A91 /* Headers */,
|
||||
FECC1DCD108D025D00BD4A91 /* Resources */,
|
||||
FECC1DCE108D025D00BD4A91 /* Sources */,
|
||||
FECC1DD0108D025D00BD4A91 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "Cocoa-Linux-i386";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = Cocoa;
|
||||
productReference = FECC1DD6108D025D00BD4A91 /* Cocoa.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0420;
|
||||
};
|
||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Cocoa" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* Cocoa */;
|
||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FE7135470B36427F006C9493 /* Products */;
|
||||
ProjectRef = FE7135460B36427F006C9493 /* AppKit.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FE3217D20BB41D16004F000A /* Products */;
|
||||
ProjectRef = FE3217D10BB41D16004F000A /* ApplicationServices.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FE78D100126F4CF500CC39CF /* Products */;
|
||||
ProjectRef = FE78D0FF126F4CF500CC39CF /* CoreData.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
FE01AB110C5D9C3400AEA51A /* Cocoa-Windows-i386 */,
|
||||
C8E0BF990F0E6B0E00677729 /* Cocoa-Darwin-i386 */,
|
||||
FECC1DC6108D025D00BD4A91 /* Cocoa-Linux-i386 */,
|
||||
FE5A873010C6F1E8005E348A /* Cocoa-FreeBSD-i386 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE01AB250C5D9C3500AEA51A /* AppKit.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = AppKit.framework;
|
||||
remoteRef = FE01AB240C5D9C3500AEA51A /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE01AB280C5D9C3500AEA51A /* ApplicationServices.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = ApplicationServices.framework;
|
||||
remoteRef = FE01AB270C5D9C3500AEA51A /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE78D108126F4CF500CC39CF /* CoreData.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = CoreData.framework;
|
||||
remoteRef = FE78D107126F4CF500CC39CF /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
C8E0BFA00F0E6B0E00677729 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE01AB180C5D9C3400AEA51A /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A873510C6F1E8005E348A /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FECC1DCD108D025D00BD4A91 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
C8E0BFA10F0E6B0E00677729 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
C8E0BFA20F0E6B0E00677729 /* Cocoa.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE01AB190C5D9C3400AEA51A /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE01AB1A0C5D9C3400AEA51A /* Cocoa.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE5A873610C6F1E8005E348A /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE5A873710C6F1E8005E348A /* Cocoa.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FECC1DCE108D025D00BD4A91 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FECC1DCF108D025D00BD4A91 /* Cocoa.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FE78D10A126F4D0700CC39CF /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "CoreData-Windows-i386";
|
||||
targetProxy = FE78D109126F4D0700CC39CF /* PBXContainerItemProxy */;
|
||||
};
|
||||
FEF80ABE0C5D9F3000FF7CA5 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "AppKit-Windows-i386";
|
||||
targetProxy = FEF80ABD0C5D9F3000FF7CA5 /* PBXContainerItemProxy */;
|
||||
};
|
||||
FEF80AC00C5D9F3400FF7CA5 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "ApplicationServices-Windows-i386";
|
||||
targetProxy = FEF80ABF0C5D9F3400FF7CA5 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB91B208733DA50010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
7E2EFA4E0DF995A500A40193 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
7E2EFA4F0DF995A500A40193 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE7085281431174600B99A95 /* windows-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"$(OTHER_CFLAGS)",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C8E0BFA80F0E6B0E00677729 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FED0C496170BCF700033C8E6 /* darwin-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C8E0BFA90F0E6B0E00677729 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FED0C496170BCF700033C8E6 /* darwin-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
FE01AB200C5D9C3400AEA51A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE7085281431174600B99A95 /* windows-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"$(OTHER_CFLAGS)",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FE5A873D10C6F1E8005E348A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FED0C499170BCF700033C8E6 /* freebsd-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FE5A873E10C6F1E8005E348A /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FED0C499170BCF700033C8E6 /* freebsd-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
FECC1DD4108D025D00BD4A91 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FED0C49B170BCF700033C8E6 /* linux-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FECC1DD5108D025D00BD4A91 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FED0C49B170BCF700033C8E6 /* linux-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOCOA_INSIDE_BUILD",
|
||||
"-D__LITTLE_ENDIAN__",
|
||||
);
|
||||
PRODUCT_NAME = Cocoa;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "Cocoa" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91B208733DA50010E9CD /* Release */,
|
||||
7E2EFA4E0DF995A500A40193 /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C8E0BFA70F0E6B0E00677729 /* Build configuration list for PBXNativeTarget "Cocoa-Darwin-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C8E0BFA80F0E6B0E00677729 /* Release */,
|
||||
C8E0BFA90F0E6B0E00677729 /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE01AB1F0C5D9C3400AEA51A /* Build configuration list for PBXNativeTarget "Cocoa-Windows-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FE01AB200C5D9C3400AEA51A /* Release */,
|
||||
7E2EFA4F0DF995A500A40193 /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE5A873C10C6F1E8005E348A /* Build configuration list for PBXNativeTarget "Cocoa-FreeBSD-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FE5A873D10C6F1E8005E348A /* Release */,
|
||||
FE5A873E10C6F1E8005E348A /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FECC1DD3108D025D00BD4A91 /* Build configuration list for PBXNativeTarget "Cocoa-Linux-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FECC1DD4108D025D00BD4A91 /* Release */,
|
||||
FECC1DD5108D025D00BD4A91 /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
}
|
@ -1,359 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXAggregateTarget section */
|
||||
FE1FC01211E7807100A9A87A /* Cocotron-Windows-i386 */ = {
|
||||
isa = PBXAggregateTarget;
|
||||
buildConfigurationList = FE1FC01711E7808000A9A87A /* Build configuration list for PBXAggregateTarget "Cocotron-Windows-i386" */;
|
||||
buildPhases = (
|
||||
);
|
||||
dependencies = (
|
||||
FE1FC01611E7807A00A9A87A /* PBXTargetDependency */,
|
||||
FE5C83A0121D89CD0063E96F /* PBXTargetDependency */,
|
||||
FE081AA214107EF900A3DE85 /* PBXTargetDependency */,
|
||||
FE0513EF121E06DF0097BA92 /* PBXTargetDependency */,
|
||||
FE0819131386F95800C06956 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "Cocotron-Windows-i386";
|
||||
productName = "Cocotron-Windows-i386";
|
||||
};
|
||||
/* End PBXAggregateTarget section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE0513EC121E06DA0097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513E4121E06D90097BA92 /* Security.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
|
||||
remoteInfo = "Security-Windows-i386";
|
||||
};
|
||||
FE0513EE121E06DF0097BA92 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0513E4121E06D90097BA92 /* Security.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
|
||||
remoteInfo = "Security-Windows-i386";
|
||||
};
|
||||
FE0818F91386F93F00C06956 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0818F11386F93F00C06956 /* O2Context_AntiGrain.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 8D576316048677EA00EA77CD;
|
||||
remoteInfo = "O2Context_AntiGrain-Windows-i386";
|
||||
};
|
||||
FE0819121386F95800C06956 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE0818F11386F93F00C06956 /* O2Context_AntiGrain.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8D57630D048677EA00EA77CD;
|
||||
remoteInfo = "O2Context_AntiGrain-Windows-i386";
|
||||
};
|
||||
FE081A9F14107EF000A3DE85 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE081A9B14107EF000A3DE85 /* NSSpellEngine_hunspell.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 8D5B49B6048680CD000E48DA;
|
||||
remoteInfo = NSSpellEngine_hunspell;
|
||||
};
|
||||
FE081AA114107EF900A3DE85 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE081A9B14107EF000A3DE85 /* NSSpellEngine_hunspell.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8D5B49AC048680CD000E48DA;
|
||||
remoteInfo = NSSpellEngine_hunspell;
|
||||
};
|
||||
FE1FC00911E7806100A9A87A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01AB210C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
FE1FC00B11E7806100A9A87A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = C8E0BFAA0F0E6B0E00677729;
|
||||
remoteInfo = "Cocoa-Darwin-i386";
|
||||
};
|
||||
FE1FC00D11E7806100A9A87A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FECC1DD6108D025D00BD4A91;
|
||||
remoteInfo = "Cocoa-Linux-i386";
|
||||
};
|
||||
FE1FC00F11E7806100A9A87A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE5A873F10C6F1E8005E348A;
|
||||
remoteInfo = "Cocoa-FreeBSD-i386";
|
||||
};
|
||||
FE1FC01511E7807A00A9A87A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01AB110C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
FE5C839D121D89BF0063E96F /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE5C8396121D89BF0063E96F /* CFSSLHandler_openssl.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 8D576316048677EA00EA77CD;
|
||||
remoteInfo = "CFSSLHandler_openssl-Windows-i386";
|
||||
};
|
||||
FE5C839F121D89CD0063E96F /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE5C8396121D89BF0063E96F /* CFSSLHandler_openssl.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8D57630D048677EA00EA77CD;
|
||||
remoteInfo = "CFSSLHandler_openssl-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
FE0513E4121E06D90097BA92 /* Security.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Security.xcodeproj; path = ../Security/Security.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE0818F11386F93F00C06956 /* O2Context_AntiGrain.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = O2Context_AntiGrain.xcodeproj; path = ../O2Context_AntiGrain/O2Context_AntiGrain.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE081A9B14107EF000A3DE85 /* NSSpellEngine_hunspell.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = NSSpellEngine_hunspell.xcodeproj; path = ../NSSpellEngine_hunspell/NSSpellEngine_hunspell.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Cocoa.xcodeproj; path = ../Cocoa/Cocoa.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE5C8396121D89BF0063E96F /* CFSSLHandler_openssl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CFSSLHandler_openssl.xcodeproj; path = ../CFSSLHandler_openssl/CFSSLHandler_openssl.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
FE0513E5121E06D90097BA92 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE0513ED121E06DA0097BA92 /* Security.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE0818F21386F93F00C06956 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE0818FA1386F93F00C06956 /* O2Context_AntiGrain.cgContext */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE081A9C14107EF000A3DE85 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE081AA014107EF000A3DE85 /* NSSpellEngine_hunspell.spellEngine */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE1FBFF011E7804C00A9A87A = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE081A9B14107EF000A3DE85 /* NSSpellEngine_hunspell.xcodeproj */,
|
||||
FE0818F11386F93F00C06956 /* O2Context_AntiGrain.xcodeproj */,
|
||||
FE0513E4121E06D90097BA92 /* Security.xcodeproj */,
|
||||
FE5C8396121D89BF0063E96F /* CFSSLHandler_openssl.xcodeproj */,
|
||||
FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
FE1FBFFD11E7806100A9A87A /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE1FC00A11E7806100A9A87A /* Cocoa.framework */,
|
||||
FE1FC00C11E7806100A9A87A /* Cocoa.framework */,
|
||||
FE1FC00E11E7806100A9A87A /* Cocoa.framework */,
|
||||
FE1FC01011E7806100A9A87A /* Cocoa.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE5C8397121D89BF0063E96F /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE5C839E121D89BF0063E96F /* CFSSLHandler_openssl.bundle */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
FE1FBFF211E7804C00A9A87A /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
};
|
||||
buildConfigurationList = FE1FBFF511E7804C00A9A87A /* Build configuration list for PBXProject "Cocotron" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = FE1FBFF011E7804C00A9A87A;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FE5C8397121D89BF0063E96F /* Products */;
|
||||
ProjectRef = FE5C8396121D89BF0063E96F /* CFSSLHandler_openssl.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FE1FBFFD11E7806100A9A87A /* Products */;
|
||||
ProjectRef = FE1FBFFC11E7806100A9A87A /* Cocoa.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FE081A9C14107EF000A3DE85 /* Products */;
|
||||
ProjectRef = FE081A9B14107EF000A3DE85 /* NSSpellEngine_hunspell.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FE0818F21386F93F00C06956 /* Products */;
|
||||
ProjectRef = FE0818F11386F93F00C06956 /* O2Context_AntiGrain.xcodeproj */;
|
||||
},
|
||||
{
|
||||
ProductGroup = FE0513E5121E06D90097BA92 /* Products */;
|
||||
ProjectRef = FE0513E4121E06D90097BA92 /* Security.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
FE1FC01211E7807100A9A87A /* Cocotron-Windows-i386 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE0513ED121E06DA0097BA92 /* Security.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Security.framework;
|
||||
remoteRef = FE0513EC121E06DA0097BA92 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE0818FA1386F93F00C06956 /* O2Context_AntiGrain.cgContext */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = O2Context_AntiGrain.cgContext;
|
||||
remoteRef = FE0818F91386F93F00C06956 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE081AA014107EF000A3DE85 /* NSSpellEngine_hunspell.spellEngine */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = NSSpellEngine_hunspell.spellEngine;
|
||||
remoteRef = FE081A9F14107EF000A3DE85 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE1FC00A11E7806100A9A87A /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE1FC00911E7806100A9A87A /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE1FC00C11E7806100A9A87A /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE1FC00B11E7806100A9A87A /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE1FC00E11E7806100A9A87A /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE1FC00D11E7806100A9A87A /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE1FC01011E7806100A9A87A /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE1FC00F11E7806100A9A87A /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE5C839E121D89BF0063E96F /* CFSSLHandler_openssl.bundle */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.cfbundle;
|
||||
path = CFSSLHandler_openssl.bundle;
|
||||
remoteRef = FE5C839D121D89BF0063E96F /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FE0513EF121E06DF0097BA92 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Security-Windows-i386";
|
||||
targetProxy = FE0513EE121E06DF0097BA92 /* PBXContainerItemProxy */;
|
||||
};
|
||||
FE0819131386F95800C06956 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "O2Context_AntiGrain-Windows-i386";
|
||||
targetProxy = FE0819121386F95800C06956 /* PBXContainerItemProxy */;
|
||||
};
|
||||
FE081AA214107EF900A3DE85 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = NSSpellEngine_hunspell;
|
||||
targetProxy = FE081AA114107EF900A3DE85 /* PBXContainerItemProxy */;
|
||||
};
|
||||
FE1FC01611E7807A00A9A87A /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Cocoa-Windows-i386";
|
||||
targetProxy = FE1FC01511E7807A00A9A87A /* PBXContainerItemProxy */;
|
||||
};
|
||||
FE5C83A0121D89CD0063E96F /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "CFSSLHandler_openssl-Windows-i386";
|
||||
targetProxy = FE5C839F121D89CD0063E96F /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
FE1FBFF411E7804C00A9A87A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FE1FC01411E7807200A9A87A /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
PRODUCT_NAME = "Cocotron-Windows-i386";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
FE1FBFF511E7804C00A9A87A /* Build configuration list for PBXProject "Cocotron" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FE1FBFF411E7804C00A9A87A /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE1FC01711E7808000A9A87A /* Build configuration list for PBXAggregateTarget "Cocotron-Windows-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FE1FC01411E7807200A9A87A /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = FE1FBFF211E7804C00A9A87A /* Project object */;
|
||||
}
|
@ -1,305 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 45;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
FE4301E611E2580E00EBDD56 /* CommonCryptor.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4301E011E2580E00EBDD56 /* CommonCryptor.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE4301E811E2580E00EBDD56 /* CommonDigest.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4301E211E2580E00EBDD56 /* CommonDigest.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE4301EA11E2580E00EBDD56 /* CommonHMAC.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4301E411E2580E00EBDD56 /* CommonHMAC.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FEF5A81D11E4F37E009B0041 /* CommonCryptoExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FEF5A81C11E4F37E009B0041 /* CommonCryptoExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FEFD323A1434B0FB00C14B08 /* CommonCryptor.m in Sources */ = {isa = PBXBuildFile; fileRef = FE4301E111E2580E00EBDD56 /* CommonCryptor.m */; };
|
||||
FEFD323B1434B10000C14B08 /* CommonDigest.m in Sources */ = {isa = PBXBuildFile; fileRef = FE4301E311E2580E00EBDD56 /* CommonDigest.m */; };
|
||||
FEFD323C1434B10200C14B08 /* CommonHMAC.m in Sources */ = {isa = PBXBuildFile; fileRef = FE4301E511E2580E00EBDD56 /* CommonHMAC.m */; };
|
||||
FEFD32531434B1F000C14B08 /* dllmain.m in Sources */ = {isa = PBXBuildFile; fileRef = FEFD32521434B1F000C14B08 /* dllmain.m */; };
|
||||
FEFD325B1434B22F00C14B08 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CommonCrypto.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CommonCrypto.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE06B0D51430E70B0071169B /* darwin-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0D61430E70B0071169B /* darwin-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0D71430E70B0071169B /* darwin-x86_64.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0D81430E70B0071169B /* darwin.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = darwin.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0D91430E70B0071169B /* freebsd-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0DA1430E70B0071169B /* freebsd.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = freebsd.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0DB1430E70B0071169B /* linux-arm.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0DC1430E70B0071169B /* linux-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0DD1430E70B0071169B /* linux-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0DE1430E70B0071169B /* linux.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = linux.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0DF1430E70B0071169B /* platform.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = platform.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0E01430E70B0071169B /* solaris-sparc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0E11430E70B0071169B /* solaris.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = solaris.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B0E21430E70B0071169B /* windows-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B0E31430E70B0071169B /* windows.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = windows.xcconfig; sourceTree = "<group>"; };
|
||||
FE4301E011E2580E00EBDD56 /* CommonCryptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonCryptor.h; sourceTree = "<group>"; };
|
||||
FE4301E111E2580E00EBDD56 /* CommonCryptor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommonCryptor.m; sourceTree = "<group>"; };
|
||||
FE4301E211E2580E00EBDD56 /* CommonDigest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonDigest.h; sourceTree = "<group>"; };
|
||||
FE4301E311E2580E00EBDD56 /* CommonDigest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommonDigest.m; sourceTree = "<group>"; };
|
||||
FE4301E411E2580E00EBDD56 /* CommonHMAC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonHMAC.h; sourceTree = "<group>"; };
|
||||
FE4301E511E2580E00EBDD56 /* CommonHMAC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommonHMAC.m; sourceTree = "<group>"; };
|
||||
FE7085A21431175E00B99A95 /* windows-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEF5A81C11E4F37E009B0041 /* CommonCryptoExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonCryptoExport.h; sourceTree = "<group>"; };
|
||||
FEFD32521434B1F000C14B08 /* dllmain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = dllmain.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8DC2EF560486A6940098B216 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEFD325B1434B22F00C14B08 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5B0486A6940098B216 /* CommonCrypto.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0867D691FE84028FC02AAC07 /* CommonCrypto */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEFD32521434B1F000C14B08 /* dllmain.m */,
|
||||
FE06B0D41430E70B0071169B /* xcconfig */,
|
||||
FEF5A81C11E4F37E009B0041 /* CommonCryptoExport.h */,
|
||||
FE4301E011E2580E00EBDD56 /* CommonCryptor.h */,
|
||||
FE4301E111E2580E00EBDD56 /* CommonCryptor.m */,
|
||||
FE4301E211E2580E00EBDD56 /* CommonDigest.h */,
|
||||
FE4301E311E2580E00EBDD56 /* CommonDigest.m */,
|
||||
FE4301E411E2580E00EBDD56 /* CommonHMAC.h */,
|
||||
FE4301E511E2580E00EBDD56 /* CommonHMAC.m */,
|
||||
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
name = CommonCrypto;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1665FE841158C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE06B0D41430E70B0071169B /* xcconfig */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE06B0D51430E70B0071169B /* darwin-i386.xcconfig */,
|
||||
FE06B0D61430E70B0071169B /* darwin-ppc.xcconfig */,
|
||||
FE06B0D71430E70B0071169B /* darwin-x86_64.xcconfig */,
|
||||
FE06B0D81430E70B0071169B /* darwin.xcconfig */,
|
||||
FE06B0D91430E70B0071169B /* freebsd-i386.xcconfig */,
|
||||
FE06B0DA1430E70B0071169B /* freebsd.xcconfig */,
|
||||
FE06B0DB1430E70B0071169B /* linux-arm.xcconfig */,
|
||||
FE06B0DC1430E70B0071169B /* linux-i386.xcconfig */,
|
||||
FE06B0DD1430E70B0071169B /* linux-ppc.xcconfig */,
|
||||
FE06B0DE1430E70B0071169B /* linux.xcconfig */,
|
||||
FE06B0DF1430E70B0071169B /* platform.xcconfig */,
|
||||
FE06B0E01430E70B0071169B /* solaris-sparc.xcconfig */,
|
||||
FE06B0E11430E70B0071169B /* solaris.xcconfig */,
|
||||
FE06B0E21430E70B0071169B /* windows-i386.xcconfig */,
|
||||
FE06B0E31430E70B0071169B /* windows.xcconfig */,
|
||||
FE7085A21431175E00B99A95 /* windows-i386-framework.xcconfig */,
|
||||
);
|
||||
name = xcconfig;
|
||||
path = ../xcconfig;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8DC2EF500486A6940098B216 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE4301E611E2580E00EBDD56 /* CommonCryptor.h in Headers */,
|
||||
FE4301E811E2580E00EBDD56 /* CommonDigest.h in Headers */,
|
||||
FE4301EA11E2580E00EBDD56 /* CommonHMAC.h in Headers */,
|
||||
FEF5A81D11E4F37E009B0041 /* CommonCryptoExport.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8DC2EF4F0486A6940098B216 /* CommonCrypto-Windows-i386 */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CommonCrypto-Windows-i386" */;
|
||||
buildPhases = (
|
||||
8DC2EF500486A6940098B216 /* Headers */,
|
||||
8DC2EF520486A6940098B216 /* Resources */,
|
||||
8DC2EF540486A6940098B216 /* Sources */,
|
||||
8DC2EF560486A6940098B216 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "CommonCrypto-Windows-i386";
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CommonCrypto;
|
||||
productReference = 8DC2EF5B0486A6940098B216 /* CommonCrypto.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CommonCrypto" */;
|
||||
compatibilityVersion = "Xcode 3.1";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* CommonCrypto */;
|
||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8DC2EF4F0486A6940098B216 /* CommonCrypto-Windows-i386 */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8DC2EF520486A6940098B216 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8DC2EF540486A6940098B216 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEFD323A1434B0FB00C14B08 /* CommonCryptor.m in Sources */,
|
||||
FEFD323B1434B10000C14B08 /* CommonDigest.m in Sources */,
|
||||
FEFD323C1434B10200C14B08 /* CommonHMAC.m in Sources */,
|
||||
FEFD32531434B1F000C14B08 /* dllmain.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C1667FE841158C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB91AF08733DA50010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE7085A21431175E00B99A95 /* windows-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOMMONCRYPTO_INSIDE_BUILD=1",
|
||||
"$(OTHER_CFLAGS)",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"$(OTHER_LDFLAGS)",
|
||||
"-lssl",
|
||||
"-lcrypto",
|
||||
"-lgdi32",
|
||||
);
|
||||
PRODUCT_NAME = CommonCrypto;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
1DEB91B308733DA50010E9CD /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CommonCrypto-Windows-i386" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91AF08733DA50010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CommonCrypto" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91B308733DA50010E9CD /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
/* Copyright (c) 2010 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#if defined(__WIN32__)
|
||||
#if defined(COMMONCRYPTO_INSIDE_BUILD)
|
||||
#define COMMONCRYPTO_EXPORT extern "C" __declspec(dllexport)
|
||||
#else
|
||||
#define COMMONCRYPTO_EXPORT extern "C" __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#define COMMONCRYPTO_EXPORT extern "C"
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#if defined(__WIN32__)
|
||||
#if defined(COMMONCRYPTO_INSIDE_BUILD)
|
||||
#define COMMONCRYPTO_EXPORT __declspec(dllexport) extern
|
||||
#else
|
||||
#define COMMONCRYPTO_EXPORT __declspec(dllimport) extern
|
||||
#endif
|
||||
#else
|
||||
#define COMMONCRYPTO_EXPORT extern
|
||||
#endif
|
||||
|
||||
#endif // __cplusplus
|
@ -1,55 +0,0 @@
|
||||
#import <CommonCrypto/CommonCryptoExport.h>
|
||||
#import <stdbool.h>
|
||||
#import <stdint.h>
|
||||
#import <stdlib.h>
|
||||
|
||||
enum {
|
||||
kCCKeySizeAES128 = 16,
|
||||
kCCKeySizeAES256 = 32,
|
||||
};
|
||||
|
||||
enum {
|
||||
kCCBlockSizeAES128 = 16,
|
||||
};
|
||||
|
||||
enum {
|
||||
kCCSuccess = 0,
|
||||
kCCParamError = -4300,
|
||||
kCCBufferTooSmall = -4301,
|
||||
kCCMemoryFailure = -4302,
|
||||
kCCAlignmentError = -4303,
|
||||
kCCDecodeError = -4304,
|
||||
kCCUnimplemented = -4305,
|
||||
};
|
||||
typedef int32_t CCCryptorStatus;
|
||||
|
||||
enum {
|
||||
kCCEncrypt = 0,
|
||||
kCCDecrypt,
|
||||
};
|
||||
typedef uint32_t CCOperation;
|
||||
|
||||
enum {
|
||||
kCCAlgorithmAES128 = 0,
|
||||
};
|
||||
typedef uint32_t CCAlgorithm;
|
||||
|
||||
enum {
|
||||
kCCOptionPKCS7Padding = 0x0001,
|
||||
kCCOptionECBMode = 0x0002,
|
||||
};
|
||||
typedef uint32_t CCOptions;
|
||||
|
||||
typedef struct CCCryptor *CCCryptorRef;
|
||||
|
||||
COMMONCRYPTO_EXPORT CCCryptorStatus CCCryptorCreate(CCOperation operation, CCAlgorithm algorithm, CCOptions options, const void *key, size_t keyLength, const void *initVector, CCCryptorRef *result);
|
||||
|
||||
COMMONCRYPTO_EXPORT CCCryptorStatus CCCryptorRelease(CCCryptorRef cryptor);
|
||||
|
||||
COMMONCRYPTO_EXPORT size_t CCCryptorGetOutputLength(CCCryptorRef cryptor, size_t inputLength, bool final);
|
||||
|
||||
COMMONCRYPTO_EXPORT CCCryptorStatus CCCryptorUpdate(CCCryptorRef cryptor, const void *dataIn, size_t dataInLength, void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved);
|
||||
|
||||
COMMONCRYPTO_EXPORT CCCryptorStatus CCCryptorFinal(CCCryptorRef cryptor, void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved);
|
||||
|
||||
COMMONCRYPTO_EXPORT CCCryptorStatus CCCrypt(CCOperation operation, CCAlgorithm algorithm, CCOptions options, const void *key, size_t keyLength, const void *initVector, const void *dataIn, size_t dataInLength, void *dataOut, size_t dataOutAvailable, size_t *dataOutMoved);
|
@ -1,128 +0,0 @@
|
||||
#import <CommonCrypto/CommonCryptor.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <openssl/evp.h>
|
||||
|
||||
struct CCCryptor {
|
||||
CCOperation operation;
|
||||
EVP_CIPHER_CTX *context;
|
||||
const EVP_CIPHER *cipher;
|
||||
};
|
||||
|
||||
CCCryptorStatus CCCryptorCreate(CCOperation operation, CCAlgorithm algorithm,
|
||||
CCOptions options, const void *key,
|
||||
size_t keyLength, const void *initVector,
|
||||
CCCryptorRef *result)
|
||||
{
|
||||
CCCryptorRef self = malloc(sizeof(struct CCCryptor));
|
||||
|
||||
self->operation = operation;
|
||||
self->context = malloc(sizeof(EVP_CIPHER_CTX));
|
||||
EVP_CIPHER_CTX_init(self->context);
|
||||
|
||||
self->cipher = NULL;
|
||||
|
||||
switch (algorithm) {
|
||||
|
||||
case kCCAlgorithmAES128:
|
||||
if (options & kCCOptionECBMode) {
|
||||
if (keyLength == kCCKeySizeAES128)
|
||||
self->cipher = EVP_aes_128_ecb();
|
||||
else if (keyLength == kCCKeySizeAES256)
|
||||
self->cipher = EVP_aes_256_ecb();
|
||||
} else {
|
||||
if (keyLength == kCCKeySizeAES128)
|
||||
self->cipher = EVP_aes_128_cbc();
|
||||
else if (keyLength == kCCKeySizeAES256)
|
||||
self->cipher = EVP_aes_256_cbc();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (self->cipher == NULL) {
|
||||
NSLog(@"%s %d cipher==NULL", __FILE__, __LINE__);
|
||||
return kCCUnimplemented;
|
||||
}
|
||||
|
||||
if (operation == kCCEncrypt) {
|
||||
EVP_EncryptInit_ex(self->context, self->cipher, NULL, key, initVector);
|
||||
} else {
|
||||
EVP_DecryptInit_ex(self->context, self->cipher, NULL, key, initVector);
|
||||
}
|
||||
|
||||
*result = self;
|
||||
|
||||
return kCCSuccess;
|
||||
}
|
||||
|
||||
CCCryptorStatus CCCryptorRelease(CCCryptorRef self) {
|
||||
EVP_CIPHER_CTX_cleanup(self->context);
|
||||
free(self->context);
|
||||
free(self);
|
||||
return kCCSuccess;
|
||||
}
|
||||
|
||||
size_t CCCryptorGetOutputLength(CCCryptorRef self, size_t inputLength,
|
||||
bool final)
|
||||
{
|
||||
int blockSize = EVP_CIPHER_block_size(self->cipher);
|
||||
|
||||
return inputLength + blockSize - 1;
|
||||
}
|
||||
|
||||
CCCryptorStatus CCCryptorUpdate(CCCryptorRef self, const void *dataIn,
|
||||
size_t dataInLength, void *dataOut,
|
||||
size_t dataOutAvailable, size_t *dataOutMoved)
|
||||
{
|
||||
|
||||
if (self->operation == kCCEncrypt) {
|
||||
int outSize;
|
||||
EVP_EncryptUpdate(self->context, dataOut, &outSize, dataIn,
|
||||
dataInLength);
|
||||
*dataOutMoved = outSize;
|
||||
} else {
|
||||
int outSize;
|
||||
EVP_DecryptUpdate(self->context, dataOut, &outSize, dataIn,
|
||||
dataInLength);
|
||||
*dataOutMoved = outSize;
|
||||
}
|
||||
|
||||
return kCCSuccess;
|
||||
}
|
||||
|
||||
CCCryptorStatus CCCryptorFinal(CCCryptorRef self, void *dataOut,
|
||||
size_t dataOutAvailable, size_t *dataOutMoved)
|
||||
{
|
||||
if (self->operation == kCCEncrypt) {
|
||||
int outSize;
|
||||
EVP_EncryptFinal_ex(self->context, dataOut, &outSize);
|
||||
*dataOutMoved = outSize;
|
||||
} else {
|
||||
int outSize;
|
||||
EVP_DecryptFinal_ex(self->context, dataOut, &outSize);
|
||||
*dataOutMoved = outSize;
|
||||
}
|
||||
|
||||
return kCCSuccess;
|
||||
}
|
||||
|
||||
CCCryptorStatus CCCrypt(CCOperation operation, CCAlgorithm algorithm,
|
||||
CCOptions options, const void *key, size_t keyLength,
|
||||
const void *initVector, const void *dataIn,
|
||||
size_t dataInLength, void *dataOut,
|
||||
size_t dataOutAvailable, size_t *dataOutMoved)
|
||||
{
|
||||
CCCryptorRef cryptor;
|
||||
|
||||
CCCryptorCreate(operation, algorithm, options, key, keyLength, initVector,
|
||||
&cryptor);
|
||||
CCCryptorUpdate(cryptor, dataIn, dataInLength, dataOut, dataOutAvailable,
|
||||
dataOutMoved);
|
||||
size_t dataOutChunk = 0;
|
||||
if (options & kCCOptionPKCS7Padding) {
|
||||
CCCryptorFinal(cryptor, dataOut + *dataOutMoved,
|
||||
dataOutAvailable - *dataOutMoved, &dataOutChunk);
|
||||
*dataOutMoved += dataOutChunk;
|
||||
}
|
||||
|
||||
return kCCSuccess;
|
||||
}
|
@ -1 +0,0 @@
|
||||
#import <CommonCrypto/CommonCryptoExport.h>
|
@ -1,20 +0,0 @@
|
||||
#import <CommonCrypto/CommonCryptoExport.h>
|
||||
|
||||
#import <stdlib.h>
|
||||
|
||||
#define CC_SHA1_DIGEST_LENGTH 20
|
||||
|
||||
typedef enum {
|
||||
kCCHmacAlgSHA1,
|
||||
} CCHmacAlgorithm;
|
||||
|
||||
typedef struct {
|
||||
void *sslContext;
|
||||
} CCHmacContext;
|
||||
|
||||
COMMONCRYPTO_EXPORT void CCHmacInit(CCHmacContext *context, CCHmacAlgorithm algorithm, const void *key, size_t keyLength);
|
||||
|
||||
COMMONCRYPTO_EXPORT void CCHmacUpdate(CCHmacContext *context, const void *data, size_t dataLength);
|
||||
COMMONCRYPTO_EXPORT void CCHmacFinal(CCHmacContext *context, void *macOut);
|
||||
|
||||
COMMONCRYPTO_EXPORT void CCHmac(CCHmacAlgorithm algorithm, const void *key, size_t keyLength, const void *data, size_t dataLength, void *macOut);
|
@ -1,34 +0,0 @@
|
||||
#import <CommonCrypto/CommonHMAC.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <openssl/hmac.h>
|
||||
#import <string.h>
|
||||
|
||||
void CCHmacInit(CCHmacContext *context, CCHmacAlgorithm algorithm,
|
||||
const void *key, size_t keyLength)
|
||||
{
|
||||
context->sslContext = malloc(sizeof(HMAC_CTX));
|
||||
HMAC_CTX_init(context->sslContext);
|
||||
HMAC_Init(context->sslContext, key, keyLength, EVP_sha1());
|
||||
}
|
||||
|
||||
void CCHmacUpdate(CCHmacContext *context, const void *bytes, size_t len) {
|
||||
HMAC_Update(context->sslContext, bytes, len);
|
||||
}
|
||||
|
||||
void CCHmacFinal(CCHmacContext *context, void *macOut) {
|
||||
unsigned len = 0;
|
||||
|
||||
HMAC_Final(context->sslContext, macOut, &len);
|
||||
HMAC_CTX_cleanup(context->sslContext);
|
||||
free(context->sslContext);
|
||||
}
|
||||
|
||||
void CCHmac(CCHmacAlgorithm algorithm, const void *key, size_t keyLength,
|
||||
const void *data, size_t dataLength, void *macOut)
|
||||
{
|
||||
CCHmacContext context;
|
||||
|
||||
CCHmacInit(&context, algorithm, key, keyLength);
|
||||
CCHmacUpdate(&context, data, dataLength);
|
||||
CCHmacFinal(&context, macOut);
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.yourcompany.${PRODUCT_NAME:rfc1034Identifier}</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,34 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <stdio.h>
|
||||
#import <windows.h>
|
||||
|
||||
int OBJCRegisterDLL(HINSTANCE handle);
|
||||
|
||||
int APIENTRY DllMain(HINSTANCE handle, DWORD reason, LPVOID _reserved) {
|
||||
|
||||
if (reason == DLL_PROCESS_ATTACH)
|
||||
return OBJCRegisterDLL(handle);
|
||||
|
||||
if (reason == DLL_THREAD_DETACH) {
|
||||
return TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
@ -1,536 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
FE06432B121AD56400373F23 /* NSManagedObjectSet.h in Headers */ = {isa = PBXBuildFile; fileRef = FE064327121AD56400373F23 /* NSManagedObjectSet.h */; };
|
||||
FE06432C121AD56400373F23 /* NSManagedObjectSet.m in Sources */ = {isa = PBXBuildFile; fileRef = FE064328121AD56400373F23 /* NSManagedObjectSet.m */; };
|
||||
FE06432D121AD56400373F23 /* NSManagedObjectSetEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = FE064329121AD56400373F23 /* NSManagedObjectSetEnumerator.h */; };
|
||||
FE06432E121AD56400373F23 /* NSManagedObjectSetEnumerator.m in Sources */ = {isa = PBXBuildFile; fileRef = FE06432A121AD56400373F23 /* NSManagedObjectSetEnumerator.m */; };
|
||||
FE06433F121AD7C200373F23 /* NSManagedObjectMutableSet.h in Headers */ = {isa = PBXBuildFile; fileRef = FE06433D121AD7C200373F23 /* NSManagedObjectMutableSet.h */; };
|
||||
FE064340121AD7C200373F23 /* NSManagedObjectMutableSet.m in Sources */ = {isa = PBXBuildFile; fileRef = FE06433E121AD7C200373F23 /* NSManagedObjectMutableSet.m */; };
|
||||
FE1FBEF311E6692400A9A87A /* NSAtomicStore.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1FBEED11E6692400A9A87A /* NSAtomicStore.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE1FBEF411E6692400A9A87A /* NSAtomicStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FE1FBEEE11E6692400A9A87A /* NSAtomicStore.m */; };
|
||||
FE1FBEF511E6692400A9A87A /* NSAtomicStoreCacheNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1FBEEF11E6692400A9A87A /* NSAtomicStoreCacheNode.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE1FBEF611E6692400A9A87A /* NSAtomicStoreCacheNode.m in Sources */ = {isa = PBXBuildFile; fileRef = FE1FBEF011E6692400A9A87A /* NSAtomicStoreCacheNode.m */; };
|
||||
FE1FBEF711E6692400A9A87A /* NSPersistentStore.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1FBEF111E6692400A9A87A /* NSPersistentStore.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE1FBEF811E6692400A9A87A /* NSPersistentStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FE1FBEF211E6692400A9A87A /* NSPersistentStore.m */; };
|
||||
FE1FC22911E8116200A9A87A /* NSInMemoryPersistentStore.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1FC22511E8116200A9A87A /* NSInMemoryPersistentStore.h */; };
|
||||
FE1FC22A11E8116200A9A87A /* NSInMemoryPersistentStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FE1FC22611E8116200A9A87A /* NSInMemoryPersistentStore.m */; };
|
||||
FE1FC22B11E8116200A9A87A /* NSXMLPersistentStore.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1FC22711E8116200A9A87A /* NSXMLPersistentStore.h */; };
|
||||
FE1FC22C11E8116200A9A87A /* NSXMLPersistentStore.m in Sources */ = {isa = PBXBuildFile; fileRef = FE1FC22811E8116200A9A87A /* NSXMLPersistentStore.m */; };
|
||||
FE21313A0DBFC72700CEDC65 /* dllmain.m in Sources */ = {isa = PBXBuildFile; fileRef = FE2131390DBFC72700CEDC65 /* dllmain.m */; };
|
||||
FE2131420DBFC74200CEDC65 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0867D69BFE84028FC02AAC07 /* Foundation.framework */; };
|
||||
FE2132900DBFD21900CEDC65 /* CoreDataExports.h in Headers */ = {isa = PBXBuildFile; fileRef = FE21328F0DBFD21900CEDC65 /* CoreDataExports.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE2132920DBFD22000CEDC65 /* CoreData.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2132910DBFD22000CEDC65 /* CoreData.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3D40BF1042F00B18B54 /* NSAttributeDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3BE0BF1042F00B18B54 /* NSAttributeDescription.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3D50BF1042F00B18B54 /* NSAttributeDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3BF0BF1042F00B18B54 /* NSAttributeDescription.m */; };
|
||||
FE82F3D60BF1042F00B18B54 /* NSEntityDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3C00BF1042F00B18B54 /* NSEntityDescription.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3D70BF1042F00B18B54 /* NSEntityDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3C10BF1042F00B18B54 /* NSEntityDescription.m */; };
|
||||
FE82F3D80BF1042F00B18B54 /* NSFetchedPropertyDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3C20BF1042F00B18B54 /* NSFetchedPropertyDescription.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3D90BF1042F00B18B54 /* NSFetchedPropertyDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3C30BF1042F00B18B54 /* NSFetchedPropertyDescription.m */; };
|
||||
FE82F3DA0BF1042F00B18B54 /* NSFetchRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3C40BF1042F00B18B54 /* NSFetchRequest.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3DB0BF1042F00B18B54 /* NSFetchRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3C50BF1042F00B18B54 /* NSFetchRequest.m */; };
|
||||
FE82F3DC0BF1042F00B18B54 /* NSManagedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3C60BF1042F00B18B54 /* NSManagedObject.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3DD0BF1042F00B18B54 /* NSManagedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3C70BF1042F00B18B54 /* NSManagedObject.m */; };
|
||||
FE82F3DE0BF1042F00B18B54 /* NSManagedObjectContext.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3C80BF1042F00B18B54 /* NSManagedObjectContext.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3DF0BF1042F00B18B54 /* NSManagedObjectContext.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3C90BF1042F00B18B54 /* NSManagedObjectContext.m */; };
|
||||
FE82F3E00BF1042F00B18B54 /* NSManagedObjectID.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3CA0BF1042F00B18B54 /* NSManagedObjectID.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3E10BF1042F00B18B54 /* NSManagedObjectID.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3CB0BF1042F00B18B54 /* NSManagedObjectID.m */; };
|
||||
FE82F3E20BF1042F00B18B54 /* NSManagedObjectModel.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3CC0BF1042F00B18B54 /* NSManagedObjectModel.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3E30BF1042F00B18B54 /* NSManagedObjectModel.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3CD0BF1042F00B18B54 /* NSManagedObjectModel.m */; };
|
||||
FE82F3E40BF1042F00B18B54 /* NSPersistentStoreCoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3CE0BF1042F00B18B54 /* NSPersistentStoreCoordinator.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3E50BF1042F00B18B54 /* NSPersistentStoreCoordinator.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3CF0BF1042F00B18B54 /* NSPersistentStoreCoordinator.m */; };
|
||||
FE82F3E60BF1042F00B18B54 /* NSPropertyDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3D00BF1042F00B18B54 /* NSPropertyDescription.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3E70BF1042F00B18B54 /* NSPropertyDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3D10BF1042F00B18B54 /* NSPropertyDescription.m */; };
|
||||
FE82F3E80BF1042F00B18B54 /* NSRelationshipDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = FE82F3D20BF1042F00B18B54 /* NSRelationshipDescription.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FE82F3E90BF1042F00B18B54 /* NSRelationshipDescription.m in Sources */ = {isa = PBXBuildFile; fileRef = FE82F3D30BF1042F00B18B54 /* NSRelationshipDescription.m */; };
|
||||
FEA2C93012077436003B1BB9 /* NSManagedObject-Private.h in Headers */ = {isa = PBXBuildFile; fileRef = FEA2C92E12077436003B1BB9 /* NSManagedObject-Private.h */; };
|
||||
FEA2C93112077436003B1BB9 /* NSManagedObjectID-Private.h in Headers */ = {isa = PBXBuildFile; fileRef = FEA2C92F12077436003B1BB9 /* NSManagedObjectID-Private.h */; };
|
||||
FEDE4B951208545A003D3EF1 /* NSPersistentStoreCoordinator-Private.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDE4B941208545A003D3EF1 /* NSPersistentStoreCoordinator-Private.h */; };
|
||||
FEDE4E5112089EDC003D3EF1 /* CoreDataErrors.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDE4E4F12089EDC003D3EF1 /* CoreDataErrors.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FEDE4E5212089EDC003D3EF1 /* CoreDataErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = FEDE4E5012089EDC003D3EF1 /* CoreDataErrors.m */; };
|
||||
FEDE51FE1209B1A0003D3EF1 /* NSManagedObjectContext-Private.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDE51FD1209B1A0003D3EF1 /* NSManagedObjectContext-Private.h */; };
|
||||
FEDE52F61209C3AE003D3EF1 /* NSEntityDescription-Private.h in Headers */ = {isa = PBXBuildFile; fileRef = FEDE52F51209C3AE003D3EF1 /* NSEntityDescription-Private.h */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE39C6841203D5F800A80A71 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE59F2FF0D54301C00D54A25 /* Foundation.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01A5970C5D9B6900AEA51A;
|
||||
remoteInfo = "Foundation-Windows-i386";
|
||||
};
|
||||
FE59F30F0D54301D00D54A25 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE59F2FF0D54301C00D54A25 /* Foundation.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01A7EC0C5D9B6900AEA51A;
|
||||
remoteInfo = "Foundation-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CoreData.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreData.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE064327121AD56400373F23 /* NSManagedObjectSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSManagedObjectSet.h; sourceTree = "<group>"; };
|
||||
FE064328121AD56400373F23 /* NSManagedObjectSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSManagedObjectSet.m; sourceTree = "<group>"; };
|
||||
FE064329121AD56400373F23 /* NSManagedObjectSetEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSManagedObjectSetEnumerator.h; sourceTree = "<group>"; };
|
||||
FE06432A121AD56400373F23 /* NSManagedObjectSetEnumerator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSManagedObjectSetEnumerator.m; sourceTree = "<group>"; };
|
||||
FE06433D121AD7C200373F23 /* NSManagedObjectMutableSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSManagedObjectMutableSet.h; sourceTree = "<group>"; };
|
||||
FE06433E121AD7C200373F23 /* NSManagedObjectMutableSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSManagedObjectMutableSet.m; sourceTree = "<group>"; };
|
||||
FE06B1221430E7390071169B /* darwin-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1231430E7390071169B /* darwin-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1241430E7390071169B /* darwin-x86_64.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1251430E7390071169B /* darwin.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = darwin.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B1261430E7390071169B /* freebsd-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1271430E7390071169B /* freebsd.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = freebsd.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B1281430E7390071169B /* linux-arm.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1291430E7390071169B /* linux-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B12A1430E7390071169B /* linux-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B12B1430E7390071169B /* linux.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = linux.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B12C1430E7390071169B /* platform.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = platform.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B12D1430E7390071169B /* solaris-sparc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B12E1430E7390071169B /* solaris.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = solaris.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B12F1430E7390071169B /* windows-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B1301430E7390071169B /* windows.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = windows.xcconfig; sourceTree = "<group>"; };
|
||||
FE1FBEED11E6692400A9A87A /* NSAtomicStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSAtomicStore.h; sourceTree = "<group>"; };
|
||||
FE1FBEEE11E6692400A9A87A /* NSAtomicStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSAtomicStore.m; sourceTree = "<group>"; };
|
||||
FE1FBEEF11E6692400A9A87A /* NSAtomicStoreCacheNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSAtomicStoreCacheNode.h; sourceTree = "<group>"; };
|
||||
FE1FBEF011E6692400A9A87A /* NSAtomicStoreCacheNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSAtomicStoreCacheNode.m; sourceTree = "<group>"; };
|
||||
FE1FBEF111E6692400A9A87A /* NSPersistentStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSPersistentStore.h; sourceTree = "<group>"; };
|
||||
FE1FBEF211E6692400A9A87A /* NSPersistentStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSPersistentStore.m; sourceTree = "<group>"; };
|
||||
FE1FC22511E8116200A9A87A /* NSInMemoryPersistentStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSInMemoryPersistentStore.h; sourceTree = "<group>"; };
|
||||
FE1FC22611E8116200A9A87A /* NSInMemoryPersistentStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSInMemoryPersistentStore.m; sourceTree = "<group>"; };
|
||||
FE1FC22711E8116200A9A87A /* NSXMLPersistentStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSXMLPersistentStore.h; sourceTree = "<group>"; };
|
||||
FE1FC22811E8116200A9A87A /* NSXMLPersistentStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSXMLPersistentStore.m; sourceTree = "<group>"; };
|
||||
FE2131390DBFC72700CEDC65 /* dllmain.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = dllmain.m; sourceTree = "<group>"; };
|
||||
FE21328F0DBFD21900CEDC65 /* CoreDataExports.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreDataExports.h; sourceTree = "<group>"; };
|
||||
FE2132910DBFD22000CEDC65 /* CoreData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreData.h; sourceTree = "<group>"; };
|
||||
FE59F2FF0D54301C00D54A25 /* Foundation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Foundation.xcodeproj; path = ../Foundation/Foundation.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FE7085CF1431178000B99A95 /* windows-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FE82F3BE0BF1042F00B18B54 /* NSAttributeDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSAttributeDescription.h; sourceTree = "<group>"; };
|
||||
FE82F3BF0BF1042F00B18B54 /* NSAttributeDescription.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSAttributeDescription.m; sourceTree = "<group>"; };
|
||||
FE82F3C00BF1042F00B18B54 /* NSEntityDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSEntityDescription.h; sourceTree = "<group>"; };
|
||||
FE82F3C10BF1042F00B18B54 /* NSEntityDescription.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSEntityDescription.m; sourceTree = "<group>"; };
|
||||
FE82F3C20BF1042F00B18B54 /* NSFetchedPropertyDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSFetchedPropertyDescription.h; sourceTree = "<group>"; };
|
||||
FE82F3C30BF1042F00B18B54 /* NSFetchedPropertyDescription.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSFetchedPropertyDescription.m; sourceTree = "<group>"; };
|
||||
FE82F3C40BF1042F00B18B54 /* NSFetchRequest.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSFetchRequest.h; sourceTree = "<group>"; };
|
||||
FE82F3C50BF1042F00B18B54 /* NSFetchRequest.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSFetchRequest.m; sourceTree = "<group>"; };
|
||||
FE82F3C60BF1042F00B18B54 /* NSManagedObject.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSManagedObject.h; sourceTree = "<group>"; };
|
||||
FE82F3C70BF1042F00B18B54 /* NSManagedObject.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSManagedObject.m; sourceTree = "<group>"; };
|
||||
FE82F3C80BF1042F00B18B54 /* NSManagedObjectContext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSManagedObjectContext.h; sourceTree = "<group>"; };
|
||||
FE82F3C90BF1042F00B18B54 /* NSManagedObjectContext.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSManagedObjectContext.m; sourceTree = "<group>"; };
|
||||
FE82F3CA0BF1042F00B18B54 /* NSManagedObjectID.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSManagedObjectID.h; sourceTree = "<group>"; };
|
||||
FE82F3CB0BF1042F00B18B54 /* NSManagedObjectID.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSManagedObjectID.m; sourceTree = "<group>"; };
|
||||
FE82F3CC0BF1042F00B18B54 /* NSManagedObjectModel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSManagedObjectModel.h; sourceTree = "<group>"; };
|
||||
FE82F3CD0BF1042F00B18B54 /* NSManagedObjectModel.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSManagedObjectModel.m; sourceTree = "<group>"; };
|
||||
FE82F3CE0BF1042F00B18B54 /* NSPersistentStoreCoordinator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSPersistentStoreCoordinator.h; sourceTree = "<group>"; };
|
||||
FE82F3CF0BF1042F00B18B54 /* NSPersistentStoreCoordinator.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSPersistentStoreCoordinator.m; sourceTree = "<group>"; };
|
||||
FE82F3D00BF1042F00B18B54 /* NSPropertyDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSPropertyDescription.h; sourceTree = "<group>"; };
|
||||
FE82F3D10BF1042F00B18B54 /* NSPropertyDescription.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSPropertyDescription.m; sourceTree = "<group>"; };
|
||||
FE82F3D20BF1042F00B18B54 /* NSRelationshipDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = NSRelationshipDescription.h; sourceTree = "<group>"; };
|
||||
FE82F3D30BF1042F00B18B54 /* NSRelationshipDescription.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = NSRelationshipDescription.m; sourceTree = "<group>"; };
|
||||
FEA2C92E12077436003B1BB9 /* NSManagedObject-Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSManagedObject-Private.h"; sourceTree = "<group>"; };
|
||||
FEA2C92F12077436003B1BB9 /* NSManagedObjectID-Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSManagedObjectID-Private.h"; sourceTree = "<group>"; };
|
||||
FEC0A3681709354A002A60B7 /* darwin-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3691709354A002A60B7 /* darwin-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A36A1709354A002A60B7 /* darwin-x86_64-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A36B1709354A002A60B7 /* freebsd-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A36C1709354A002A60B7 /* linux-arm-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A36D1709354A002A60B7 /* linux-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A36E1709354A002A60B7 /* linux-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A36F1709354A002A60B7 /* solaris-sparc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEDE4B941208545A003D3EF1 /* NSPersistentStoreCoordinator-Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSPersistentStoreCoordinator-Private.h"; sourceTree = "<group>"; };
|
||||
FEDE4E4F12089EDC003D3EF1 /* CoreDataErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreDataErrors.h; sourceTree = "<group>"; };
|
||||
FEDE4E5012089EDC003D3EF1 /* CoreDataErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CoreDataErrors.m; sourceTree = "<group>"; };
|
||||
FEDE51FD1209B1A0003D3EF1 /* NSManagedObjectContext-Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSManagedObjectContext-Private.h"; sourceTree = "<group>"; };
|
||||
FEDE52F51209C3AE003D3EF1 /* NSEntityDescription-Private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSEntityDescription-Private.h"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8DC2EF560486A6940098B216 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE2131420DBFC74200CEDC65 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5B0486A6940098B216 /* CoreData.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0867D691FE84028FC02AAC07 /* CoreData */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE06B1211430E7390071169B /* xcconfig */,
|
||||
FE06433D121AD7C200373F23 /* NSManagedObjectMutableSet.h */,
|
||||
FE06433E121AD7C200373F23 /* NSManagedObjectMutableSet.m */,
|
||||
FE064327121AD56400373F23 /* NSManagedObjectSet.h */,
|
||||
FE064328121AD56400373F23 /* NSManagedObjectSet.m */,
|
||||
FE064329121AD56400373F23 /* NSManagedObjectSetEnumerator.h */,
|
||||
FE06432A121AD56400373F23 /* NSManagedObjectSetEnumerator.m */,
|
||||
FEDE52F51209C3AE003D3EF1 /* NSEntityDescription-Private.h */,
|
||||
FEDE51FD1209B1A0003D3EF1 /* NSManagedObjectContext-Private.h */,
|
||||
FEDE4E4F12089EDC003D3EF1 /* CoreDataErrors.h */,
|
||||
FEDE4E5012089EDC003D3EF1 /* CoreDataErrors.m */,
|
||||
FEDE4B941208545A003D3EF1 /* NSPersistentStoreCoordinator-Private.h */,
|
||||
FEA2C92E12077436003B1BB9 /* NSManagedObject-Private.h */,
|
||||
FEA2C92F12077436003B1BB9 /* NSManagedObjectID-Private.h */,
|
||||
08FB77AEFE84172EC02AAC07 /* Classes */,
|
||||
FE2132910DBFD22000CEDC65 /* CoreData.h */,
|
||||
FE21328F0DBFD21900CEDC65 /* CoreDataExports.h */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
FE59F2FF0D54301C00D54A25 /* Foundation.xcodeproj */,
|
||||
FE1FBEED11E6692400A9A87A /* NSAtomicStore.h */,
|
||||
FE1FBEEE11E6692400A9A87A /* NSAtomicStore.m */,
|
||||
FE1FBEEF11E6692400A9A87A /* NSAtomicStoreCacheNode.h */,
|
||||
FE1FBEF011E6692400A9A87A /* NSAtomicStoreCacheNode.m */,
|
||||
FE82F3BE0BF1042F00B18B54 /* NSAttributeDescription.h */,
|
||||
FE82F3BF0BF1042F00B18B54 /* NSAttributeDescription.m */,
|
||||
FE82F3C00BF1042F00B18B54 /* NSEntityDescription.h */,
|
||||
FE82F3C10BF1042F00B18B54 /* NSEntityDescription.m */,
|
||||
FE82F3C20BF1042F00B18B54 /* NSFetchedPropertyDescription.h */,
|
||||
FE82F3C30BF1042F00B18B54 /* NSFetchedPropertyDescription.m */,
|
||||
FE82F3C40BF1042F00B18B54 /* NSFetchRequest.h */,
|
||||
FE82F3C50BF1042F00B18B54 /* NSFetchRequest.m */,
|
||||
FE1FC22511E8116200A9A87A /* NSInMemoryPersistentStore.h */,
|
||||
FE1FC22611E8116200A9A87A /* NSInMemoryPersistentStore.m */,
|
||||
FE82F3C60BF1042F00B18B54 /* NSManagedObject.h */,
|
||||
FE82F3C70BF1042F00B18B54 /* NSManagedObject.m */,
|
||||
FE82F3C80BF1042F00B18B54 /* NSManagedObjectContext.h */,
|
||||
FE82F3C90BF1042F00B18B54 /* NSManagedObjectContext.m */,
|
||||
FE82F3CA0BF1042F00B18B54 /* NSManagedObjectID.h */,
|
||||
FE82F3CB0BF1042F00B18B54 /* NSManagedObjectID.m */,
|
||||
FE82F3CC0BF1042F00B18B54 /* NSManagedObjectModel.h */,
|
||||
FE82F3CD0BF1042F00B18B54 /* NSManagedObjectModel.m */,
|
||||
FE1FBEF111E6692400A9A87A /* NSPersistentStore.h */,
|
||||
FE1FBEF211E6692400A9A87A /* NSPersistentStore.m */,
|
||||
FE82F3CE0BF1042F00B18B54 /* NSPersistentStoreCoordinator.h */,
|
||||
FE82F3CF0BF1042F00B18B54 /* NSPersistentStoreCoordinator.m */,
|
||||
FE82F3D00BF1042F00B18B54 /* NSPropertyDescription.h */,
|
||||
FE82F3D10BF1042F00B18B54 /* NSPropertyDescription.m */,
|
||||
FE82F3D20BF1042F00B18B54 /* NSRelationshipDescription.h */,
|
||||
FE82F3D30BF1042F00B18B54 /* NSRelationshipDescription.m */,
|
||||
FE1FC22711E8116200A9A87A /* NSXMLPersistentStore.h */,
|
||||
FE1FC22811E8116200A9A87A /* NSXMLPersistentStore.m */,
|
||||
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
name = CoreData;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1665FE841158C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE2131390DBFC72700CEDC65 /* dllmain.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE06B1211430E7390071169B /* xcconfig */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEC0A3681709354A002A60B7 /* darwin-i386-framework.xcconfig */,
|
||||
FEC0A3691709354A002A60B7 /* darwin-ppc-framework.xcconfig */,
|
||||
FEC0A36A1709354A002A60B7 /* darwin-x86_64-framework.xcconfig */,
|
||||
FEC0A36B1709354A002A60B7 /* freebsd-i386-framework.xcconfig */,
|
||||
FEC0A36C1709354A002A60B7 /* linux-arm-framework.xcconfig */,
|
||||
FEC0A36D1709354A002A60B7 /* linux-i386-framework.xcconfig */,
|
||||
FEC0A36E1709354A002A60B7 /* linux-ppc-framework.xcconfig */,
|
||||
FEC0A36F1709354A002A60B7 /* solaris-sparc-framework.xcconfig */,
|
||||
FE06B1221430E7390071169B /* darwin-i386.xcconfig */,
|
||||
FE06B1231430E7390071169B /* darwin-ppc.xcconfig */,
|
||||
FE06B1241430E7390071169B /* darwin-x86_64.xcconfig */,
|
||||
FE06B1251430E7390071169B /* darwin.xcconfig */,
|
||||
FE06B1261430E7390071169B /* freebsd-i386.xcconfig */,
|
||||
FE06B1271430E7390071169B /* freebsd.xcconfig */,
|
||||
FE06B1281430E7390071169B /* linux-arm.xcconfig */,
|
||||
FE06B1291430E7390071169B /* linux-i386.xcconfig */,
|
||||
FE06B12A1430E7390071169B /* linux-ppc.xcconfig */,
|
||||
FE06B12B1430E7390071169B /* linux.xcconfig */,
|
||||
FE06B12C1430E7390071169B /* platform.xcconfig */,
|
||||
FE06B12D1430E7390071169B /* solaris-sparc.xcconfig */,
|
||||
FE06B12E1430E7390071169B /* solaris.xcconfig */,
|
||||
FE06B12F1430E7390071169B /* windows-i386.xcconfig */,
|
||||
FE06B1301430E7390071169B /* windows.xcconfig */,
|
||||
FE7085CF1431178000B99A95 /* windows-i386-framework.xcconfig */,
|
||||
);
|
||||
name = xcconfig;
|
||||
path = ../xcconfig;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
FE59F3000D54301C00D54A25 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE59F3100D54301D00D54A25 /* Foundation.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8DC2EF500486A6940098B216 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE82F3D40BF1042F00B18B54 /* NSAttributeDescription.h in Headers */,
|
||||
FE82F3D60BF1042F00B18B54 /* NSEntityDescription.h in Headers */,
|
||||
FE82F3D80BF1042F00B18B54 /* NSFetchedPropertyDescription.h in Headers */,
|
||||
FE82F3DA0BF1042F00B18B54 /* NSFetchRequest.h in Headers */,
|
||||
FE82F3DC0BF1042F00B18B54 /* NSManagedObject.h in Headers */,
|
||||
FE82F3DE0BF1042F00B18B54 /* NSManagedObjectContext.h in Headers */,
|
||||
FE82F3E00BF1042F00B18B54 /* NSManagedObjectID.h in Headers */,
|
||||
FE82F3E20BF1042F00B18B54 /* NSManagedObjectModel.h in Headers */,
|
||||
FE82F3E40BF1042F00B18B54 /* NSPersistentStoreCoordinator.h in Headers */,
|
||||
FE82F3E60BF1042F00B18B54 /* NSPropertyDescription.h in Headers */,
|
||||
FE82F3E80BF1042F00B18B54 /* NSRelationshipDescription.h in Headers */,
|
||||
FE2132900DBFD21900CEDC65 /* CoreDataExports.h in Headers */,
|
||||
FE2132920DBFD22000CEDC65 /* CoreData.h in Headers */,
|
||||
FE1FBEF311E6692400A9A87A /* NSAtomicStore.h in Headers */,
|
||||
FE1FBEF511E6692400A9A87A /* NSAtomicStoreCacheNode.h in Headers */,
|
||||
FE1FBEF711E6692400A9A87A /* NSPersistentStore.h in Headers */,
|
||||
FE1FC22911E8116200A9A87A /* NSInMemoryPersistentStore.h in Headers */,
|
||||
FE1FC22B11E8116200A9A87A /* NSXMLPersistentStore.h in Headers */,
|
||||
FEA2C93012077436003B1BB9 /* NSManagedObject-Private.h in Headers */,
|
||||
FEA2C93112077436003B1BB9 /* NSManagedObjectID-Private.h in Headers */,
|
||||
FEDE4B951208545A003D3EF1 /* NSPersistentStoreCoordinator-Private.h in Headers */,
|
||||
FEDE4E5112089EDC003D3EF1 /* CoreDataErrors.h in Headers */,
|
||||
FEDE51FE1209B1A0003D3EF1 /* NSManagedObjectContext-Private.h in Headers */,
|
||||
FEDE52F61209C3AE003D3EF1 /* NSEntityDescription-Private.h in Headers */,
|
||||
FE06432B121AD56400373F23 /* NSManagedObjectSet.h in Headers */,
|
||||
FE06432D121AD56400373F23 /* NSManagedObjectSetEnumerator.h in Headers */,
|
||||
FE06433F121AD7C200373F23 /* NSManagedObjectMutableSet.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8DC2EF4F0486A6940098B216 /* CoreData */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreData" */;
|
||||
buildPhases = (
|
||||
8DC2EF500486A6940098B216 /* Headers */,
|
||||
8DC2EF520486A6940098B216 /* Resources */,
|
||||
8DC2EF540486A6940098B216 /* Sources */,
|
||||
8DC2EF560486A6940098B216 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FE39C6851203D5F800A80A71 /* PBXTargetDependency */,
|
||||
);
|
||||
name = CoreData;
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CoreData;
|
||||
productReference = 8DC2EF5B0486A6940098B216 /* CoreData.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
};
|
||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreData" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* CoreData */;
|
||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FE59F3000D54301C00D54A25 /* Products */;
|
||||
ProjectRef = FE59F2FF0D54301C00D54A25 /* Foundation.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8DC2EF4F0486A6940098B216 /* CoreData */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE59F3100D54301D00D54A25 /* Foundation.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Foundation.framework;
|
||||
remoteRef = FE59F30F0D54301D00D54A25 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8DC2EF520486A6940098B216 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8DC2EF540486A6940098B216 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE82F3D50BF1042F00B18B54 /* NSAttributeDescription.m in Sources */,
|
||||
FE82F3D70BF1042F00B18B54 /* NSEntityDescription.m in Sources */,
|
||||
FE82F3D90BF1042F00B18B54 /* NSFetchedPropertyDescription.m in Sources */,
|
||||
FE82F3DB0BF1042F00B18B54 /* NSFetchRequest.m in Sources */,
|
||||
FE82F3DD0BF1042F00B18B54 /* NSManagedObject.m in Sources */,
|
||||
FE82F3DF0BF1042F00B18B54 /* NSManagedObjectContext.m in Sources */,
|
||||
FE82F3E10BF1042F00B18B54 /* NSManagedObjectID.m in Sources */,
|
||||
FE82F3E30BF1042F00B18B54 /* NSManagedObjectModel.m in Sources */,
|
||||
FE82F3E50BF1042F00B18B54 /* NSPersistentStoreCoordinator.m in Sources */,
|
||||
FE82F3E70BF1042F00B18B54 /* NSPropertyDescription.m in Sources */,
|
||||
FE82F3E90BF1042F00B18B54 /* NSRelationshipDescription.m in Sources */,
|
||||
FE21313A0DBFC72700CEDC65 /* dllmain.m in Sources */,
|
||||
FE1FBEF411E6692400A9A87A /* NSAtomicStore.m in Sources */,
|
||||
FE1FBEF611E6692400A9A87A /* NSAtomicStoreCacheNode.m in Sources */,
|
||||
FE1FBEF811E6692400A9A87A /* NSPersistentStore.m in Sources */,
|
||||
FE1FC22A11E8116200A9A87A /* NSInMemoryPersistentStore.m in Sources */,
|
||||
FE1FC22C11E8116200A9A87A /* NSXMLPersistentStore.m in Sources */,
|
||||
FEDE4E5212089EDC003D3EF1 /* CoreDataErrors.m in Sources */,
|
||||
FE06432C121AD56400373F23 /* NSManagedObjectSet.m in Sources */,
|
||||
FE06432E121AD56400373F23 /* NSManagedObjectSetEnumerator.m in Sources */,
|
||||
FE064340121AD7C200373F23 /* NSManagedObjectMutableSet.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FE39C6851203D5F800A80A71 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Foundation-Windows-i386";
|
||||
targetProxy = FE39C6841203D5F800A80A71 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C1667FE841158C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB91AE08733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE7085CF1431178000B99A95 /* windows-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"-DCOREDATA_INSIDE_BUILD",
|
||||
"$(OTHER_CFLAGS)",
|
||||
);
|
||||
PRODUCT_NAME = CoreData;
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
1DEB91B208733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreData" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91AE08733DA50010E9CD /* Windows-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Windows-i386";
|
||||
};
|
||||
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreData" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91B208733DA50010E9CD /* Windows-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Windows-i386";
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -1 +0,0 @@
|
||||
#import <CFNetwork/CFNetwork.h>
|
@ -1,352 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C1666FE841158C02AAC07 /* InfoPlist.strings */; };
|
||||
FE7433A910A89ED7004CDF00 /* CoreServices.h in Headers */ = {isa = PBXBuildFile; fileRef = FE7433A810A89ED7004CDF00 /* CoreServices.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE7433B210A89F5D004CDF00 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
|
||||
remoteInfo = "CFNetwork-Windows-i386";
|
||||
};
|
||||
FE7433B410A89F63004CDF00 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
|
||||
remoteInfo = "CFNetwork-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CoreServices.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreServices.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE708626143117B300B99A95 /* windows-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FE7433A810A89ED7004CDF00 /* CoreServices.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreServices.h; sourceTree = "<group>"; };
|
||||
FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CFNetwork.xcodeproj; path = ../CFNetwork/CFNetwork.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FEC0A3911709356B002A60B7 /* darwin-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3921709356B002A60B7 /* darwin-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3931709356B002A60B7 /* darwin-x86_64-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3941709356B002A60B7 /* freebsd-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3951709356B002A60B7 /* linux-arm-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3961709356B002A60B7 /* linux-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3971709356B002A60B7 /* linux-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3981709356B002A60B7 /* solaris-sparc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5B0486A6940098B216 /* CoreServices.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0867D691FE84028FC02AAC07 /* CoreServices */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE06B1BD1430E7AF0071169B /* xcconfig */,
|
||||
FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */,
|
||||
FE7433A810A89ED7004CDF00 /* CoreServices.h */,
|
||||
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
name = CoreServices;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1665FE841158C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE06B1BD1430E7AF0071169B /* xcconfig */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEC0A3911709356B002A60B7 /* darwin-i386-framework.xcconfig */,
|
||||
FEC0A3921709356B002A60B7 /* darwin-ppc-framework.xcconfig */,
|
||||
FEC0A3931709356B002A60B7 /* darwin-x86_64-framework.xcconfig */,
|
||||
FEC0A3941709356B002A60B7 /* freebsd-i386-framework.xcconfig */,
|
||||
FEC0A3951709356B002A60B7 /* linux-arm-framework.xcconfig */,
|
||||
FEC0A3961709356B002A60B7 /* linux-i386-framework.xcconfig */,
|
||||
FEC0A3971709356B002A60B7 /* linux-ppc-framework.xcconfig */,
|
||||
FEC0A3981709356B002A60B7 /* solaris-sparc-framework.xcconfig */,
|
||||
FE708626143117B300B99A95 /* windows-i386-framework.xcconfig */,
|
||||
);
|
||||
name = xcconfig;
|
||||
path = ../xcconfig;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
FE7433AF10A89F5D004CDF00 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE7433B310A89F5D004CDF00 /* CFNetwork.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8DC2EF500486A6940098B216 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE7433A910A89ED7004CDF00 /* CoreServices.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8DC2EF4F0486A6940098B216 /* CoreServices */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreServices" */;
|
||||
buildPhases = (
|
||||
8DC2EF500486A6940098B216 /* Headers */,
|
||||
8DC2EF520486A6940098B216 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FE7433B510A89F63004CDF00 /* PBXTargetDependency */,
|
||||
);
|
||||
name = CoreServices;
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CoreServices;
|
||||
productReference = 8DC2EF5B0486A6940098B216 /* CoreServices.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
};
|
||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreServices" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* CoreServices */;
|
||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FE7433AF10A89F5D004CDF00 /* Products */;
|
||||
ProjectRef = FE7433AE10A89F5D004CDF00 /* CFNetwork.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8DC2EF4F0486A6940098B216 /* CoreServices */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE7433B310A89F5D004CDF00 /* CFNetwork.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = CFNetwork.framework;
|
||||
remoteRef = FE7433B210A89F5D004CDF00 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8DC2EF520486A6940098B216 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FE7433B510A89F63004CDF00 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "CFNetwork-Windows-i386";
|
||||
targetProxy = FE7433B410A89F63004CDF00 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C1666FE841158C02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C1667FE841158C02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB91AE08733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE708626143117B300B99A95 /* windows-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreServices;
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
1DEB91AF08733DA50010E9CD /* Darwin-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3911709356B002A60B7 /* darwin-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreServices;
|
||||
};
|
||||
name = "Darwin-i386";
|
||||
};
|
||||
1DEB91B208733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
1DEB91B308733DA50010E9CD /* Darwin-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Darwin-i386";
|
||||
};
|
||||
CFC5B4771AF468F100FBB52A /* Linux-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Linux-i386";
|
||||
};
|
||||
CFC5B4781AF468F100FBB52A /* Linux-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3961709356B002A60B7 /* linux-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreServices;
|
||||
};
|
||||
name = "Linux-i386";
|
||||
};
|
||||
CFC5B47D1AF468F800FBB52A /* FreeBSD-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "FreeBSD-i386";
|
||||
};
|
||||
CFC5B47E1AF468F800FBB52A /* FreeBSD-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3941709356B002A60B7 /* freebsd-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreServices;
|
||||
};
|
||||
name = "FreeBSD-i386";
|
||||
};
|
||||
CFC5B4831AF4690000FBB52A /* Darwin-x86_64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Darwin-x86_64";
|
||||
};
|
||||
CFC5B4841AF4690000FBB52A /* Darwin-x86_64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3931709356B002A60B7 /* darwin-x86_64-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreServices;
|
||||
};
|
||||
name = "Darwin-x86_64";
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreServices" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91AE08733DA50010E9CD /* Windows-i386 */,
|
||||
CFC5B4841AF4690000FBB52A /* Darwin-x86_64 */,
|
||||
CFC5B47E1AF468F800FBB52A /* FreeBSD-i386 */,
|
||||
1DEB91AF08733DA50010E9CD /* Darwin-i386 */,
|
||||
CFC5B4781AF468F100FBB52A /* Linux-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Darwin-i386";
|
||||
};
|
||||
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreServices" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91B208733DA50010E9CD /* Windows-i386 */,
|
||||
CFC5B4831AF4690000FBB52A /* Darwin-x86_64 */,
|
||||
CFC5B47D1AF468F800FBB52A /* FreeBSD-i386 */,
|
||||
1DEB91B308733DA50010E9CD /* Darwin-i386 */,
|
||||
CFC5B4771AF468F100FBB52A /* Linux-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Darwin-i386";
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
/* Localized versions of Info.plist keys */
|
||||
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.cocotron.CoreServices</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>OBJC</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,421 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
FECF92110FFB217F007AECF1 /* CoreText.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920B0FFB217F007AECF1 /* CoreText.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FECF92120FFB217F007AECF1 /* CoreTextExport.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920C0FFB217F007AECF1 /* CoreTextExport.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FECF92130FFB217F007AECF1 /* CTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920D0FFB217F007AECF1 /* CTFont.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
FECF92150FFB217F007AECF1 /* KTFont.h in Headers */ = {isa = PBXBuildFile; fileRef = FECF920F0FFB217F007AECF1 /* KTFont.h */; settings = {ATTRIBUTES = (Private, ); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE5A884810C6F286005E348A /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE5A884510C6F286005E348A;
|
||||
remoteInfo = "CoreGraphics-Darwin-i386 copy";
|
||||
};
|
||||
FECF92710FFB2BA7007AECF1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 8DC2EF5B0486A6940098B216;
|
||||
remoteInfo = "CoreGraphics-Windows-i386";
|
||||
};
|
||||
FECF92730FFB2BA7007AECF1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE6F7BB30FD554A800C3244F;
|
||||
remoteInfo = "CoreGraphics-Linux-i386";
|
||||
};
|
||||
FECF92750FFB2BA7007AECF1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE6F7C980FD55FA300C3244F;
|
||||
remoteInfo = "CoreGraphics-Darwin-i386";
|
||||
};
|
||||
FECF92770FFB2BB0007AECF1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 8DC2EF4F0486A6940098B216;
|
||||
remoteInfo = "CoreGraphics-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
8DC2EF5B0486A6940098B216 /* CoreText.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreText.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE06B2161430E7D90071169B /* darwin-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B2171430E7D90071169B /* darwin-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B2181430E7D90071169B /* darwin-x86_64.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B2191430E7D90071169B /* darwin.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = darwin.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B21A1430E7D90071169B /* freebsd-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B21B1430E7D90071169B /* freebsd.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = freebsd.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B21C1430E7D90071169B /* linux-arm.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B21D1430E7D90071169B /* linux-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B21E1430E7D90071169B /* linux-ppc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B21F1430E7D90071169B /* linux.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = linux.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B2201430E7D90071169B /* platform.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = platform.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B2211430E7D90071169B /* solaris-sparc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B2221430E7D90071169B /* solaris.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = solaris.xcconfig; sourceTree = "<group>"; };
|
||||
FE06B2231430E7D90071169B /* windows-i386.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386.xcconfig"; sourceTree = "<group>"; };
|
||||
FE06B2241430E7D90071169B /* windows.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = windows.xcconfig; sourceTree = "<group>"; };
|
||||
FE708651143117C400B99A95 /* windows-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "windows-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3FE170935CA002A60B7 /* darwin-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A3FF170935CA002A60B7 /* darwin-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A400170935CA002A60B7 /* darwin-x86_64-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "darwin-x86_64-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A401170935CA002A60B7 /* freebsd-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "freebsd-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A402170935CA002A60B7 /* linux-arm-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-arm-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A403170935CA002A60B7 /* linux-i386-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-i386-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A404170935CA002A60B7 /* linux-ppc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "linux-ppc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FEC0A405170935CA002A60B7 /* solaris-sparc-framework.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "solaris-sparc-framework.xcconfig"; sourceTree = "<group>"; };
|
||||
FECF920B0FFB217F007AECF1 /* CoreText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreText.h; sourceTree = "<group>"; };
|
||||
FECF920C0FFB217F007AECF1 /* CoreTextExport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreTextExport.h; sourceTree = "<group>"; };
|
||||
FECF920D0FFB217F007AECF1 /* CTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CTFont.h; sourceTree = "<group>"; };
|
||||
FECF920E0FFB217F007AECF1 /* CTFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CTFont.m; sourceTree = "<group>"; };
|
||||
FECF920F0FFB217F007AECF1 /* KTFont.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KTFont.h; sourceTree = "<group>"; };
|
||||
FECF92100FFB217F007AECF1 /* KTFont.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KTFont.m; sourceTree = "<group>"; };
|
||||
FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CoreGraphics.xcodeproj; path = ../CoreGraphics/CoreGraphics.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||
FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = Cocotron/1.0/Windows/i386/Frameworks/CoreGraphics.framework; sourceTree = DEVELOPER_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5B0486A6940098B216 /* CoreText.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0867D691FE84028FC02AAC07 /* CoreText */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE06B2151430E7D90071169B /* xcconfig */,
|
||||
FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */,
|
||||
08FB77AEFE84172EC02AAC07 /* Classes */,
|
||||
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||
089C1665FE841158C02AAC07 /* Resources */,
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||
034768DFFF38A50411DB9C8B /* Products */,
|
||||
);
|
||||
indentWidth = 4;
|
||||
name = CoreText;
|
||||
sourceTree = "<group>";
|
||||
tabWidth = 4;
|
||||
usesTabs = 0;
|
||||
};
|
||||
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FECF928B0FFB2C5C007AECF1 /* CoreGraphics.framework */,
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = "External Frameworks and Libraries";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
089C1665FE841158C02AAC07 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8DC2EF5A0486A6940098B216 /* Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FECF920B0FFB217F007AECF1 /* CoreText.h */,
|
||||
FECF920C0FFB217F007AECF1 /* CoreTextExport.h */,
|
||||
FECF920D0FFB217F007AECF1 /* CTFont.h */,
|
||||
FECF920E0FFB217F007AECF1 /* CTFont.m */,
|
||||
FECF920F0FFB217F007AECF1 /* KTFont.h */,
|
||||
FECF92100FFB217F007AECF1 /* KTFont.m */,
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE06B2151430E7D90071169B /* xcconfig */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEC0A3FE170935CA002A60B7 /* darwin-i386-framework.xcconfig */,
|
||||
FEC0A3FF170935CA002A60B7 /* darwin-ppc-framework.xcconfig */,
|
||||
FEC0A400170935CA002A60B7 /* darwin-x86_64-framework.xcconfig */,
|
||||
FEC0A401170935CA002A60B7 /* freebsd-i386-framework.xcconfig */,
|
||||
FEC0A402170935CA002A60B7 /* linux-arm-framework.xcconfig */,
|
||||
FEC0A403170935CA002A60B7 /* linux-i386-framework.xcconfig */,
|
||||
FEC0A404170935CA002A60B7 /* linux-ppc-framework.xcconfig */,
|
||||
FEC0A405170935CA002A60B7 /* solaris-sparc-framework.xcconfig */,
|
||||
FE06B2161430E7D90071169B /* darwin-i386.xcconfig */,
|
||||
FE06B2171430E7D90071169B /* darwin-ppc.xcconfig */,
|
||||
FE06B2181430E7D90071169B /* darwin-x86_64.xcconfig */,
|
||||
FE06B2191430E7D90071169B /* darwin.xcconfig */,
|
||||
FE06B21A1430E7D90071169B /* freebsd-i386.xcconfig */,
|
||||
FE06B21B1430E7D90071169B /* freebsd.xcconfig */,
|
||||
FE06B21C1430E7D90071169B /* linux-arm.xcconfig */,
|
||||
FE06B21D1430E7D90071169B /* linux-i386.xcconfig */,
|
||||
FE06B21E1430E7D90071169B /* linux-ppc.xcconfig */,
|
||||
FE06B21F1430E7D90071169B /* linux.xcconfig */,
|
||||
FE06B2201430E7D90071169B /* platform.xcconfig */,
|
||||
FE06B2211430E7D90071169B /* solaris-sparc.xcconfig */,
|
||||
FE06B2221430E7D90071169B /* solaris.xcconfig */,
|
||||
FE06B2231430E7D90071169B /* windows-i386.xcconfig */,
|
||||
FE06B2241430E7D90071169B /* windows.xcconfig */,
|
||||
FE708651143117C400B99A95 /* windows-i386-framework.xcconfig */,
|
||||
);
|
||||
name = xcconfig;
|
||||
path = ../xcconfig;
|
||||
sourceTree = SOURCE_ROOT;
|
||||
};
|
||||
FECF926C0FFB2BA7007AECF1 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FECF92720FFB2BA7007AECF1 /* CoreGraphics.framework */,
|
||||
FECF92740FFB2BA7007AECF1 /* CoreGraphics.framework */,
|
||||
FECF92760FFB2BA7007AECF1 /* CoreGraphics.framework */,
|
||||
FE5A884910C6F286005E348A /* CoreGraphics.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
8DC2EF500486A6940098B216 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FECF92110FFB217F007AECF1 /* CoreText.h in Headers */,
|
||||
FECF92120FFB217F007AECF1 /* CoreTextExport.h in Headers */,
|
||||
FECF92130FFB217F007AECF1 /* CTFont.h in Headers */,
|
||||
FECF92150FFB217F007AECF1 /* KTFont.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8DC2EF4F0486A6940098B216 /* CoreText */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreText" */;
|
||||
buildPhases = (
|
||||
8DC2EF500486A6940098B216 /* Headers */,
|
||||
8DC2EF520486A6940098B216 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FECF92780FFB2BB0007AECF1 /* PBXTargetDependency */,
|
||||
);
|
||||
name = CoreText;
|
||||
productInstallPath = "$(HOME)/Library/Frameworks";
|
||||
productName = CoreText;
|
||||
productReference = 8DC2EF5B0486A6940098B216 /* CoreText.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0460;
|
||||
};
|
||||
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreText" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
);
|
||||
mainGroup = 0867D691FE84028FC02AAC07 /* CoreText */;
|
||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FECF926C0FFB2BA7007AECF1 /* Products */;
|
||||
ProjectRef = FECF926B0FFB2BA7007AECF1 /* CoreGraphics.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8DC2EF4F0486A6940098B216 /* CoreText */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE5A884910C6F286005E348A /* CoreGraphics.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = CoreGraphics.framework;
|
||||
remoteRef = FE5A884810C6F286005E348A /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FECF92720FFB2BA7007AECF1 /* CoreGraphics.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = CoreGraphics.framework;
|
||||
remoteRef = FECF92710FFB2BA7007AECF1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FECF92740FFB2BA7007AECF1 /* CoreGraphics.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = CoreGraphics.framework;
|
||||
remoteRef = FECF92730FFB2BA7007AECF1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FECF92760FFB2BA7007AECF1 /* CoreGraphics.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = CoreGraphics.framework;
|
||||
remoteRef = FECF92750FFB2BA7007AECF1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8DC2EF520486A6940098B216 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FECF92780FFB2BB0007AECF1 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "CoreGraphics-Windows-i386";
|
||||
targetProxy = FECF92770FFB2BB0007AECF1 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1DEB91AF08733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FE708651143117C400B99A95 /* windows-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreText;
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
1DEB91B308733DA50010E9CD /* Windows-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Windows-i386";
|
||||
};
|
||||
CFF0A1521AF472C000160EAA /* Darwin-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Darwin-i386";
|
||||
};
|
||||
CFF0A1531AF472C000160EAA /* Darwin-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A3FE170935CA002A60B7 /* darwin-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreText;
|
||||
};
|
||||
name = "Darwin-i386";
|
||||
};
|
||||
CFF0A1571AF472C600160EAA /* FreeBSD-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "FreeBSD-i386";
|
||||
};
|
||||
CFF0A1581AF472C600160EAA /* FreeBSD-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A401170935CA002A60B7 /* freebsd-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreText;
|
||||
};
|
||||
name = "FreeBSD-i386";
|
||||
};
|
||||
FEDE64B8118A7266009C3494 /* Linux-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = "Linux-i386";
|
||||
};
|
||||
FEDE64B9118A7266009C3494 /* Linux-i386 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = FEC0A403170935CA002A60B7 /* linux-i386-framework.xcconfig */;
|
||||
buildSettings = {
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CoreText;
|
||||
};
|
||||
name = "Linux-i386";
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
1DEB91AD08733DA50010E9CD /* Build configuration list for PBXNativeTarget "CoreText" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91AF08733DA50010E9CD /* Windows-i386 */,
|
||||
CFF0A1581AF472C600160EAA /* FreeBSD-i386 */,
|
||||
CFF0A1531AF472C000160EAA /* Darwin-i386 */,
|
||||
FEDE64B9118A7266009C3494 /* Linux-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Windows-i386";
|
||||
};
|
||||
1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "CoreText" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
1DEB91B308733DA50010E9CD /* Windows-i386 */,
|
||||
CFF0A1571AF472C600160EAA /* FreeBSD-i386 */,
|
||||
CFF0A1521AF472C000160EAA /* Darwin-i386 */,
|
||||
FEDE64B8118A7266009C3494 /* Linux-i386 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = "Windows-i386";
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||
}
|
@ -1,445 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
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 = (); }; };
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
FEFC48F00BB21906006628BF /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
|
||||
FEFC48F10BB21906006628BF /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||
FEFC48F30BB21906006628BF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
FEFC48F50BB21906006628BF /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
FEFC49240BB21A07006628BF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97325FDCFA39411CA2CEA /* Foundation.framework */; };
|
||||
FEFC49250BB21A08006628BF /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; };
|
||||
FEFC492A0BB21B1D006628BF /* GradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = FEFC49290BB21B1D006628BF /* GradientView.m */; };
|
||||
FEFC492B0BB21B1D006628BF /* GradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = FEFC49290BB21B1D006628BF /* GradientView.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE386AF615268155007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01AB210C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
FE386AF815268155007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = C8E0BFAA0F0E6B0E00677729;
|
||||
remoteInfo = "Cocoa-Darwin-i386";
|
||||
};
|
||||
FE386AFA15268155007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FECC1DD6108D025D00BD4A91;
|
||||
remoteInfo = "Cocoa-Linux-i386";
|
||||
};
|
||||
FE386AFC15268155007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE5A873F10C6F1E8005E348A;
|
||||
remoteInfo = "Cocoa-FreeBSD-i386";
|
||||
};
|
||||
FE386B0315268162007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01AB110C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D1107320486CEB800E47090 /* CGShadingCreate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CGShadingCreate.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Cocoa.xcodeproj; path = ../../Cocoa/Cocoa.xcodeproj; sourceTree = "<group>"; };
|
||||
FEFC48F90BB21906006628BF /* CGShadingCreate.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CGShadingCreate.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FEFC49280BB21B1D006628BF /* GradientView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = GradientView.h; sourceTree = "<group>"; };
|
||||
FEFC49290BB21B1D006628BF /* GradientView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = GradientView.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FEFC48F40BB21906006628BF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEFC48F50BB21906006628BF /* Cocoa.framework in Frameworks */,
|
||||
FEFC49240BB21A07006628BF /* Foundation.framework in Frameworks */,
|
||||
FEFC49250BB21A08006628BF /* AppKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107320486CEB800E47090 /* CGShadingCreate.app */,
|
||||
FEFC48F90BB21906006628BF /* CGShadingCreate.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97314FDCFA39411CA2CEA /* CGShadingCreate */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */,
|
||||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
);
|
||||
name = CGShadingCreate;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
FEFC49280BB21B1D006628BF /* GradientView.h */,
|
||||
FEFC49290BB21B1D006628BF /* GradientView.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE386AA515268151007CC8C7 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE386AF715268155007CC8C7 /* Cocoa.framework */,
|
||||
FE386AF915268155007CC8C7 /* Cocoa.framework */,
|
||||
FE386AFB15268155007CC8C7 /* Cocoa.framework */,
|
||||
FE386AFD15268155007CC8C7 /* Cocoa.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D1107260486CEB800E47090 /* CGShadingCreate-Mac */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "CGShadingCreate-Mac" */;
|
||||
buildPhases = (
|
||||
8D1107290486CEB800E47090 /* Resources */,
|
||||
8D11072C0486CEB800E47090 /* Sources */,
|
||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "CGShadingCreate-Mac";
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = CGShadingCreate;
|
||||
productReference = 8D1107320486CEB800E47090 /* CGShadingCreate.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
FEFC48EE0BB21906006628BF /* CGShadingCreate-Windows */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FEFC48F60BB21906006628BF /* Build configuration list for PBXNativeTarget "CGShadingCreate-Windows" */;
|
||||
buildPhases = (
|
||||
FEFC48EF0BB21906006628BF /* Resources */,
|
||||
FEFC48F20BB21906006628BF /* Sources */,
|
||||
FEFC48F40BB21906006628BF /* Frameworks */,
|
||||
FEB8F1150D3DB75D00754380 /* ShellScript */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FE386B0415268162007CC8C7 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "CGShadingCreate-Windows";
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = CGShadingCreate;
|
||||
productReference = FEFC48F90BB21906006628BF /* CGShadingCreate.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CGShadingCreate" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* CGShadingCreate */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FE386AA515268151007CC8C7 /* Products */;
|
||||
ProjectRef = FE386AA415268151007CC8C7 /* Cocoa.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D1107260486CEB800E47090 /* CGShadingCreate-Mac */,
|
||||
FEFC48EE0BB21906006628BF /* CGShadingCreate-Windows */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE386AF715268155007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386AF615268155007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE386AF915268155007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386AF815268155007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE386AFB15268155007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386AFA15268155007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE386AFD15268155007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386AFC15268155007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D1107290486CEB800E47090 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FEFC48EF0BB21906006628BF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEFC48F00BB21906006628BF /* MainMenu.nib in Resources */,
|
||||
FEFC48F10BB21906006628BF /* InfoPlist.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
FEB8F1150D3DB75D00754380 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/Developer/Cocotron/1.0/bin/retargetBundle -framework Foundation -framework AppKit -destination $TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\n\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D11072C0486CEB800E47090 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */,
|
||||
FEFC492A0BB21B1D006628BF /* GradientView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FEFC48F20BB21906006628BF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEFC48F30BB21906006628BF /* main.m in Sources */,
|
||||
FEFC492B0BB21B1D006628BF /* GradientView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FE386B0415268162007CC8C7 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Cocoa-Windows-i386";
|
||||
targetProxy = FE386B0315268162007CC8C7 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C165DFE840E0CC02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
29B97319FDCFA39411CA2CEA /* English */,
|
||||
);
|
||||
name = MainMenu.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i386;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = CGShadingCreate;
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
PREBINDING = NO;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FEFC48F80BB21906006628BF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i386;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
EFFECTIVE_PLATFORM_NAME = "-windows";
|
||||
EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Windows";
|
||||
EXECUTABLE_SUFFIX = .exe;
|
||||
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_VERSION = org.cocotron.1.0.windows.i386.gcc.4.3.1;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_LDFLAGS = (
|
||||
"-Wl,--enable-auto-import",
|
||||
"-mwindows",
|
||||
);
|
||||
PRODUCT_NAME = CGShadingCreate;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "CGShadingCreate-Mac" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "CGShadingCreate" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FEFC48F60BB21906006628BF /* Build configuration list for PBXNativeTarget "CGShadingCreate-Windows" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FEFC48F80BB21906006628BF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Mac"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Release">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Mac"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Mac"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Mac"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Release">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEFC48EE0BB21906006628BF"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Windows"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Release">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEFC48EE0BB21906006628BF"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Windows"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEFC48EE0BB21906006628BF"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Windows"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEFC48EE0BB21906006628BF"
|
||||
BuildableName = "CGShadingCreate.app"
|
||||
BlueprintName = "CGShadingCreate-Windows"
|
||||
ReferencedContainer = "container:CGShadingCreate.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Release">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>IBDocumentLocation</key>
|
||||
<string>76 78 356 240 0 0 1680 1028 </string>
|
||||
<key>IBEditorPositions</key>
|
||||
<dict>
|
||||
<key>29</key>
|
||||
<string>80 352 350 44 0 0 1680 1028 </string>
|
||||
</dict>
|
||||
<key>IBFramework Version</key>
|
||||
<string>446.1</string>
|
||||
<key>IBOpenObjects</key>
|
||||
<array>
|
||||
<integer>29</integer>
|
||||
<integer>21</integer>
|
||||
</array>
|
||||
<key>IBSystem Version</key>
|
||||
<string>8L2127</string>
|
||||
<key>IBUsesTextArchiving</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
File diff suppressed because it is too large
Load Diff
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.cocotron.CGShadingCreateAxial</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>OBJC</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
</dict>
|
||||
</plist>
|
100
Examples/Examples.xcworkspace/contents.xcworkspacedata
generated
100
Examples/Examples.xcworkspace/contents.xcworkspacedata
generated
@ -1,100 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<Group
|
||||
location = "group:CGShadingCreate"
|
||||
name = "CGShadingCreate">
|
||||
<FileRef
|
||||
location = "group:CGShadingCreate.xcodeproj">
|
||||
</FileRef>
|
||||
<Group
|
||||
location = "group:English.lproj"
|
||||
name = "English.lproj">
|
||||
<FileRef
|
||||
location = "group:InfoPlist.strings">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MainMenu.nib">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<FileRef
|
||||
location = "group:GradientView.h">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:GradientView.m">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Info.plist">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:main.m">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<Group
|
||||
location = "group:NSOpenGLView"
|
||||
name = "NSOpenGLView">
|
||||
<Group
|
||||
location = "group:English.lproj"
|
||||
name = "English.lproj">
|
||||
<FileRef
|
||||
location = "group:InfoPlist.strings">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Localizable-windows.strings">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:Localizable.strings">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MainMenu.nib">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<FileRef
|
||||
location = "group:Info.plist">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:main.m">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MyOpenGLView.h">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MyOpenGLView.m">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:NSOpenGLView.xcodeproj">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<Group
|
||||
location = "group:TextEditor"
|
||||
name = "TextEditor">
|
||||
<Group
|
||||
location = "group:English.lproj"
|
||||
name = "English.lproj">
|
||||
<FileRef
|
||||
location = "group:Credits.rtf">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MainMenu.nib">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MyDocument.nib">
|
||||
</FileRef>
|
||||
</Group>
|
||||
<FileRef
|
||||
location = "group:Info.plist">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:main.m">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MyDocument.h">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:MyDocument.m">
|
||||
</FileRef>
|
||||
<FileRef
|
||||
location = "group:TextEditor.xcodeproj">
|
||||
</FileRef>
|
||||
</Group>
|
||||
</Workspace>
|
@ -1,484 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
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 = (); }; };
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
FE472DAE0C85A959002B72EF /* MyOpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = FE472DAD0C85A959002B72EF /* MyOpenGLView.m */; };
|
||||
FE472DC90C85AAA1002B72EF /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE472DC80C85AAA1002B72EF /* OpenGL.framework */; };
|
||||
FE4733530C876FA1002B72EF /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
|
||||
FE4733540C876FA1002B72EF /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||
FE4733560C876FA1002B72EF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
FE4733570C876FA1002B72EF /* MyOpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = FE472DAD0C85A959002B72EF /* MyOpenGLView.m */; };
|
||||
FEBEB04E0C96D3EE002C9F50 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = FEBEB04D0C96D3EE002C9F50 /* Localizable.strings */; };
|
||||
FEBEB04F0C96D3EE002C9F50 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = FEBEB04D0C96D3EE002C9F50 /* Localizable.strings */; };
|
||||
FEBEB0520C96D3FD002C9F50 /* Localizable-windows.strings in Resources */ = {isa = PBXBuildFile; fileRef = FEBEB0510C96D3FD002C9F50 /* Localizable-windows.strings */; };
|
||||
FEBEB0530C96D3FD002C9F50 /* Localizable-windows.strings in Resources */ = {isa = PBXBuildFile; fileRef = FEBEB0510C96D3FD002C9F50 /* Localizable-windows.strings */; };
|
||||
FEF2EB7D0C87B952001FC5A8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97325FDCFA39411CA2CEA /* Foundation.framework */; };
|
||||
FEF2EB7E0C87B959001FC5A8 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FE386A3C15267FB1007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01AB210C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
FE386A3E15267FB1007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = C8E0BFAA0F0E6B0E00677729;
|
||||
remoteInfo = "Cocoa-Darwin-i386";
|
||||
};
|
||||
FE386A4015267FB1007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FECC1DD6108D025D00BD4A91;
|
||||
remoteInfo = "Cocoa-Linux-i386";
|
||||
};
|
||||
FE386A4215267FB1007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE5A873F10C6F1E8005E348A;
|
||||
remoteInfo = "Cocoa-FreeBSD-i386";
|
||||
};
|
||||
FE386A4815267FC9007CC8C7 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01AB110C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
||||
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>"; };
|
||||
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D1107320486CEB800E47090 /* NSOpenGLView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NSOpenGLView.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Cocoa.xcodeproj; path = ../../Cocoa/Cocoa.xcodeproj; sourceTree = "<group>"; };
|
||||
FE472DAC0C85A959002B72EF /* MyOpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MyOpenGLView.h; sourceTree = "<group>"; };
|
||||
FE472DAD0C85A959002B72EF /* MyOpenGLView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MyOpenGLView.m; sourceTree = "<group>"; };
|
||||
FE472DC80C85AAA1002B72EF /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
|
||||
FE47335D0C876FA1002B72EF /* NSOpenGLView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = NSOpenGLView.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FEBEB00E0C96D208002C9F50 /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
|
||||
FEBEB0160C96D228002C9F50 /* English */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.plist.strings; name = English; path = "English.lproj/Localizable-windows.strings"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
||||
FE472DC90C85AAA1002B72EF /* OpenGL.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE4733580C876FA1002B72EF /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEF2EB7D0C87B952001FC5A8 /* Foundation.framework in Frameworks */,
|
||||
FEF2EB7E0C87B959001FC5A8 /* AppKit.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
080E96DDFE201D6D7F000001 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
||||
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107320486CEB800E47090 /* NSOpenGLView.app */,
|
||||
FE47335D0C876FA1002B72EF /* NSOpenGLView.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97314FDCFA39411CA2CEA /* NSOpenGLView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */,
|
||||
080E96DDFE201D6D7F000001 /* Classes */,
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
FEBEB04D0C96D3EE002C9F50 /* Localizable.strings */,
|
||||
FEBEB0510C96D3FD002C9F50 /* Localizable-windows.strings */,
|
||||
);
|
||||
name = NSOpenGLView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
FE472DAC0C85A959002B72EF /* MyOpenGLView.h */,
|
||||
FE472DAD0C85A959002B72EF /* MyOpenGLView.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107310486CEB800E47090 /* Info.plist */,
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE472DC80C85AAA1002B72EF /* OpenGL.framework */,
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FE3869EB15267FAD007CC8C7 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FE386A3D15267FB1007CC8C7 /* Cocoa.framework */,
|
||||
FE386A3F15267FB1007CC8C7 /* Cocoa.framework */,
|
||||
FE386A4115267FB1007CC8C7 /* Cocoa.framework */,
|
||||
FE386A4315267FB1007CC8C7 /* Cocoa.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D1107260486CEB800E47090 /* NSOpenGLView-MacOS */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "NSOpenGLView-MacOS" */;
|
||||
buildPhases = (
|
||||
8D1107290486CEB800E47090 /* Resources */,
|
||||
8D11072C0486CEB800E47090 /* Sources */,
|
||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "NSOpenGLView-MacOS";
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = NSOpenGLView;
|
||||
productReference = 8D1107320486CEB800E47090 /* NSOpenGLView.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
FE4733510C876FA1002B72EF /* NSOpenGLView-Windows */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FE47335B0C876FA1002B72EF /* Build configuration list for PBXNativeTarget "NSOpenGLView-Windows" */;
|
||||
buildPhases = (
|
||||
FE4733520C876FA1002B72EF /* Resources */,
|
||||
FE4733550C876FA1002B72EF /* Sources */,
|
||||
FE4733580C876FA1002B72EF /* Frameworks */,
|
||||
FE2D932D0D491258005B7813 /* ShellScript */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FE386A4915267FC9007CC8C7 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "NSOpenGLView-Windows";
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = NSOpenGLView;
|
||||
productReference = FE47335D0C876FA1002B72EF /* NSOpenGLView.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "NSOpenGLView" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* NSOpenGLView */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FE3869EB15267FAD007CC8C7 /* Products */;
|
||||
ProjectRef = FE3869EA15267FAD007CC8C7 /* Cocoa.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D1107260486CEB800E47090 /* NSOpenGLView-MacOS */,
|
||||
FE4733510C876FA1002B72EF /* NSOpenGLView-Windows */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FE386A3D15267FB1007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386A3C15267FB1007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE386A3F15267FB1007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386A3E15267FB1007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE386A4115267FB1007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386A4015267FB1007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FE386A4315267FB1007CC8C7 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FE386A4215267FB1007CC8C7 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D1107290486CEB800E47090 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
||||
FEBEB04E0C96D3EE002C9F50 /* Localizable.strings in Resources */,
|
||||
FEBEB0520C96D3FD002C9F50 /* Localizable-windows.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE4733520C876FA1002B72EF /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE4733530C876FA1002B72EF /* MainMenu.nib in Resources */,
|
||||
FE4733540C876FA1002B72EF /* InfoPlist.strings in Resources */,
|
||||
FEBEB04F0C96D3EE002C9F50 /* Localizable.strings in Resources */,
|
||||
FEBEB0530C96D3FD002C9F50 /* Localizable-windows.strings in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
FE2D932D0D491258005B7813 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/Developer/Cocotron/1.0/bin/retargetBundle -framework Foundation -framework AppKit -destination $TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D11072C0486CEB800E47090 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */,
|
||||
FE472DAE0C85A959002B72EF /* MyOpenGLView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FE4733550C876FA1002B72EF /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FE4733560C876FA1002B72EF /* main.m in Sources */,
|
||||
FE4733570C876FA1002B72EF /* MyOpenGLView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FE386A4915267FC9007CC8C7 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Cocoa-Windows-i386";
|
||||
targetProxy = FE386A4815267FC9007CC8C7 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C165DFE840E0CC02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
29B97319FDCFA39411CA2CEA /* English */,
|
||||
);
|
||||
name = MainMenu.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FEBEB04D0C96D3EE002C9F50 /* Localizable.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
FEBEB00E0C96D208002C9F50 /* English */,
|
||||
);
|
||||
name = Localizable.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FEBEB0510C96D3FD002C9F50 /* Localizable-windows.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
FEBEB0160C96D228002C9F50 /* English */,
|
||||
);
|
||||
name = "Localizable-windows.strings";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_OPTIMIZATION_LEVEL = 1;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
PRODUCT_NAME = NSOpenGLView;
|
||||
SDKROOT = "";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
PREBINDING = NO;
|
||||
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FE47335C0C876FA1002B72EF /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i386;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
EFFECTIVE_PLATFORM_NAME = "-windows";
|
||||
EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Windows";
|
||||
EXECUTABLE_SUFFIX = .exe;
|
||||
FRAMEWORK_SEARCH_PATHS = /Developer/Cocotron/1.0/Windows/i386/Frameworks;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_VERSION = org.cocotron.1.0.windows.i386.gcc.4.3.1;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
OTHER_LDFLAGS = (
|
||||
"-Wl,--enable-auto-import",
|
||||
"-mwindows",
|
||||
"-lopengl32",
|
||||
);
|
||||
PREBINDING = NO;
|
||||
PRODUCT_NAME = NSOpenGLView;
|
||||
SDKROOT = "";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "NSOpenGLView-MacOS" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "NSOpenGLView" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FE47335B0C876FA1002B72EF /* Build configuration list for PBXNativeTarget "NSOpenGLView-Windows" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FE47335C0C876FA1002B72EF /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-MacOS"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Release">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-MacOS"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-MacOS"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D1107260486CEB800E47090"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-MacOS"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Release">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE4733510C876FA1002B72EF"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-Windows"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Deployment">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE4733510C876FA1002B72EF"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-Windows"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE4733510C876FA1002B72EF"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-Windows"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Deployment"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE4733510C876FA1002B72EF"
|
||||
BuildableName = "NSOpenGLView.app"
|
||||
BlueprintName = "NSOpenGLView-Windows"
|
||||
ReferencedContainer = "container:NSOpenGLView.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Deployment">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Deployment"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,533 +0,0 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; };
|
||||
8D15AC2D0486D014006FF6A4 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B6FDCFA73011CA2CEA /* MainMenu.nib */; };
|
||||
8D15AC2E0486D014006FF6A4 /* MyDocument.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B4FDCFA73011CA2CEA /* MyDocument.nib */; };
|
||||
8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8D15AC320486D014006FF6A4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */; };
|
||||
FE2021971751B01F002A9EDC /* MyDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */; };
|
||||
FEBCB9391750326300056F54 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEBCB9381750326300056F54 /* AppKit.framework */; };
|
||||
FEBCB93B1750326E00056F54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEBCB93A1750326E00056F54 /* Foundation.framework */; };
|
||||
FEF2CA110B35153A005449C7 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */; };
|
||||
FEF2CA120B35153A005449C7 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B6FDCFA73011CA2CEA /* MainMenu.nib */; };
|
||||
FEF2CA130B35153A005449C7 /* MyDocument.nib in Resources */ = {isa = PBXBuildFile; fileRef = 2A37F4B4FDCFA73011CA2CEA /* MyDocument.nib */; };
|
||||
FEF2CA170B35153A005449C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4B0FDCFA73011CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
FEB4EF3A15267D2100EC3CA1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE01AB210C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
FEB4EF3C15267D2100EC3CA1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = C8E0BFAA0F0E6B0E00677729;
|
||||
remoteInfo = "Cocoa-Darwin-i386";
|
||||
};
|
||||
FEB4EF3E15267D2100EC3CA1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FECC1DD6108D025D00BD4A91;
|
||||
remoteInfo = "Cocoa-Linux-i386";
|
||||
};
|
||||
FEB4EF4015267D2100EC3CA1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = FE5A873F10C6F1E8005E348A;
|
||||
remoteInfo = "Cocoa-FreeBSD-i386";
|
||||
};
|
||||
FEB4EF4215267D3400EC3CA1 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = FE01AB110C5D9C3400AEA51A;
|
||||
remoteInfo = "Cocoa-Windows-i386";
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyDocument.m; sourceTree = "<group>"; };
|
||||
2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyDocument.h; sourceTree = "<group>"; };
|
||||
2A37F4B0FDCFA73011CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
2A37F4B5FDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MyDocument.nib; sourceTree = "<group>"; };
|
||||
2A37F4B7FDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
||||
2A37F4BAFDCFA73011CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/Credits.rtf; sourceTree = "<group>"; };
|
||||
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
8D15AC360486D014006FF6A4 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D15AC370486D014006FF6A4 /* TextEditor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TextEditor.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Cocoa.xcodeproj; path = ../../Cocoa/Cocoa.xcodeproj; sourceTree = "<group>"; };
|
||||
FEBCB9381750326300056F54 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = "../../AppKit/build/sym/Release-i386-mingw32msvc/AppKit.framework"; sourceTree = "<group>"; };
|
||||
FEBCB93A1750326E00056F54 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = "../../Foundation/build/sym/Release-i386-pc-linux/Foundation.framework"; sourceTree = "<group>"; };
|
||||
FEF2CA1C0B35153A005449C7 /* TextEditor.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TextEditor.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D15AC330486D014006FF6A4 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D15AC340486D014006FF6A4 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FEF2CA180B35153A005449C7 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEBCB9391750326300056F54 /* AppKit.framework in Frameworks */,
|
||||
FEBCB93B1750326E00056F54 /* Foundation.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A7FEA54F5311CA2CBB /* Cocoa.framework */,
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A8FEA54F5311CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */,
|
||||
2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FB0FE9D524F11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D15AC370486D014006FF6A4 /* TextEditor.app */,
|
||||
FEF2CA1C0B35153A005449C7 /* TextEditor.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2A37F4AAFDCFA73011CA2CEA /* TextEditor */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEBCB93A1750326E00056F54 /* Foundation.framework */,
|
||||
FEBCB9381750326300056F54 /* AppKit.framework */,
|
||||
FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */,
|
||||
2A37F4ABFDCFA73011CA2CEA /* Classes */,
|
||||
2A37F4C3FDCFA73011CA2CEA /* Frameworks */,
|
||||
2A37F4AFFDCFA73011CA2CEA /* Other Sources */,
|
||||
19C28FB0FE9D524F11CA2CBB /* Products */,
|
||||
2A37F4B8FDCFA73011CA2CEA /* Resources */,
|
||||
);
|
||||
name = TextEditor;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2A37F4ABFDCFA73011CA2CEA /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2A37F4AEFDCFA73011CA2CEA /* MyDocument.h */,
|
||||
2A37F4ACFDCFA73011CA2CEA /* MyDocument.m */,
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2A37F4AFFDCFA73011CA2CEA /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2A37F4B0FDCFA73011CA2CEA /* main.m */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2A37F4B8FDCFA73011CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */,
|
||||
2A37F4B6FDCFA73011CA2CEA /* MainMenu.nib */,
|
||||
2A37F4B4FDCFA73011CA2CEA /* MyDocument.nib */,
|
||||
8D15AC360486D014006FF6A4 /* Info.plist */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2A37F4C3FDCFA73011CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A6FEA54F5311CA2CBB /* Linked Frameworks */,
|
||||
1058C7A8FEA54F5311CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
FEB4EF2E15267D2000EC3CA1 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
FEB4EF3B15267D2100EC3CA1 /* Cocoa.framework */,
|
||||
FEB4EF3D15267D2100EC3CA1 /* Cocoa.framework */,
|
||||
FEB4EF3F15267D2100EC3CA1 /* Cocoa.framework */,
|
||||
FEB4EF4115267D2100EC3CA1 /* Cocoa.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D15AC270486D014006FF6A4 /* TextEditor-Mac */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "TextEditor-Mac" */;
|
||||
buildPhases = (
|
||||
8D15AC2B0486D014006FF6A4 /* Resources */,
|
||||
8D15AC300486D014006FF6A4 /* Sources */,
|
||||
8D15AC330486D014006FF6A4 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = "TextEditor-Mac";
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = TextEditor;
|
||||
productReference = 8D15AC370486D014006FF6A4 /* TextEditor.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
FEF2CA0F0B35153A005449C7 /* TextEditor-Windows */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = FEF2CA1A0B35153A005449C7 /* Build configuration list for PBXNativeTarget "TextEditor-Windows" */;
|
||||
buildPhases = (
|
||||
FEF2CA100B35153A005449C7 /* Resources */,
|
||||
FEF2CA150B35153A005449C7 /* Sources */,
|
||||
FEF2CA180B35153A005449C7 /* Frameworks */,
|
||||
FEB6746C0D2F2909006EE835 /* ShellScript */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
FEB4EF4315267D3400EC3CA1 /* PBXTargetDependency */,
|
||||
);
|
||||
name = "TextEditor-Windows";
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = TextEditor;
|
||||
productReference = FEF2CA1C0B35153A005449C7 /* TextEditor.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
2A37F4A9FDCFA73011CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0420;
|
||||
};
|
||||
buildConfigurationList = C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "TextEditor" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 2A37F4AAFDCFA73011CA2CEA /* TextEditor */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = FEB4EF2E15267D2000EC3CA1 /* Products */;
|
||||
ProjectRef = FEB4EF2D15267D2000EC3CA1 /* Cocoa.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D15AC270486D014006FF6A4 /* TextEditor-Mac */,
|
||||
FEF2CA0F0B35153A005449C7 /* TextEditor-Windows */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
FEB4EF3B15267D2100EC3CA1 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FEB4EF3A15267D2100EC3CA1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FEB4EF3D15267D2100EC3CA1 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FEB4EF3C15267D2100EC3CA1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FEB4EF3F15267D2100EC3CA1 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FEB4EF3E15267D2100EC3CA1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
FEB4EF4115267D2100EC3CA1 /* Cocoa.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = Cocoa.framework;
|
||||
remoteRef = FEB4EF4015267D2100EC3CA1 /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D15AC2B0486D014006FF6A4 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D15AC2C0486D014006FF6A4 /* Credits.rtf in Resources */,
|
||||
8D15AC2D0486D014006FF6A4 /* MainMenu.nib in Resources */,
|
||||
8D15AC2E0486D014006FF6A4 /* MyDocument.nib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FEF2CA100B35153A005449C7 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEF2CA110B35153A005449C7 /* Credits.rtf in Resources */,
|
||||
FEF2CA120B35153A005449C7 /* MainMenu.nib in Resources */,
|
||||
FEF2CA130B35153A005449C7 /* MyDocument.nib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
FEB6746C0D2F2909006EE835 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "/Developer/Cocotron/1.0/bin/retargetBundle -framework Foundation -framework AppKit -destination $TARGET_BUILD_DIR\"/\"$EXECUTABLE_FOLDER_PATH\n";
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D15AC300486D014006FF6A4 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D15AC310486D014006FF6A4 /* MyDocument.m in Sources */,
|
||||
8D15AC320486D014006FF6A4 /* main.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
FEF2CA150B35153A005449C7 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
FEF2CA170B35153A005449C7 /* main.m in Sources */,
|
||||
FE2021971751B01F002A9EDC /* MyDocument.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
FEB4EF4315267D3400EC3CA1 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = "Cocoa-Windows-i386";
|
||||
targetProxy = FEB4EF4215267D3400EC3CA1 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
2A37F4B4FDCFA73011CA2CEA /* MyDocument.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
2A37F4B5FDCFA73011CA2CEA /* English */,
|
||||
);
|
||||
name = MyDocument.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2A37F4B6FDCFA73011CA2CEA /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
2A37F4B7FDCFA73011CA2CEA /* English */,
|
||||
);
|
||||
name = MainMenu.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2A37F4B9FDCFA73011CA2CEA /* Credits.rtf */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
2A37F4BAFDCFA73011CA2CEA /* English */,
|
||||
);
|
||||
name = Credits.rtf;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C05733C808A9546B00998B17 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = TextEditor;
|
||||
WRAPPER_EXTENSION = app;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C05733CC08A9546B00998B17 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
FEBCB9291750249800056F54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
FEBCB92A1750249800056F54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
PRODUCT_NAME = TextEditor;
|
||||
WRAPPER_EXTENSION = app;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
FEBCB92B1750249800056F54 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i386;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DSTROOT = build;
|
||||
EFFECTIVE_PLATFORM_NAME = "-windows";
|
||||
EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Windows";
|
||||
EXECUTABLE_SUFFIX = .exe;
|
||||
FRAMEWORK_SEARCH_PATHS = "../../system/i386-mingw32msvc/Frameworks";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_VERSION = org.cocotron.1.0.windows.i386.gcc.4.3.1;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"$(WINDOWS_i386_COMPILER_CFLAGS)",
|
||||
"-isystem",
|
||||
/Developer/Cocotron/1.0/Windows/i386/sysroot/mingw/include/,
|
||||
"-mwindows",
|
||||
"-mconsole",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-mwindows",
|
||||
"-mconsole",
|
||||
"$(WINDOWS_i386_COMPILER_LDFLAGS)",
|
||||
);
|
||||
PRODUCT_NAME = TextEditor;
|
||||
XWINDOWS_i386_COMPILER_CFLAGS = "-ccc-host-triple i386-pc-mingw32msvc -ccc-gcc-name i386-mingw32msvc-gcc";
|
||||
XWINDOWS_i386_COMPILER_LDFLAGS = "-ccc-host-triple i386-pc-mingw32msvc -ccc-gcc-name i386-mingw32msvc-gcc";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
FEF2CA1B0B35153A005449C7 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = i386;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEPLOYMENT_LOCATION = YES;
|
||||
DSTROOT = build;
|
||||
EFFECTIVE_PLATFORM_NAME = "-windows";
|
||||
EXECUTABLE_FOLDER_PATH = "$(CONTENTS_FOLDER_PATH)/Windows";
|
||||
EXECUTABLE_SUFFIX = .exe;
|
||||
FRAMEWORK_SEARCH_PATHS = "../../system/i386-mingw32msvc/Frameworks";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = "";
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = NO;
|
||||
GCC_VERSION = org.cocotron.1.0.windows.i386.gcc.4.3.1;
|
||||
INFOPLIST_FILE = Info.plist;
|
||||
OTHER_CFLAGS = (
|
||||
"$(WINDOWS_i386_COMPILER_CFLAGS)",
|
||||
"-isystem",
|
||||
/Developer/Cocotron/1.0/Windows/i386/sysroot/mingw/include/,
|
||||
"-mwindows",
|
||||
"-mconsole",
|
||||
);
|
||||
OTHER_LDFLAGS = (
|
||||
"-mwindows",
|
||||
"-mconsole",
|
||||
"$(WINDOWS_i386_COMPILER_LDFLAGS)",
|
||||
);
|
||||
PRODUCT_NAME = TextEditor;
|
||||
XWINDOWS_i386_COMPILER_CFLAGS = "-ccc-host-triple i386-pc-mingw32msvc -ccc-gcc-name i386-mingw32msvc-gcc";
|
||||
XWINDOWS_i386_COMPILER_LDFLAGS = "-ccc-host-triple i386-pc-mingw32msvc -ccc-gcc-name i386-mingw32msvc-gcc";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C05733C708A9546B00998B17 /* Build configuration list for PBXNativeTarget "TextEditor-Mac" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C05733C808A9546B00998B17 /* Release */,
|
||||
FEBCB92A1750249800056F54 /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "TextEditor" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C05733CC08A9546B00998B17 /* Release */,
|
||||
FEBCB9291750249800056F54 /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
FEF2CA1A0B35153A005449C7 /* Build configuration list for PBXNativeTarget "TextEditor-Windows" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
FEF2CA1B0B35153A005449C7 /* Release */,
|
||||
FEBCB92B1750249800056F54 /* Debug */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 2A37F4A9FDCFA73011CA2CEA /* Project object */;
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Mac"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Release">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Mac"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Mac"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Release"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "8D15AC270486D014006FF6A4"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Mac"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Release">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEF2CA0F0B35153A005449C7"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Windows"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Deployment">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEF2CA0F0B35153A005449C7"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Windows"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.GDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.GDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Debug"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEF2CA0F0B35153A005449C7"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Windows"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Deployment"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FEF2CA0F0B35153A005449C7"
|
||||
BuildableName = "TextEditor.app"
|
||||
BlueprintName = "TextEditor-Windows"
|
||||
ReferencedContainer = "container:TextEditor.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Deployment">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Deployment"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,24 +0,0 @@
|
||||
/* Copyright (c) 2006 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
return NSApplicationMain(argc, (const char **) argv);
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
NSAMPMDesignation = (AM, PM);
|
||||
NSDateFormatString = "%A, %B %d, %Y";
|
||||
NSMonthNameArray = ( January, February, March, April, May, June, July, August, September, October, November, December );
|
||||
NSShortMonthNameArray = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
|
||||
NSShortWeekDayNameArray = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
|
||||
NSTimeDateFormatString = "%A, %B %d, %Y %H:%M:%S %Z";
|
||||
NSTimeFormatString = "%H:%M:%S";
|
||||
NSWeekDayNameArray = (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday);
|
||||
|
||||
NSUserDefaultsUserDirectory = "~/Library/NSUserDefaults";
|
||||
}
|
@ -1,158 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#if !defined(__STDC_VERSION__)
|
||||
#define __STDC_VERSION__ 198900L
|
||||
#elif (__STDC_VERSION__ < 199400L)
|
||||
#define __STDC_VERSION__ 199000L
|
||||
#endif
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
#include <float.h>
|
||||
#include <limits.h>
|
||||
#include <locale.h>
|
||||
#include <math.h>
|
||||
#include <setjmp.h>
|
||||
#include <signal.h>
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <time.h>
|
||||
#if (__STDC_VERSION__ >= 199901L)
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
|
||||
#import <CoreFoundation/CoreFoundation.h>
|
||||
#import <CoreServices/CoreServices.h> // This is actually imported by NSURLError.h
|
||||
|
||||
#import <Foundation/FoundationErrors.h>
|
||||
#import <Foundation/NSAffineTransform.h>
|
||||
#import <Foundation/NSArchiver.h>
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSAssertionHandler.h>
|
||||
#import <Foundation/NSAttributedString.h>
|
||||
#import <Foundation/NSAutoreleasePool.h>
|
||||
#import <Foundation/NSBundle.h>
|
||||
#import <Foundation/NSByteOrder.h>
|
||||
#import <Foundation/NSCachedURLResponse.h>
|
||||
#import <Foundation/NSCalendar.h>
|
||||
#import <Foundation/NSCalendarDate.h>
|
||||
#import <Foundation/NSCharacterSet.h>
|
||||
#import <Foundation/NSClassDescription.h>
|
||||
#import <Foundation/NSCoder.h>
|
||||
#import <Foundation/NSCountedSet.h>
|
||||
#import <Foundation/NSData.h>
|
||||
#import <Foundation/NSDate.h>
|
||||
#import <Foundation/NSDateComponents.h>
|
||||
#import <Foundation/NSDateFormatter.h>
|
||||
#import <Foundation/NSDebug.h>
|
||||
#import <Foundation/NSDecimalNumber.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSDirectoryEnumerator.h>
|
||||
#import <Foundation/NSDistributedNotificationCenter.h>
|
||||
#import <Foundation/NSEnumerator.h>
|
||||
#import <Foundation/NSError.h>
|
||||
#import <Foundation/NSException.h>
|
||||
#import <Foundation/NSFileHandle.h>
|
||||
#import <Foundation/NSFileManager.h>
|
||||
#import <Foundation/NSFormatter.h>
|
||||
#import <Foundation/NSGeometry.h>
|
||||
#import <Foundation/NSHTTPCookie.h>
|
||||
#import <Foundation/NSHTTPCookieStorage.h>
|
||||
#import <Foundation/NSHTTPURLResponse.h>
|
||||
#import <Foundation/NSHashTable.h>
|
||||
#import <Foundation/NSHost.h>
|
||||
#import <Foundation/NSIndexPath.h>
|
||||
#import <Foundation/NSIndexSet.h>
|
||||
#import <Foundation/NSInvocation.h>
|
||||
#import <Foundation/NSKeyValueCoding.h>
|
||||
#import <Foundation/NSKeyValueObserving.h>
|
||||
#import <Foundation/NSKeyedArchiver.h>
|
||||
#import <Foundation/NSKeyedUnarchiver.h>
|
||||
#import <Foundation/NSLocale.h>
|
||||
#import <Foundation/NSLock.h>
|
||||
#import <Foundation/NSMapTable.h>
|
||||
#import <Foundation/NSMetadataItem.h>
|
||||
#import <Foundation/NSMetadataQuery.h>
|
||||
#import <Foundation/NSMetadataQueryAttributeValueTuple.h>
|
||||
#import <Foundation/NSMetadataQueryResultGroup.h>
|
||||
#import <Foundation/NSMethodSignature.h>
|
||||
#import <Foundation/NSMutableArray.h>
|
||||
#import <Foundation/NSMutableAttributedString.h>
|
||||
#import <Foundation/NSMutableCharacterSet.h>
|
||||
#import <Foundation/NSMutableData.h>
|
||||
#import <Foundation/NSMutableDictionary.h>
|
||||
#import <Foundation/NSMutableIndexSet.h>
|
||||
#import <Foundation/NSMutableSet.h>
|
||||
#import <Foundation/NSMutableString.h>
|
||||
#import <Foundation/NSMutableURLRequest.h>
|
||||
#import <Foundation/NSNetServices.h>
|
||||
#import <Foundation/NSNotification.h>
|
||||
#import <Foundation/NSNotificationCenter.h>
|
||||
#import <Foundation/NSNotificationQueue.h>
|
||||
#import <Foundation/NSNull.h>
|
||||
#import <Foundation/NSNumber.h>
|
||||
#import <Foundation/NSNumberFormatter.h>
|
||||
#import <Foundation/NSObjCRuntime.h>
|
||||
#import <Foundation/NSObject.h>
|
||||
#import <Foundation/NSOperation.h>
|
||||
#import <Foundation/NSOperationQueue.h>
|
||||
#import <Foundation/NSPathUtilities.h>
|
||||
#import <Foundation/NSPipe.h>
|
||||
#import <Foundation/NSPort.h>
|
||||
#import <Foundation/NSPortCoder.h>
|
||||
#import <Foundation/NSPredicate.h>
|
||||
#import <Foundation/NSProcessInfo.h>
|
||||
#import <Foundation/NSProxy.h>
|
||||
#import <Foundation/NSRange.h>
|
||||
#import <Foundation/NSRunLoop.h>
|
||||
#import <Foundation/NSScanner.h>
|
||||
#import <Foundation/NSSet.h>
|
||||
#import <Foundation/NSSortDescriptor.h>
|
||||
#import <Foundation/NSStream.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSTask.h>
|
||||
#import <Foundation/NSThread.h>
|
||||
#import <Foundation/NSTimeZone.h>
|
||||
#import <Foundation/NSTimer.h>
|
||||
#import <Foundation/NSURL.h>
|
||||
#import <Foundation/NSURLConnection.h>
|
||||
#import <Foundation/NSURLDownload.h>
|
||||
#import <Foundation/NSURLResponse.h>
|
||||
#import <Foundation/NSUnarchiver.h>
|
||||
#import <Foundation/NSUndoManager.h>
|
||||
#import <Foundation/NSUserDefaults.h>
|
||||
#import <Foundation/NSValue.h>
|
||||
#import <Foundation/NSValueTransformer.h>
|
||||
#import <Foundation/NSXMLDTD.h>
|
||||
#import <Foundation/NSXMLDTDNode.h>
|
||||
#import <Foundation/NSXMLDocument.h>
|
||||
#import <Foundation/NSXMLElement.h>
|
||||
#import <Foundation/NSXMLNode.h>
|
||||
#import <Foundation/NSXMLParser.h>
|
||||
#import <Foundation/NSZone.h>
|
||||
|
||||
#import <Foundation/NSScriptWhoseTests.h>
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:Foundation.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0630"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Windows-i386">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Darwin-i386"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Windows-i386">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Windows-i386"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0630"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Windows-i386">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Darwin-x86_64"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Windows-i386">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Windows-i386"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0630"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Windows-i386">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "FreeBSD-i386"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Windows-i386">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Windows-i386"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,68 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0630"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Windows-i386">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A8070C5D9BCB00AEA51A"
|
||||
BuildableName = "AppKit.framework"
|
||||
BlueprintName = "AppKit"
|
||||
ReferencedContainer = "container:../AppKit/AppKit.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Linux-i386"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
debugDocumentVersioning = "YES">
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Windows-i386">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Windows-i386"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0630"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "NO">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
buildConfiguration = "Windows-i386">
|
||||
<Testables>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
allowLocationSimulation = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
buildConfiguration = "Windows-i386"
|
||||
debugDocumentVersioning = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "FE01A5970C5D9B6900AEA51A"
|
||||
BuildableName = "Foundation.framework"
|
||||
BlueprintName = "Foundation"
|
||||
ReferencedContainer = "container:Foundation.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Windows-i386">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Windows-i386"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@ -1,14 +0,0 @@
|
||||
/* Copyright (c) 2009 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
enum {
|
||||
NSFileReadCorruptFileError = 259,
|
||||
NSFileReadNoSuchFileError = 260,
|
||||
|
||||
NSFileWriteUnknownError = 512,
|
||||
};
|
@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Foundation</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.cocotron.Foundation</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>OBJC</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
@ -1,58 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSGeometry.h>
|
||||
|
||||
typedef struct {
|
||||
CGFloat m11;
|
||||
CGFloat m12;
|
||||
CGFloat m21;
|
||||
CGFloat m22;
|
||||
CGFloat tX;
|
||||
CGFloat tY;
|
||||
} NSAffineTransformStruct;
|
||||
|
||||
@interface NSAffineTransform : NSObject <NSCopying, NSCoding> {
|
||||
NSAffineTransformStruct _matrix;
|
||||
}
|
||||
|
||||
- initWithTransform: (NSAffineTransform *) other;
|
||||
|
||||
+ (NSAffineTransform *) transform;
|
||||
|
||||
- (NSAffineTransformStruct) transformStruct;
|
||||
- (void) setTransformStruct: (NSAffineTransformStruct) matrix;
|
||||
|
||||
- (void) invert;
|
||||
|
||||
- (void) appendTransform: (NSAffineTransform *) other;
|
||||
- (void) prependTransform: (NSAffineTransform *) other;
|
||||
|
||||
- (void) translateXBy: (CGFloat) xby yBy: (CGFloat) yby;
|
||||
|
||||
- (NSPoint) transformPoint: (NSPoint) point;
|
||||
- (NSSize) transformSize: (NSSize) value;
|
||||
|
||||
- (void) rotateByDegrees: (CGFloat) angle;
|
||||
- (void) rotateByRadians: (CGFloat) radians;
|
||||
|
||||
- (void) scaleBy: (CGFloat) value;
|
||||
- (void) scaleXBy: (CGFloat) xvalue yBy: (CGFloat) yvalue;
|
||||
|
||||
@end
|
@ -1,200 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
#import <CoreFoundation/CFByteOrder.h>
|
||||
#import <Foundation/NSAffineTransform.h>
|
||||
#import <Foundation/NSKeyedArchiver.h>
|
||||
#import <Foundation/NSKeyedUnarchiver.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#include <math.h>
|
||||
|
||||
@implementation NSAffineTransform
|
||||
|
||||
static NSAffineTransformStruct identity = {1, 0, 0, 1, 0, 0};
|
||||
|
||||
// Instead of doing start * append - this imp is doing append * start - which is
|
||||
// quite different in matrix multiplication
|
||||
static inline NSAffineTransformStruct
|
||||
multiplyStruct(NSAffineTransformStruct start, NSAffineTransformStruct append)
|
||||
{
|
||||
NSAffineTransformStruct result;
|
||||
|
||||
result.m11 = append.m11 * start.m11 + append.m12 * start.m21;
|
||||
result.m12 = append.m11 * start.m12 + append.m12 * start.m22;
|
||||
result.m21 = append.m21 * start.m11 + append.m22 * start.m21;
|
||||
result.m22 = append.m21 * start.m12 + append.m22 * start.m22;
|
||||
result.tX = append.tX * start.m11 + append.tY * start.m21 + start.tX;
|
||||
result.tY = append.tX * start.m12 + append.tY * start.m22 + start.tY;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
static inline NSAffineTransformStruct
|
||||
invertStruct(NSAffineTransformStruct matrix)
|
||||
{
|
||||
NSAffineTransformStruct result;
|
||||
CGFloat determinant;
|
||||
|
||||
determinant = matrix.m11 * matrix.m22 - matrix.m21 * matrix.m12;
|
||||
if (determinant == 0.)
|
||||
[NSException raise: NSGenericException
|
||||
format: @"NSAffineTransform: Transform has no inverse"];
|
||||
|
||||
result.m11 = matrix.m22 / determinant;
|
||||
result.m12 = -matrix.m12 / determinant;
|
||||
result.m21 = -matrix.m21 / determinant;
|
||||
result.m22 = matrix.m11 / determinant;
|
||||
result.tX =
|
||||
(-matrix.m22 * matrix.tX + matrix.m21 * matrix.tY) / determinant;
|
||||
result.tY = (matrix.m12 * matrix.tX - matrix.m11 * matrix.tY) / determinant;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- init {
|
||||
_matrix = identity;
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) encodeWithCoder: (NSCoder *) coder {
|
||||
if ([coder allowsKeyedCoding]) {
|
||||
NSKeyedArchiver *keyed = (NSKeyedArchiver *) coder;
|
||||
CFSwappedFloat32 *words = alloca(sizeof(CFSwappedFloat32) * 6);
|
||||
words[0] = CFConvertFloat32HostToSwapped(_matrix.m11);
|
||||
words[1] = CFConvertFloat32HostToSwapped(_matrix.m12);
|
||||
words[2] = CFConvertFloat32HostToSwapped(_matrix.m21);
|
||||
words[3] = CFConvertFloat32HostToSwapped(_matrix.m22);
|
||||
words[4] = CFConvertFloat32HostToSwapped(_matrix.tX);
|
||||
words[5] = CFConvertFloat32HostToSwapped(_matrix.tY);
|
||||
[keyed encodeBytes: (void *) words
|
||||
length: (sizeof(CFSwappedFloat32) * 6)
|
||||
forKey: @"NSTransformStruct"];
|
||||
}
|
||||
}
|
||||
|
||||
- initWithCoder: (NSCoder *) coder {
|
||||
if ([coder allowsKeyedCoding]) {
|
||||
NSKeyedUnarchiver *keyed = (NSKeyedUnarchiver *) coder;
|
||||
|
||||
NSUInteger length;
|
||||
const uint8_t *bytes = [keyed decodeBytesForKey: @"NSTransformStruct"
|
||||
returnedLength: &length];
|
||||
|
||||
if (length != 24)
|
||||
_matrix = identity;
|
||||
else {
|
||||
CFSwappedFloat32 *words = (CFSwappedFloat32 *) bytes;
|
||||
|
||||
_matrix.m11 = CFConvertFloat32SwappedToHost(words[0]);
|
||||
_matrix.m12 = CFConvertFloat32SwappedToHost(words[1]);
|
||||
_matrix.m21 = CFConvertFloat32SwappedToHost(words[2]);
|
||||
_matrix.m22 = CFConvertFloat32SwappedToHost(words[3]);
|
||||
_matrix.tX = CFConvertFloat32SwappedToHost(words[4]);
|
||||
_matrix.tY = CFConvertFloat32SwappedToHost(words[5]);
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- initWithTransform: (NSAffineTransform *) other {
|
||||
// Cocoa doesn't raise when 'other' is nil
|
||||
_matrix = [other transformStruct];
|
||||
return self;
|
||||
}
|
||||
|
||||
- copyWithZone: (NSZone *) zone {
|
||||
return [[[self class] allocWithZone: zone] initWithTransform: self];
|
||||
}
|
||||
|
||||
+ (NSAffineTransform *) transform {
|
||||
return [[self new] autorelease];
|
||||
}
|
||||
|
||||
- (NSAffineTransformStruct) transformStruct {
|
||||
return _matrix;
|
||||
}
|
||||
|
||||
- (void) setTransformStruct: (NSAffineTransformStruct) matrix {
|
||||
_matrix = matrix;
|
||||
}
|
||||
|
||||
- (void) invert {
|
||||
_matrix = invertStruct(_matrix);
|
||||
}
|
||||
|
||||
- (void) appendTransform: (NSAffineTransform *) other {
|
||||
// Cocoa doesn't raise when 'other' is nil
|
||||
_matrix = multiplyStruct([other transformStruct], _matrix);
|
||||
}
|
||||
|
||||
- (void) prependTransform: (NSAffineTransform *) other {
|
||||
// Cocoa doesn't raise when 'other' is nil
|
||||
_matrix = multiplyStruct(_matrix, [other transformStruct]);
|
||||
}
|
||||
|
||||
- (void) translateXBy: (CGFloat) xby yBy: (CGFloat) yby {
|
||||
NSAffineTransformStruct translate = {1, 0, 0, 1, xby, yby};
|
||||
_matrix = multiplyStruct(_matrix, translate);
|
||||
}
|
||||
|
||||
- (NSPoint) transformPoint: (NSPoint) point {
|
||||
NSPoint result;
|
||||
|
||||
result.x = _matrix.m11 * point.x + _matrix.m21 * point.y + _matrix.tX;
|
||||
result.y = _matrix.m12 * point.x + _matrix.m22 * point.y + _matrix.tY;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSSize) transformSize: (NSSize) value {
|
||||
NSSize result;
|
||||
|
||||
result.width = _matrix.m11 * value.width + _matrix.m21 * value.height;
|
||||
result.height = _matrix.m12 * value.width + _matrix.m22 * value.height;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (void) rotateByDegrees: (CGFloat) angle {
|
||||
[self rotateByRadians: M_PI * angle / 180.0];
|
||||
}
|
||||
|
||||
- (void) rotateByRadians: (CGFloat) radians {
|
||||
NSAffineTransformStruct rotate = {
|
||||
cos(radians), sin(radians), -sin(radians), cos(radians), 0, 0};
|
||||
_matrix = multiplyStruct(_matrix, rotate);
|
||||
}
|
||||
|
||||
- (void) scaleBy: (CGFloat) value {
|
||||
NSAffineTransformStruct scale = {value, 0, 0, value, 0, 0};
|
||||
_matrix = multiplyStruct(_matrix, scale);
|
||||
}
|
||||
|
||||
- (void) scaleXBy: (CGFloat) xvalue yBy: (CGFloat) yvalue {
|
||||
NSAffineTransformStruct scale = {xvalue, 0, 0, yvalue, 0, 0};
|
||||
_matrix = multiplyStruct(_matrix, scale);
|
||||
}
|
||||
|
||||
- (NSString *) description {
|
||||
return [NSString stringWithFormat: @"<%@ 0x%p> {%g, %g, %g, %g, %g, %g}",
|
||||
NSStringFromClass([self class]), self,
|
||||
_matrix.m11, _matrix.m12, _matrix.m21,
|
||||
_matrix.m22, _matrix.tX, _matrix.tY];
|
||||
}
|
||||
|
||||
@end
|
@ -1,61 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSCoder.h>
|
||||
#import <Foundation/NSHashTable.h>
|
||||
|
||||
@class NSMutableData, NSMutableDictionary;
|
||||
|
||||
@interface NSArchiver : NSCoder {
|
||||
NSMutableData *_data;
|
||||
uint8_t *_bytes;
|
||||
NSUInteger _position;
|
||||
|
||||
NSUInteger _pass;
|
||||
NSHashTable *_conditionals;
|
||||
NSHashTable *_objects;
|
||||
NSHashTable *_classes;
|
||||
NSHashTable *_cStrings;
|
||||
}
|
||||
|
||||
- init;
|
||||
|
||||
+ (NSData *) archivedDataWithRootObject: rootObject;
|
||||
+ (BOOL) archiveRootObject: rootObject toFile: (NSString *) path;
|
||||
|
||||
- (NSMutableData *) archiverData;
|
||||
|
||||
- (void) encodeValueOfObjCType: (const char *) type at: (const void *) addr;
|
||||
- (void) encodeDataObject: (NSData *) data;
|
||||
|
||||
- (void) encodeRootObject: rootObject;
|
||||
- (void) encodeConditionalObject: object;
|
||||
|
||||
- (void) encodeClassName: (NSString *) runtime
|
||||
intoClassName: (NSString *) archive;
|
||||
|
||||
- (void) replaceObject: original withObject: replacement;
|
||||
|
||||
@end
|
||||
|
||||
@interface NSObject (NSArchiver)
|
||||
- replacementObjectForArchiver: (NSArchiver *) archiver;
|
||||
@end
|
||||
|
||||
#import <Foundation/NSUnarchiver.h>
|
@ -1,437 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
#import <Foundation/NSArchiver.h>
|
||||
#import <Foundation/NSByteOrder.h>
|
||||
#import <Foundation/NSMutableData.h>
|
||||
#import <Foundation/NSMutableDictionary.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#include <string.h>
|
||||
|
||||
@implementation NSArchiver
|
||||
|
||||
- init {
|
||||
_data = [NSMutableData new];
|
||||
_bytes = [_data mutableBytes];
|
||||
_position = 0;
|
||||
_pass = 0;
|
||||
|
||||
_conditionals = NSCreateHashTable(NSNonOwnedPointerHashCallBacks, 0);
|
||||
_objects = NSCreateHashTable(NSNonOwnedPointerHashCallBacks, 0);
|
||||
_classes = NSCreateHashTable(NSNonOwnedPointerHashCallBacks, 0);
|
||||
_cStrings = NSCreateHashTable(NSObjectHashCallBacks, 0);
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
[_data release];
|
||||
NSFreeHashTable(_conditionals);
|
||||
NSFreeHashTable(_objects);
|
||||
NSFreeHashTable(_classes);
|
||||
NSFreeHashTable(_cStrings);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSData *) data {
|
||||
return [[_data copy] autorelease];
|
||||
}
|
||||
|
||||
+ (NSData *) archivedDataWithRootObject: (id) rootObject {
|
||||
NSArchiver *archiver = [[[self allocWithZone: NULL] init] autorelease];
|
||||
|
||||
[archiver encodeRootObject: rootObject];
|
||||
return [archiver data];
|
||||
}
|
||||
|
||||
+ (BOOL) archiveRootObject: rootObject toFile: (NSString *) path {
|
||||
NSData *data = [self archivedDataWithRootObject: rootObject];
|
||||
|
||||
return [data writeToFile: path atomically: YES];
|
||||
}
|
||||
|
||||
- (NSMutableData *) archiverData {
|
||||
return _data;
|
||||
}
|
||||
|
||||
- (void) cannotEncodeType: (const char *) type {
|
||||
[NSException raise: @"NSArchiverCannotEncodeException"
|
||||
format: @"NSArchiver cannot encode type=%s", type];
|
||||
}
|
||||
|
||||
- (void) _ensureLength: (NSUInteger) length {
|
||||
[_data setLength: [_data length] + length];
|
||||
_bytes = [_data mutableBytes];
|
||||
}
|
||||
|
||||
- (void) _appendData: (NSData *) data {
|
||||
if (_pass == 0)
|
||||
return;
|
||||
|
||||
[_data appendData: data];
|
||||
_bytes = [_data mutableBytes];
|
||||
_position = [_data length];
|
||||
}
|
||||
|
||||
- (void) _appendWordOne: (uint8_t) value {
|
||||
if (_pass == 0)
|
||||
return;
|
||||
|
||||
[self _ensureLength: 1];
|
||||
_bytes[_position++] = value;
|
||||
}
|
||||
|
||||
- (void) _appendWordTwo: (uint16_t) value {
|
||||
if (_pass == 0)
|
||||
return;
|
||||
|
||||
[self _ensureLength: 2];
|
||||
_bytes[_position++] = (value >> 8) & 0xFF;
|
||||
_bytes[_position++] = value & 0xFF;
|
||||
}
|
||||
|
||||
- (void) _appendWordFour: (uint32_t) value {
|
||||
if (_pass == 0)
|
||||
return;
|
||||
|
||||
[self _ensureLength: 4];
|
||||
_bytes[_position++] = (value >> 24) & 0xFF;
|
||||
_bytes[_position++] = (value >> 16) & 0xFF;
|
||||
_bytes[_position++] = (value >> 8) & 0xFF;
|
||||
_bytes[_position++] = value & 0xFF;
|
||||
}
|
||||
|
||||
- (void) _appendFloat: (float) value {
|
||||
[self _appendWordFour: NSConvertHostFloatToSwapped(value).floatWord];
|
||||
}
|
||||
|
||||
- (void) _appendWordEight: (uint64_t) value {
|
||||
if (_pass == 0)
|
||||
return;
|
||||
|
||||
[self _ensureLength: 8];
|
||||
_bytes[_position++] = (value >> 56) & 0xFF;
|
||||
_bytes[_position++] = (value >> 48) & 0xFF;
|
||||
_bytes[_position++] = (value >> 40) & 0xFF;
|
||||
_bytes[_position++] = (value >> 32) & 0xFF;
|
||||
_bytes[_position++] = (value >> 24) & 0xFF;
|
||||
_bytes[_position++] = (value >> 16) & 0xFF;
|
||||
_bytes[_position++] = (value >> 8) & 0xFF;
|
||||
_bytes[_position++] = value & 0xFF;
|
||||
}
|
||||
|
||||
- (void) _appendReference: (void *) value {
|
||||
#ifdef __LP64__
|
||||
[self _appendWordEight: (uint64_t) value];
|
||||
#else
|
||||
[self _appendWordFour: (uint32_t) value];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void) _appendBytes: (const uint8_t *) bytes length: (NSUInteger) length {
|
||||
int i;
|
||||
|
||||
if (_pass == 0)
|
||||
return;
|
||||
|
||||
[self _ensureLength: length];
|
||||
for (i = 0; i < length; i++)
|
||||
_bytes[_position++] = bytes[i];
|
||||
}
|
||||
|
||||
- (void) _appendCStringBytes: (const char *) cString {
|
||||
[self _ensureLength: strlen(cString) + 1];
|
||||
|
||||
for (; *cString != '\0'; cString++)
|
||||
_bytes[_position++] = *cString;
|
||||
|
||||
_bytes[_position++] = '\0';
|
||||
}
|
||||
|
||||
- (void) _appendCString: (const char *) cString {
|
||||
NSString *string, *lookup;
|
||||
|
||||
if (_pass == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// NSLog(@"cString=%s", cString);
|
||||
string = [NSString stringWithCString: cString];
|
||||
// NSLog(@"string=%@", string);
|
||||
|
||||
if ((lookup = NSHashGet(_cStrings, string)) != nil) {
|
||||
[self _appendReference: lookup];
|
||||
} else {
|
||||
NSHashInsert(_cStrings, string);
|
||||
|
||||
[self _appendReference: string];
|
||||
[self _appendCStringBytes: [string cString]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) _appendClassVersion: (Class) class {
|
||||
if (class == [NSObject class]) {
|
||||
[self _appendWordFour: 0];
|
||||
return;
|
||||
}
|
||||
|
||||
[self _appendReference: class];
|
||||
|
||||
if (NSHashGet(_classes, class) == NULL) {
|
||||
NSHashInsert(_classes, class);
|
||||
[self _appendCString: [NSStringFromClass(class) cString]];
|
||||
[self _appendWordFour: [class version]];
|
||||
[self _appendClassVersion: [class superclass]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) _appendObject: (id) object conditional: (BOOL) conditional {
|
||||
if (_pass == 0) {
|
||||
if (object != nil) {
|
||||
// NSLog(@"%@ conditional=%s", NSStringFromClass([object class]),
|
||||
// conditional ? "YES" : "NO");
|
||||
|
||||
if (!conditional) {
|
||||
if (NSHashGet(_conditionals, object) == NULL) {
|
||||
NSHashInsert(_conditionals, object);
|
||||
[object encodeWithCoder: self];
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (conditional && (NSHashGet(_conditionals, object) == NULL)) {
|
||||
object = nil;
|
||||
}
|
||||
|
||||
if (object == nil) {
|
||||
[self _appendWordFour: 0];
|
||||
} else if (NSHashGet(_objects, object) != NULL) {
|
||||
[self _appendReference: object];
|
||||
} else { // FIX do replacementForCoder ?
|
||||
Class class = [object classForArchiver];
|
||||
|
||||
NSHashInsert(_objects, object);
|
||||
|
||||
[self _appendReference: object];
|
||||
[self _appendClassVersion: class];
|
||||
|
||||
[object encodeWithCoder: self];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) _appendArrayOfObjCType: (const char *) type
|
||||
length: (NSUInteger) length
|
||||
at: (const void *) addr
|
||||
{
|
||||
|
||||
if (_pass == 0)
|
||||
return;
|
||||
|
||||
switch (*type) {
|
||||
case 'c':
|
||||
case 'C': {
|
||||
const unsigned char *values = addr;
|
||||
NSInteger i;
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
[self _appendWordOne: values[i]];
|
||||
} break;
|
||||
|
||||
case 's':
|
||||
case 'S': {
|
||||
const unsigned short *values = addr;
|
||||
NSInteger i;
|
||||
|
||||
for (i = 0; i < length; i++)
|
||||
[self _appendWordTwo: values[i]];
|
||||
} break;
|
||||
|
||||
default:
|
||||
[self cannotEncodeType: type];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
- (void) encodeValueOfObjCType: (const char *) type at: (const void *) addr {
|
||||
// NSLog(@"type=%s",type);
|
||||
|
||||
[self _appendCString: type];
|
||||
|
||||
switch (*type) {
|
||||
case 'c':
|
||||
case 'C': {
|
||||
unsigned char value = *(const unsigned char *) addr;
|
||||
[self _appendWordOne: value];
|
||||
} break;
|
||||
|
||||
case 's':
|
||||
case 'S': {
|
||||
unsigned short value = *(const unsigned short *) addr;
|
||||
[self _appendWordTwo: value];
|
||||
} break;
|
||||
|
||||
case 'i':
|
||||
case 'I': {
|
||||
unsigned int value = *(const unsigned int *) addr;
|
||||
[self _appendWordFour: value];
|
||||
} break;
|
||||
|
||||
case 'l':
|
||||
case 'L': {
|
||||
unsigned long value = *(const unsigned long *) addr;
|
||||
[self _appendWordFour: value];
|
||||
} break;
|
||||
|
||||
case 'q':
|
||||
case 'Q': {
|
||||
unsigned long long value = *(const unsigned long long *) addr;
|
||||
[self _appendWordEight: value];
|
||||
} break;
|
||||
|
||||
case 'f': {
|
||||
float value = *(const float *) addr;
|
||||
[self _appendFloat: value];
|
||||
} break;
|
||||
|
||||
case 'd': {
|
||||
double value = *(const double *) addr;
|
||||
[self _appendWordEight: NSConvertHostDoubleToSwapped(value).doubleWord];
|
||||
} break;
|
||||
|
||||
case '*': {
|
||||
const char *const *cString = addr;
|
||||
|
||||
[self _appendCString: *cString];
|
||||
} break;
|
||||
|
||||
case '@': {
|
||||
id object = *(const id *) addr;
|
||||
|
||||
[self _appendObject: object conditional: NO];
|
||||
} break;
|
||||
|
||||
case '#':
|
||||
[self cannotEncodeType: type];
|
||||
break;
|
||||
|
||||
case ':': {
|
||||
SEL selector = *(const SEL *) addr;
|
||||
|
||||
[self _appendCString: sel_getName(selector)];
|
||||
} break;
|
||||
|
||||
case '[': {
|
||||
const char *tmp = type;
|
||||
unsigned length = 0;
|
||||
|
||||
tmp++; // skip [
|
||||
for (; *tmp >= '0' && *tmp <= '9'; tmp++)
|
||||
length = (length * 10) + (*tmp - '0');
|
||||
|
||||
[self _appendArrayOfObjCType: tmp length: length at: addr];
|
||||
} break;
|
||||
|
||||
case '{': // this is extremely lame
|
||||
if (strcmp(type, @encode(NSRange)) == 0) {
|
||||
NSRange value = *(const NSRange *) addr;
|
||||
|
||||
[self _appendWordFour: value.location];
|
||||
[self _appendWordFour: value.length];
|
||||
break;
|
||||
}
|
||||
if (strcmp(type, @encode(NSPoint)) == 0) {
|
||||
NSPoint value = *(const NSPoint *) addr;
|
||||
|
||||
[self _appendFloat: value.x];
|
||||
[self _appendFloat: value.y];
|
||||
break;
|
||||
}
|
||||
if (strcmp(type, @encode(NSSize)) == 0) {
|
||||
NSSize value = *(const NSSize *) addr;
|
||||
|
||||
[self _appendFloat: value.width];
|
||||
[self _appendFloat: value.height];
|
||||
break;
|
||||
}
|
||||
if (strcmp(type, @encode(NSRect)) == 0) {
|
||||
NSRect value = *(const NSRect *) addr;
|
||||
|
||||
[self _appendFloat: value.origin.x];
|
||||
[self _appendFloat: value.origin.y];
|
||||
[self _appendFloat: value.size.width];
|
||||
[self _appendFloat: value.size.height];
|
||||
break;
|
||||
}
|
||||
[self cannotEncodeType: type];
|
||||
break;
|
||||
|
||||
case '(':
|
||||
case 'b':
|
||||
case '^':
|
||||
case '?':
|
||||
default:
|
||||
[self cannotEncodeType: type];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
- (void) encodeBytes: (const void *) byteaddr length: (NSUInteger) length {
|
||||
[self _appendWordFour: length];
|
||||
[self _appendBytes: byteaddr length: length];
|
||||
}
|
||||
|
||||
- (void) encodeDataObject: (NSData *) data {
|
||||
[self cannotEncodeType: "encodeDataObject"];
|
||||
}
|
||||
|
||||
- (void) encodeRootObject: (id) rootObject {
|
||||
_position = 0;
|
||||
_pass = 0;
|
||||
[self _appendObject: rootObject conditional: NO];
|
||||
if (_position != 0)
|
||||
NSLog(@"_position=%d", _position);
|
||||
|
||||
if (NSHashGet(_conditionals, rootObject) == NULL)
|
||||
NSLog(@"rootObject not in conditionals");
|
||||
|
||||
_position = 0;
|
||||
_pass = 1;
|
||||
[self _appendCStringBytes: "~V1~"];
|
||||
[self _appendWordFour: 0]; // archive version
|
||||
|
||||
[self _appendCString: "@"];
|
||||
[self _appendObject: rootObject conditional: NO];
|
||||
}
|
||||
|
||||
- (void) encodeConditionalObject: (id) object {
|
||||
[self _appendCString: "@"];
|
||||
[self _appendObject: object conditional: YES];
|
||||
}
|
||||
|
||||
- (void) encodeClassName: (NSString *) runtime
|
||||
intoClassName: (NSString *) archive
|
||||
{
|
||||
NSUnimplementedMethod();
|
||||
}
|
||||
|
||||
- (void) replaceObject: original withObject: replacement {
|
||||
NSUnimplementedMethod();
|
||||
}
|
||||
|
||||
@end
|
@ -1,95 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSEnumerator.h>
|
||||
#import <Foundation/NSObject.h>
|
||||
#import <Foundation/NSRange.h>
|
||||
|
||||
@class NSString, NSDictionary, NSPredicate, NSIndexSet, NSURL;
|
||||
|
||||
@interface NSArray
|
||||
: NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>
|
||||
|
||||
- initWithArray: (NSArray *) array;
|
||||
- initWithArray: (NSArray *) array copyItems: (BOOL) copyItems;
|
||||
- initWithContentsOfFile: (NSString *) path;
|
||||
- initWithContentsOfURL: (NSURL *) url;
|
||||
- initWithObjects: (id *) objects count: (NSUInteger) count;
|
||||
- initWithObjects: object, ...;
|
||||
|
||||
+ array;
|
||||
+ arrayWithContentsOfFile: (NSString *) path;
|
||||
+ arrayWithContentsOfURL: (NSURL *) url;
|
||||
+ arrayWithObject: object;
|
||||
+ arrayWithObjects: object, ...;
|
||||
|
||||
+ arrayWithArray: (NSArray *) array;
|
||||
+ arrayWithObjects: (id *) objects count: (NSUInteger) count;
|
||||
|
||||
- (NSUInteger) count;
|
||||
- objectAtIndex: (NSUInteger) index;
|
||||
|
||||
- (void) getObjects: (id *) objects;
|
||||
- (void) getObjects: (id *) objects range: (NSRange) range;
|
||||
|
||||
- (NSArray *) objectsAtIndexes: (NSIndexSet *) indexes;
|
||||
|
||||
- (NSArray *) subarrayWithRange: (NSRange) range;
|
||||
|
||||
- (BOOL) isEqualToArray: (NSArray *) array;
|
||||
|
||||
- (NSUInteger) indexOfObject: object;
|
||||
- (NSUInteger) indexOfObject: object inRange: (NSRange) range;
|
||||
|
||||
- (NSUInteger) indexOfObjectIdenticalTo: object;
|
||||
- (NSUInteger) indexOfObjectIdenticalTo: object inRange: (NSRange) range;
|
||||
|
||||
- (NSEnumerator *) objectEnumerator;
|
||||
- (NSEnumerator *) reverseObjectEnumerator;
|
||||
|
||||
- (NSArray *) arrayByAddingObject: object;
|
||||
- (NSArray *) arrayByAddingObjectsFromArray: (NSArray *) array;
|
||||
- (NSString *) componentsJoinedByString: (NSString *) string;
|
||||
|
||||
- (BOOL) containsObject: object;
|
||||
|
||||
- firstObjectCommonWithArray: (NSArray *) array;
|
||||
|
||||
- firstObject;
|
||||
- lastObject;
|
||||
|
||||
- (NSArray *) sortedArrayUsingSelector: (SEL) selector;
|
||||
- (NSArray *) sortedArrayUsingFunction: (NSInteger (*)(id, id, void *)) function
|
||||
context: (void *) context;
|
||||
|
||||
- (BOOL) writeToFile: (NSString *) path atomically: (BOOL) atomically;
|
||||
- (BOOL) writeToURL: (NSURL *) aURL atomically: (BOOL) atomically;
|
||||
|
||||
- (void) makeObjectsPerformSelector: (SEL) selector;
|
||||
- (void) makeObjectsPerformSelector: (SEL) selector withObject: object;
|
||||
|
||||
- (NSString *) descriptionWithLocale: (NSDictionary *) locale;
|
||||
- (NSString *) descriptionWithLocale: (NSDictionary *) locale
|
||||
indent: (NSUInteger) indent;
|
||||
|
||||
- (NSArray *) sortedArrayUsingDescriptors: (NSArray *) descriptors;
|
||||
- (NSArray *) filteredArrayUsingPredicate: (NSPredicate *) predicate;
|
||||
@end
|
||||
|
||||
#import <Foundation/NSMutableArray.h>
|
@ -1,563 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd <cjwl@objc.net>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSArray_concrete.h>
|
||||
#import <Foundation/NSArray_placeholder.h>
|
||||
#import <Foundation/NSAutoreleasePool-private.h>
|
||||
#import <Foundation/NSCoder.h>
|
||||
#import <Foundation/NSData.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSEnumerator_array.h>
|
||||
#import <Foundation/NSEnumerator_arrayReverse.h>
|
||||
#import <Foundation/NSIndexSet.h>
|
||||
#import <Foundation/NSKeyedArchiver.h>
|
||||
#import <Foundation/NSKeyedUnarchiver.h>
|
||||
#import <Foundation/NSPredicate.h>
|
||||
#import <Foundation/NSPropertyListReader.h>
|
||||
#import <Foundation/NSPropertyListWriter_vintage.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSURL.h>
|
||||
|
||||
@interface NSKeyedArchiver (PrivateToContainers)
|
||||
- (void) encodeArray: (NSArray *) array forKey: (NSString *) key;
|
||||
@end
|
||||
|
||||
@implementation NSArray
|
||||
|
||||
+ allocWithZone: (NSZone *) zone {
|
||||
if (self == objc_lookUpClass("NSArray"))
|
||||
return NSAllocateObject([NSArray_placeholder class], 0, NULL);
|
||||
|
||||
return NSAllocateObject(self, 0, zone);
|
||||
}
|
||||
|
||||
- initWithArray: (NSArray *) array {
|
||||
NSUInteger count = [array count];
|
||||
id *objects = __builtin_alloca(sizeof(id) * count);
|
||||
|
||||
[array getObjects: objects];
|
||||
|
||||
return [self initWithObjects: objects count: count];
|
||||
}
|
||||
|
||||
- initWithArray: (NSArray *) array copyItems: (BOOL) copyItems {
|
||||
if (copyItems == NO) {
|
||||
return [self initWithArray: array];
|
||||
}
|
||||
|
||||
const NSUInteger count = [array count];
|
||||
id *oldObjects = __builtin_alloca(sizeof(id) * count);
|
||||
id *newObjects = __builtin_alloca(sizeof(id) * count);
|
||||
|
||||
[array getObjects: oldObjects];
|
||||
|
||||
NSUInteger i;
|
||||
for (i = 0; i < count; i++) {
|
||||
newObjects[i] = [oldObjects[i] copyWithZone: NULL];
|
||||
}
|
||||
|
||||
self = [self initWithObjects: newObjects count: count];
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
[newObjects[i] release];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- initWithContentsOfFile: (NSString *) path {
|
||||
id contents = [NSPropertyListReader arrayWithContentsOfFile: path];
|
||||
|
||||
if (contents == nil) {
|
||||
[self dealloc];
|
||||
return nil;
|
||||
}
|
||||
|
||||
return [self initWithArray: contents];
|
||||
}
|
||||
|
||||
- initWithContentsOfURL: (NSURL *) url {
|
||||
if (![url isFileURL]) {
|
||||
[self dealloc];
|
||||
return nil;
|
||||
}
|
||||
return [self initWithContentsOfFile: [url path]];
|
||||
}
|
||||
|
||||
- initWithObjects: (id *) objects count: (NSUInteger) count {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- initWithObjects: object, ... {
|
||||
va_list arguments;
|
||||
NSUInteger i, count;
|
||||
id *objects;
|
||||
|
||||
va_start(arguments, object);
|
||||
count = 1;
|
||||
while (va_arg(arguments, id) != nil)
|
||||
count++;
|
||||
va_end(arguments);
|
||||
|
||||
objects = __builtin_alloca(sizeof(id) * count);
|
||||
|
||||
va_start(arguments, object);
|
||||
objects[0] = object;
|
||||
for (i = 1; i < count; i++)
|
||||
objects[i] = va_arg(arguments, id);
|
||||
va_end(arguments);
|
||||
|
||||
return [self initWithObjects: objects count: count];
|
||||
}
|
||||
|
||||
- copyWithZone: (NSZone *) zone {
|
||||
return [self retain];
|
||||
}
|
||||
|
||||
- mutableCopyWithZone: (NSZone *) zone {
|
||||
return [[NSMutableArray allocWithZone: zone] initWithArray: self];
|
||||
}
|
||||
|
||||
- (Class) classForCoder {
|
||||
return objc_lookUpClass("NSArray");
|
||||
}
|
||||
|
||||
- initWithCoder: (NSCoder *) coder {
|
||||
if ([coder allowsKeyedCoding]) {
|
||||
NSKeyedUnarchiver *keyed = (NSKeyedUnarchiver *) coder;
|
||||
NSArray *array = [keyed decodeObjectForKey: @"NS.objects"];
|
||||
|
||||
return [self initWithArray: array];
|
||||
} else {
|
||||
unsigned i, count;
|
||||
id *objects;
|
||||
|
||||
[coder decodeValueOfObjCType: @encode(int) at: &count];
|
||||
|
||||
objects = __builtin_alloca(count * sizeof(id));
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
objects[i] = [coder decodeObject];
|
||||
|
||||
return [self initWithObjects: objects count: count];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) encodeWithCoder: (NSCoder *) coder {
|
||||
if ([coder isKindOfClass: [NSKeyedArchiver class]]) {
|
||||
NSKeyedArchiver *keyed = (NSKeyedArchiver *) coder;
|
||||
|
||||
[keyed encodeArray: self forKey: @"NS.objects"];
|
||||
} else {
|
||||
int i, count = [self count];
|
||||
|
||||
[coder encodeValueOfObjCType: @encode(int) at: &count];
|
||||
for (i = 0; i < count; i++)
|
||||
[coder encodeObject: [self objectAtIndex: i]];
|
||||
}
|
||||
}
|
||||
|
||||
+ array {
|
||||
return [[[self allocWithZone: NULL] init] autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithContentsOfFile: (NSString *) path {
|
||||
return [[[self allocWithZone: NULL] initWithContentsOfFile: path]
|
||||
autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithContentsOfURL: (NSURL *) url {
|
||||
return [[[self allocWithZone: NULL] initWithContentsOfURL: url]
|
||||
autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithObject: object {
|
||||
return [[[self allocWithZone: NULL] initWithObjects: &object
|
||||
count: 1] autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithObjects: object, ... {
|
||||
NSUInteger i, count = 0;
|
||||
id *objects = NULL;
|
||||
|
||||
if (object != nil) {
|
||||
va_list arguments;
|
||||
|
||||
va_start(arguments, object);
|
||||
count = 1; // include object
|
||||
while (va_arg(arguments, id) != nil)
|
||||
count++;
|
||||
va_end(arguments);
|
||||
|
||||
objects = __builtin_alloca(sizeof(id) * count);
|
||||
|
||||
va_start(arguments, object);
|
||||
objects[0] = object;
|
||||
for (i = 1; i < count; i++)
|
||||
objects[i] = va_arg(arguments, id);
|
||||
va_end(arguments);
|
||||
}
|
||||
|
||||
return [[[self allocWithZone: NULL] initWithObjects: objects
|
||||
count: count] autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithArray: (NSArray *) array {
|
||||
return [[[self allocWithZone: NULL] initWithArray: array] autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithObjects: (id *) objects count: (NSUInteger) count {
|
||||
return [[[self allocWithZone: NULL] initWithObjects: objects
|
||||
count: count] autorelease];
|
||||
}
|
||||
|
||||
- (NSUInteger) count {
|
||||
NSInvalidAbstractInvocation();
|
||||
return 0;
|
||||
}
|
||||
|
||||
- objectAtIndex: (NSUInteger) index {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void) getObjects: (id *) objects {
|
||||
NSUInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
objects[i] = [self objectAtIndex: i];
|
||||
}
|
||||
|
||||
- (void) getObjects: (id *) objects range: (NSRange) range {
|
||||
NSUInteger i, count = [self count], loc = range.location;
|
||||
|
||||
if (NSMaxRange(range) > count)
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"range %@ beyond count %d", NSStringFromRange(range),
|
||||
[self count]);
|
||||
|
||||
for (i = 0; i < range.length; i++)
|
||||
objects[i] = [self objectAtIndex: loc + i];
|
||||
}
|
||||
|
||||
- (NSArray *) subarrayWithRange: (NSRange) range {
|
||||
if (NSMaxRange(range) > [self count])
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"range %@ beyond count %d", NSStringFromRange(range),
|
||||
[self count]);
|
||||
|
||||
return NSAutorelease(NSArray_concreteWithArrayRange(self, range));
|
||||
}
|
||||
|
||||
- (NSUInteger) hash {
|
||||
return [self count];
|
||||
}
|
||||
|
||||
- (BOOL) isEqual: array {
|
||||
if (self == array)
|
||||
return YES;
|
||||
|
||||
if (![array isKindOfClass: objc_lookUpClass("NSArray")])
|
||||
return NO;
|
||||
|
||||
return [self isEqualToArray: array];
|
||||
}
|
||||
|
||||
- (BOOL) isEqualToArray: (NSArray *) array {
|
||||
NSInteger i, count;
|
||||
|
||||
if (self == array)
|
||||
return YES;
|
||||
|
||||
count = [self count];
|
||||
if (count != [array count])
|
||||
return NO;
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
if (![[self objectAtIndex: i] isEqual: [array objectAtIndex: i]])
|
||||
return NO;
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (NSUInteger) indexOfObject: object {
|
||||
NSInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
if ([[self objectAtIndex: i] isEqual: object])
|
||||
return i;
|
||||
|
||||
return NSNotFound;
|
||||
}
|
||||
|
||||
- (NSUInteger) indexOfObject: object inRange: (NSRange) range {
|
||||
NSInteger i, count = [self count], loc = range.location;
|
||||
|
||||
if (NSMaxRange(range) > count)
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"range %@ beyond count %d", NSStringFromRange(range),
|
||||
[self count]);
|
||||
|
||||
for (i = 0; i < range.length; i++)
|
||||
if ([[self objectAtIndex: loc + i] isEqual: object])
|
||||
return loc + i;
|
||||
|
||||
return NSNotFound;
|
||||
}
|
||||
|
||||
- (NSUInteger) indexOfObjectIdenticalTo: object {
|
||||
NSInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
if ([self objectAtIndex: i] == object)
|
||||
return i;
|
||||
|
||||
return NSNotFound;
|
||||
}
|
||||
|
||||
- (NSUInteger) indexOfObjectIdenticalTo: object inRange: (NSRange) range {
|
||||
NSInteger i, count = [self count], loc = range.location;
|
||||
|
||||
if (NSMaxRange(range) > count)
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"range %@ beyond count %d", NSStringFromRange(range),
|
||||
[self count]);
|
||||
|
||||
for (i = 0; i < range.length; i++)
|
||||
if ([self objectAtIndex: loc + i] == object)
|
||||
return loc + i;
|
||||
|
||||
return NSNotFound;
|
||||
}
|
||||
|
||||
- (NSEnumerator *) objectEnumerator {
|
||||
return NSAutorelease(NSEnumerator_arrayNew(self));
|
||||
}
|
||||
|
||||
- (NSEnumerator *) reverseObjectEnumerator {
|
||||
return NSAutorelease(NSEnumerator_arrayReverseNew(self));
|
||||
}
|
||||
|
||||
- (NSArray *) arrayByAddingObject: object {
|
||||
return NSAutorelease(NSArray_concreteWithArrayAndObject(self, object));
|
||||
}
|
||||
|
||||
- (NSArray *) arrayByAddingObjectsFromArray: (NSArray *) array {
|
||||
return NSAutorelease(NSArray_concreteWithArrayAndArray(self, array));
|
||||
}
|
||||
|
||||
- (NSString *) componentsJoinedByString: (NSString *) separator {
|
||||
NSMutableString *string = [NSMutableString stringWithCapacity: 256];
|
||||
NSInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
[string appendString: [[self objectAtIndex: i] description]];
|
||||
if (i + 1 < count)
|
||||
[string appendString: separator];
|
||||
}
|
||||
return string;
|
||||
}
|
||||
|
||||
- (BOOL) containsObject: object {
|
||||
return ([self indexOfObject: object] != NSNotFound) ? YES : NO;
|
||||
}
|
||||
|
||||
- firstObjectCommonWithArray: (NSArray *) array {
|
||||
if ([array count]) {
|
||||
NSInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
id object = [self objectAtIndex: i];
|
||||
|
||||
if ([array indexOfObject: object] != NSNotFound)
|
||||
return object;
|
||||
}
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- lastObject {
|
||||
NSInteger count = [self count];
|
||||
|
||||
if (count == 0)
|
||||
return nil;
|
||||
|
||||
return [self objectAtIndex: count - 1];
|
||||
}
|
||||
|
||||
- firstObject {
|
||||
NSInteger count = [self count];
|
||||
|
||||
if (count == 0)
|
||||
return nil;
|
||||
|
||||
return [self objectAtIndex: 0];
|
||||
}
|
||||
|
||||
- (NSArray *) sortedArrayUsingSelector: (SEL) selector {
|
||||
NSMutableArray *array = [NSMutableArray arrayWithArray: self];
|
||||
|
||||
[array sortUsingSelector: selector];
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
- (NSArray *) sortedArrayUsingFunction: (NSInteger (*)(id, id, void *)) function
|
||||
context: (void *) context
|
||||
{
|
||||
NSMutableArray *array = [NSMutableArray arrayWithArray: self];
|
||||
|
||||
[array sortUsingFunction: function context: context];
|
||||
|
||||
return array;
|
||||
}
|
||||
|
||||
- (BOOL) writeToFile: (NSString *) path atomically: (BOOL) atomically {
|
||||
return [NSPropertyListWriter_vintage writePropertyList: self
|
||||
toFile: path
|
||||
atomically: atomically];
|
||||
}
|
||||
|
||||
- (BOOL) writeToURL: (NSURL *) aURL atomically: (BOOL) atomically {
|
||||
if ([aURL isFileURL]) {
|
||||
return [self writeToFile: [aURL path] atomically: atomically];
|
||||
} else {
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
|
||||
- (void) makeObjectsPerformSelector: (SEL) selector {
|
||||
NSInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
[[self objectAtIndex: i] performSelector: selector];
|
||||
}
|
||||
|
||||
- (void) makeObjectsPerformSelector: (SEL) selector withObject: object {
|
||||
NSInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
[[self objectAtIndex: i] performSelector: selector withObject: object];
|
||||
}
|
||||
|
||||
- (NSString *) description {
|
||||
return [NSPropertyListWriter_vintage stringWithPropertyList: self];
|
||||
}
|
||||
|
||||
- (NSString *) descriptionWithLocale: (NSDictionary *) locale {
|
||||
NSUnimplementedMethod();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSString *) descriptionWithLocale: (NSDictionary *) locale
|
||||
indent: (NSUInteger) indent
|
||||
{
|
||||
NSUnimplementedMethod();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSArray *) filteredArrayUsingPredicate: (NSPredicate *) predicate {
|
||||
NSInteger i, count = [self count];
|
||||
NSMutableArray *result = [NSMutableArray arrayWithCapacity: count];
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
id check = [self objectAtIndex: i];
|
||||
|
||||
if ([predicate evaluateWithObject: check])
|
||||
[result addObject: check];
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSArray *) sortedArrayUsingDescriptors: (NSArray *) descriptors {
|
||||
NSMutableArray *result = [NSMutableArray arrayWithArray: self];
|
||||
|
||||
[result sortUsingDescriptors: descriptors];
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#if 0
|
||||
// untested
|
||||
-(NSArray *)objectsAtIndexes:(NSIndexSet *)indexes {
|
||||
NSUInteger i,count=[indexes count];
|
||||
NSUInteger buffer[count];
|
||||
id objects[count];
|
||||
|
||||
count=[indexes getIndexes:buffer maxCount:count inIndexRange:NULL];
|
||||
// getObjects:range: would make more sense
|
||||
for(i=0;i<count;i++)
|
||||
objects[i]=[self objectAtIndex:buffer[i]];
|
||||
|
||||
return [NSArray arrayWithObjects:objects count:count];
|
||||
}
|
||||
#endif
|
||||
|
||||
- (NSArray *) objectsAtIndexes: (NSIndexSet *) indexes {
|
||||
NSUInteger idx = [indexes firstIndex];
|
||||
id ret = [NSMutableArray array];
|
||||
while (idx != NSNotFound) {
|
||||
[ret addObject: [self objectAtIndex: idx]];
|
||||
idx = [indexes indexGreaterThanIndex: idx];
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
- (NSUInteger) countByEnumeratingWithState: (NSFastEnumerationState *) state
|
||||
objects: (id *) stackbuf
|
||||
count: (NSUInteger) length;
|
||||
{
|
||||
NSInteger numObjects = MIN([self count] - state->extra[0], length);
|
||||
NSInteger i = state->extra[0];
|
||||
NSInteger j = 0;
|
||||
state->itemsPtr = stackbuf;
|
||||
|
||||
for (j = 0; j < numObjects; j++, i++) {
|
||||
state->itemsPtr[j] = [self objectAtIndex: i];
|
||||
}
|
||||
|
||||
state->extra[0] += numObjects;
|
||||
|
||||
state->mutationsPtr = (unsigned long *) self;
|
||||
|
||||
return numObjects;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
void objc_enumerationMutation(id collection) {
|
||||
[NSException raise: NSInternalInconsistencyException
|
||||
format: @"Collection %p of class %@ was mutated during "
|
||||
@"enumeration. "
|
||||
@"Break on objc_enumerationMutation to debug.",
|
||||
collection, [collection className]];
|
||||
}
|
||||
|
||||
#import <Foundation/NSCFTypeID.h>
|
||||
|
||||
@implementation NSArray (CFTypeID)
|
||||
|
||||
- (unsigned) _cfTypeID {
|
||||
return kNSCFTypeArray;
|
||||
}
|
||||
|
||||
@end
|
@ -1,33 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSArray.h>
|
||||
|
||||
@interface NSArray_concrete : NSArray {
|
||||
NSUInteger _count;
|
||||
id _objects[0];
|
||||
}
|
||||
@end
|
||||
|
||||
NSArray *NSArray_concreteNew(NSZone *zone, id *objects, NSUInteger count);
|
||||
NSArray *NSArray_concreteNewWithCount(NSZone *zone, id **objects,
|
||||
NSUInteger count);
|
||||
NSArray *NSArray_concreteWithArrayAndObject(NSArray *array, id object);
|
||||
NSArray *NSArray_concreteWithArrayAndArray(NSArray *array1, NSArray *array2);
|
||||
NSArray *NSArray_concreteWithArrayRange(NSArray *array1, NSRange range);
|
@ -1,141 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
#import "NSArray_concrete.h"
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
|
||||
@implementation NSArray_concrete
|
||||
|
||||
static inline NSArray_concrete *newWithCount(NSZone *zone, NSUInteger count) {
|
||||
return NSAllocateObject([NSArray_concrete class], sizeof(id) * count, zone);
|
||||
}
|
||||
|
||||
NSArray *NSArray_concreteNewWithCount(NSZone *zone, id **objects,
|
||||
NSUInteger count)
|
||||
{
|
||||
NSArray_concrete *self = newWithCount(zone, count);
|
||||
|
||||
self->_count = count;
|
||||
*objects = self->_objects;
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
NSArray *NSArray_concreteNew(NSZone *zone, id *objects, NSUInteger count) {
|
||||
NSArray_concrete *self = newWithCount(zone, count);
|
||||
NSUInteger i;
|
||||
|
||||
self->_count = count;
|
||||
for (i = 0; i < count; i++)
|
||||
self->_objects[i] = [objects[i] retain];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
NSArray *NSArray_concreteWithArrayAndObject(NSArray *array, id object) {
|
||||
NSUInteger i, count = [array count];
|
||||
NSArray_concrete *self = newWithCount(NULL, count + 1);
|
||||
|
||||
self->_count = count + 1;
|
||||
|
||||
[array getObjects: self->_objects];
|
||||
for (i = 0; i < count; i++)
|
||||
[self->_objects[i] retain];
|
||||
|
||||
self->_objects[count] = [object retain];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
NSArray *NSArray_concreteWithArrayAndArray(NSArray *array1, NSArray *array2) {
|
||||
NSUInteger i, count1 = [array1 count], total = count1 + [array2 count];
|
||||
NSArray_concrete *self = newWithCount(NULL, total);
|
||||
|
||||
self->_count = total;
|
||||
|
||||
[array1 getObjects: self->_objects];
|
||||
[array2 getObjects: self->_objects + count1];
|
||||
for (i = 0; i < total; i++)
|
||||
[self->_objects[i] retain];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
NSArray *NSArray_concreteWithArrayRange(NSArray *array, NSRange range) {
|
||||
NSArray_concrete *self = newWithCount(NULL, range.length);
|
||||
NSUInteger i;
|
||||
|
||||
self->_count = range.length;
|
||||
|
||||
[array getObjects: self->_objects range: range];
|
||||
|
||||
for (i = 0; i < range.length; i++)
|
||||
[self->_objects[i] retain];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
NSInteger count = _count;
|
||||
|
||||
while (--count >= 0)
|
||||
[_objects[count] release];
|
||||
|
||||
NSDeallocateObject(self);
|
||||
return;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSUInteger) count {
|
||||
return _count;
|
||||
}
|
||||
|
||||
- objectAtIndex: (NSUInteger) index {
|
||||
if (index >= _count) {
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond count %d", index, _count);
|
||||
return nil;
|
||||
}
|
||||
|
||||
return _objects[index];
|
||||
}
|
||||
|
||||
- lastObject {
|
||||
if (_count == 0)
|
||||
return nil;
|
||||
|
||||
return _objects[_count - 1];
|
||||
}
|
||||
|
||||
- (NSUInteger) countByEnumeratingWithState: (NSFastEnumerationState *) state
|
||||
objects: (id *) stackbuf
|
||||
count: (NSUInteger) length;
|
||||
{
|
||||
if (state->state >= _count)
|
||||
return 0;
|
||||
|
||||
state->itemsPtr = _objects;
|
||||
state->state = _count;
|
||||
|
||||
state->mutationsPtr = (unsigned long *) self;
|
||||
|
||||
return _count;
|
||||
}
|
||||
|
||||
@end
|
@ -1,24 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSArray.h>
|
||||
|
||||
@interface NSArray_placeholder : NSArray
|
||||
|
||||
@end
|
@ -1,35 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import "NSArray_placeholder.h"
|
||||
#import "NSArray_concrete.h"
|
||||
#import <Foundation/NSRaise.h>
|
||||
|
||||
@implementation NSArray_placeholder
|
||||
|
||||
- initWithObjects: (id *) objects count: (NSUInteger) count {
|
||||
NSDeallocateObject(self);
|
||||
return (NSArray_placeholder *) NSArray_concreteNew(NULL, objects, count);
|
||||
}
|
||||
|
||||
- init {
|
||||
return [self initWithObjects: NULL count: 0];
|
||||
}
|
||||
|
||||
@end
|
@ -1,31 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSEnumerator.h>
|
||||
|
||||
@class NSArray;
|
||||
|
||||
@interface NSEnumerator_array : NSEnumerator {
|
||||
NSUInteger _index;
|
||||
NSArray *_array;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NSEnumerator *NSEnumerator_arrayNew(NSArray *array);
|
@ -1,50 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
// Original - Christopher Lloyd <cjwl@objc.net>
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSEnumerator_array.h>
|
||||
|
||||
@implementation NSEnumerator_array
|
||||
|
||||
NSEnumerator *NSEnumerator_arrayNew(NSArray *array) {
|
||||
NSEnumerator_array *self =
|
||||
NSAllocateObject([NSEnumerator_array class], 0, NULL);
|
||||
if (self) {
|
||||
self->_index = 0;
|
||||
self->_array = [array retain];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
[_array release];
|
||||
NSDeallocateObject(self);
|
||||
return;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- nextObject {
|
||||
if (_index >= [_array count])
|
||||
return nil;
|
||||
|
||||
return [_array objectAtIndex: _index++];
|
||||
}
|
||||
|
||||
@end
|
@ -1,31 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSEnumerator.h>
|
||||
|
||||
@class NSArray;
|
||||
|
||||
@interface NSEnumerator_arrayReverse : NSEnumerator {
|
||||
NSInteger _index;
|
||||
NSArray *_array;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NSEnumerator *NSEnumerator_arrayReverseNew(NSArray *array);
|
@ -1,51 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSEnumerator_arrayReverse.h>
|
||||
|
||||
@implementation NSEnumerator_arrayReverse
|
||||
|
||||
NSEnumerator *NSEnumerator_arrayReverseNew(NSArray *array) {
|
||||
NSEnumerator_arrayReverse *self =
|
||||
NSAllocateObject([NSEnumerator_arrayReverse class], 0, NULL);
|
||||
if (self) {
|
||||
self->_index = [array count];
|
||||
self->_array = [array retain];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
[_array release];
|
||||
NSDeallocateObject(self);
|
||||
return;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- nextObject {
|
||||
_index--;
|
||||
|
||||
if (_index < 0)
|
||||
return nil;
|
||||
|
||||
return [_array objectAtIndex: _index];
|
||||
}
|
||||
|
||||
@end
|
@ -1,65 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSArray.h>
|
||||
|
||||
@interface NSMutableArray : NSArray
|
||||
|
||||
- initWithCapacity: (NSUInteger) capacity;
|
||||
+ arrayWithCapacity: (NSUInteger) capacity;
|
||||
|
||||
- (void) addObject: object;
|
||||
- (void) addObjectsFromArray: (NSArray *) array;
|
||||
|
||||
- (void) removeObjectAtIndex: (NSUInteger) index;
|
||||
- (void) removeAllObjects;
|
||||
- (void) removeLastObject;
|
||||
- (void) removeObject: object;
|
||||
- (void) removeObject: object inRange: (NSRange) range;
|
||||
- (void) removeObjectIdenticalTo: object;
|
||||
- (void) removeObjectIdenticalTo: object inRange: (NSRange) range;
|
||||
- (void) removeObjectsInRange: (NSRange) range;
|
||||
- (void) removeObjectsFromIndices: (NSUInteger *) indices
|
||||
numIndices: (NSUInteger) count;
|
||||
- (void) removeObjectsInArray: (NSArray *) array;
|
||||
- (void) removeObjectsAtIndexes: (NSIndexSet *) indexes;
|
||||
|
||||
- (void) insertObject: object atIndex: (NSUInteger) index;
|
||||
- (void) insertObjects: (NSArray *) objects atIndexes: (NSIndexSet *) indexes;
|
||||
|
||||
- (void) setArray: (NSArray *) array;
|
||||
- (void) replaceObjectAtIndex: (NSUInteger) index withObject: object;
|
||||
- (void) replaceObjectsInRange: (NSRange) range
|
||||
withObjectsFromArray: (NSArray *) array;
|
||||
- (void) replaceObjectsInRange: (NSRange) range
|
||||
withObjectsFromArray: (NSArray *) array
|
||||
range: (NSRange) otherRange;
|
||||
- (void) replaceObjectsAtIndexes: (NSIndexSet *) indexes
|
||||
withObjects: (NSArray *) objects;
|
||||
- (void) exchangeObjectAtIndex: (NSUInteger) index
|
||||
withObjectAtIndex: (NSUInteger) other;
|
||||
|
||||
- (void) sortUsingSelector: (SEL) selector;
|
||||
- (void) sortUsingFunction: (NSInteger (*)(id, id, void *)) compare
|
||||
context: (void *) context;
|
||||
|
||||
- (void) sortUsingDescriptors: (NSArray *) descriptors;
|
||||
- (void) filterUsingPredicate: (NSPredicate *) predicate;
|
||||
|
||||
@end
|
@ -1,547 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSAutoreleasePool-private.h>
|
||||
#import <Foundation/NSIndexSet.h>
|
||||
#import <Foundation/NSMutableArray_concrete.h>
|
||||
#import <Foundation/NSObjCRuntime.h>
|
||||
#import <Foundation/NSPredicate.h>
|
||||
#import <Foundation/NSPropertyListReader.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
#import <Foundation/NSSortDescriptor.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
@implementation NSMutableArray
|
||||
|
||||
+ allocWithZone: (NSZone *) zone {
|
||||
if (self == [NSMutableArray class])
|
||||
return NSAllocateObject([NSMutableArray_concrete class], 0, zone);
|
||||
|
||||
return NSAllocateObject(self, 0, zone);
|
||||
}
|
||||
|
||||
- initWithObjects: (id *) objects count: (NSUInteger) count {
|
||||
NSUInteger i;
|
||||
|
||||
if ((self = [self initWithCapacity: count]) == nil)
|
||||
return nil;
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
[self addObject: objects[i]];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- initWithCapacity: (NSUInteger) capacity {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- copy {
|
||||
return [[NSArray allocWithZone: NULL] initWithArray: self];
|
||||
}
|
||||
|
||||
- copyWithZone: (NSZone *) zone {
|
||||
return [[NSArray allocWithZone: zone] initWithArray: self];
|
||||
}
|
||||
|
||||
- (Class) classForCoder {
|
||||
return [NSMutableArray class];
|
||||
}
|
||||
|
||||
+ array {
|
||||
if (self == [NSMutableArray class])
|
||||
return NSAutorelease(NSMutableArray_concreteNewWithCapacity(NULL, 0));
|
||||
|
||||
return [[[self allocWithZone: NULL] init] autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithContentsOfFile: (NSString *) path {
|
||||
return [NSPropertyListReader arrayWithContentsOfFile: path];
|
||||
}
|
||||
|
||||
+ arrayWithObject: object {
|
||||
if (self == [NSMutableArray class])
|
||||
return NSAutorelease(NSMutableArray_concreteNew(NULL, &object, 1));
|
||||
|
||||
return [[[self allocWithZone: NULL] initWithObjects: &object
|
||||
count: 1] autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithCapacity: (NSUInteger) capacity {
|
||||
if (self == [NSMutableArray class])
|
||||
return NSAutorelease(
|
||||
NSMutableArray_concreteNewWithCapacity(NULL, capacity));
|
||||
|
||||
return [[[self allocWithZone: NULL] initWithCapacity: capacity]
|
||||
autorelease];
|
||||
}
|
||||
|
||||
+ arrayWithObjects: first, ... {
|
||||
NSUInteger i, count = 0;
|
||||
id *objects = NULL;
|
||||
|
||||
if (first != nil) {
|
||||
va_list arguments;
|
||||
|
||||
va_start(arguments, first);
|
||||
count = 1;
|
||||
while (va_arg(arguments, id) != nil)
|
||||
count++;
|
||||
va_end(arguments);
|
||||
|
||||
objects = __builtin_alloca(sizeof(id) * count);
|
||||
|
||||
va_start(arguments, first);
|
||||
objects[0] = first;
|
||||
for (i = 1; i < count; i++)
|
||||
objects[i] = va_arg(arguments, id);
|
||||
va_end(arguments);
|
||||
}
|
||||
|
||||
if (self == [NSMutableArray class])
|
||||
return NSAutorelease(NSMutableArray_concreteNew(NULL, objects, count));
|
||||
|
||||
return [[[self allocWithZone: NULL] initWithObjects: objects
|
||||
count: count] autorelease];
|
||||
}
|
||||
|
||||
- (void) addObject: object {
|
||||
NSInvalidAbstractInvocation();
|
||||
}
|
||||
|
||||
- (void) addObjectsFromArray: (NSArray *) other {
|
||||
NSUInteger i, count = [other count];
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
[self addObject: [other objectAtIndex: i]];
|
||||
}
|
||||
|
||||
- (void) removeObjectAtIndex: (NSUInteger) index {
|
||||
NSInvalidAbstractInvocation();
|
||||
}
|
||||
|
||||
- (void) removeAllObjects {
|
||||
NSInteger count = [self count];
|
||||
|
||||
while (--count >= 0)
|
||||
[self removeObjectAtIndex: count];
|
||||
}
|
||||
|
||||
- (void) removeLastObject {
|
||||
[self removeObjectAtIndex: [self count] - 1];
|
||||
}
|
||||
|
||||
- (void) removeObject: object {
|
||||
|
||||
NSInteger count = [self count];
|
||||
|
||||
// Make sure it doesn't disappear on us during this operation
|
||||
[object retain];
|
||||
|
||||
while (--count >= 0) {
|
||||
id check = [self objectAtIndex: count];
|
||||
|
||||
if ([check isEqual: object]) {
|
||||
if (check == object && [object retainCount] == 1) {
|
||||
[[object retain] autorelease];
|
||||
}
|
||||
[self removeObjectAtIndex: count];
|
||||
}
|
||||
}
|
||||
|
||||
[object release];
|
||||
}
|
||||
|
||||
- (void) removeObject: object inRange: (NSRange) range {
|
||||
NSInteger pos = NSMaxRange(range);
|
||||
|
||||
if (pos > [self count])
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"range %@ beyond count %d", NSStringFromRange(range),
|
||||
[self count]);
|
||||
|
||||
// Make sure it doesn't disappear on us during this operation
|
||||
[object retain];
|
||||
|
||||
while (--pos >= range.location) {
|
||||
id check = [self objectAtIndex: pos];
|
||||
|
||||
if ([check isEqual: object]) {
|
||||
if (check == object && [object retainCount] == 1) {
|
||||
[[object retain] autorelease];
|
||||
}
|
||||
[self removeObjectAtIndex: pos];
|
||||
}
|
||||
}
|
||||
|
||||
[object release];
|
||||
}
|
||||
|
||||
- (void) removeObjectIdenticalTo: object {
|
||||
NSInteger count = [self count];
|
||||
|
||||
while (--count >= 0) {
|
||||
id check = [self objectAtIndex: count];
|
||||
|
||||
if (check == object) {
|
||||
if ([object retainCount] == 1) {
|
||||
[[object retain] autorelease];
|
||||
}
|
||||
[self removeObjectAtIndex: count];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) removeObjectIdenticalTo: object inRange: (NSRange) range {
|
||||
NSInteger pos = NSMaxRange(range);
|
||||
|
||||
if (pos > [self count])
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"range %@ beyond count %d", NSStringFromRange(range),
|
||||
[self count]);
|
||||
|
||||
while (--pos >= range.location) {
|
||||
id check = [self objectAtIndex: pos];
|
||||
|
||||
if (check == object) {
|
||||
if ([object retainCount] == 1) {
|
||||
[[object retain] autorelease];
|
||||
}
|
||||
[self removeObjectAtIndex: pos];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) removeObjectsInRange: (NSRange) range {
|
||||
NSInteger pos = NSMaxRange(range);
|
||||
|
||||
if (range.length == 0)
|
||||
return;
|
||||
|
||||
if (pos > [self count])
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"range %@ beyond count %d", NSStringFromRange(range),
|
||||
[self count]);
|
||||
|
||||
while (--pos >= range.location && pos >= 0)
|
||||
[self removeObjectAtIndex: pos];
|
||||
}
|
||||
|
||||
static inline void memswp(void *a, void *b, size_t width) {
|
||||
if (width == sizeof(void *)) {
|
||||
// Optimization for pointer sized swap:
|
||||
void *tmp;
|
||||
tmp = *(void **) a;
|
||||
*(void **) a = *(void **) b;
|
||||
*(void **) b = tmp;
|
||||
return;
|
||||
}
|
||||
// default uses memcpy:
|
||||
char tmp[width];
|
||||
memcpy(tmp, a, width);
|
||||
memcpy(a, b, width);
|
||||
memcpy(b, tmp, width);
|
||||
}
|
||||
|
||||
// iterative mergesort based on
|
||||
// http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/merge/mergiter.htm
|
||||
|
||||
static int mergesortL(void *base, size_t nel, size_t width,
|
||||
int (*compar)(const void *, const void *))
|
||||
{
|
||||
NSInteger h, i, j, k, l, m, n = nel;
|
||||
void *A; // points to an element
|
||||
void *B = NSZoneMalloc(NULL, (n / 2 + 1) * width); // points to a temp array
|
||||
|
||||
for (h = 1; h < n; h += h) {
|
||||
for (m = n - 1 - h; m >= 0; m -= h + h) {
|
||||
l = m - h + 1;
|
||||
if (l < 0)
|
||||
l = 0;
|
||||
|
||||
// Copy first half of the array into helper B:
|
||||
j = m + 1;
|
||||
memcpy(B, base + (l * width), (j - l) * width);
|
||||
|
||||
for (i = 0, k = l; k < j && j <= m + h; k++) {
|
||||
A = base + (width * j); // A = [self objectAtIndex:j];
|
||||
if (compar(A, B + (i * width)) > 0) {
|
||||
memswp(base + (k * width), B + (i * width), width);
|
||||
i += 1;
|
||||
} else {
|
||||
memswp(base + (k * width), A, width);
|
||||
j += 1;
|
||||
}
|
||||
}
|
||||
|
||||
while (k < j) // This loop could be optimized
|
||||
memswp(base + (k++ * width), B + (i++ * width), width);
|
||||
}
|
||||
}
|
||||
|
||||
free(B);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int _nsmutablearraycompareindices(const void *v1, const void *v2) {
|
||||
int i1 = (*(int *) v1);
|
||||
int i2 = (*(int *) v2);
|
||||
int result = i1 == i2 ? 0 : (i1 < i2 ? -1 : 1);
|
||||
return result;
|
||||
}
|
||||
|
||||
- (void) removeObjectsFromIndices: (NSUInteger *) indices
|
||||
numIndices: (NSUInteger) count
|
||||
{
|
||||
if (count) {
|
||||
NSUInteger lastIndex = NSNotFound;
|
||||
NSUInteger sortedIndices[count];
|
||||
NSInteger i;
|
||||
memcpy(sortedIndices, indices, sizeof(NSUInteger) * count);
|
||||
mergesortL(sortedIndices, sizeof(NSUInteger), count,
|
||||
&_nsmutablearraycompareindices);
|
||||
for (i = count - 1; i >= 0; i--) {
|
||||
NSUInteger index = sortedIndices[i];
|
||||
if (index != lastIndex) {
|
||||
[self removeObjectAtIndex: index];
|
||||
}
|
||||
lastIndex = index;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) removeObjectsInArray: (NSArray *) other {
|
||||
NSInteger count = [other count];
|
||||
|
||||
while (--count >= 0) {
|
||||
id object = [other objectAtIndex: count];
|
||||
[self removeObject: object];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) removeObjectsAtIndexes: (NSIndexSet *) indexes {
|
||||
NSUInteger index = [indexes lastIndex];
|
||||
|
||||
while (index != NSNotFound) {
|
||||
[self removeObjectAtIndex: index];
|
||||
index = [indexes indexLessThanIndex: index];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) insertObject: object atIndex: (NSUInteger) index {
|
||||
NSInvalidAbstractInvocation();
|
||||
}
|
||||
|
||||
- (void) insertObjects: (NSArray *) objects atIndexes: (NSIndexSet *) indexes {
|
||||
NSInteger i;
|
||||
NSInteger index = [indexes firstIndex];
|
||||
for (i = 0; i < [objects count]; i++) {
|
||||
[self insertObject: [objects objectAtIndex: i] atIndex: index];
|
||||
index = [indexes indexGreaterThanIndex: index];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) setArray: (NSArray *) other {
|
||||
[self removeAllObjects];
|
||||
[self addObjectsFromArray: other];
|
||||
}
|
||||
|
||||
- (void) replaceObjectAtIndex: (NSUInteger) index withObject: object {
|
||||
NSInvalidAbstractInvocation();
|
||||
}
|
||||
|
||||
- (void) replaceObjectsInRange: (NSRange) range
|
||||
withObjectsFromArray: (NSArray *) array
|
||||
{
|
||||
[self replaceObjectsInRange: range
|
||||
withObjectsFromArray: array
|
||||
range: NSMakeRange(0, [array count])];
|
||||
}
|
||||
|
||||
- (void) replaceObjectsInRange: (NSRange) range
|
||||
withObjectsFromArray: (NSArray *) array
|
||||
range: (NSRange) arrayRange
|
||||
{
|
||||
NSInteger i;
|
||||
|
||||
for (i = 0; i < range.length && i < arrayRange.length; i++)
|
||||
[self replaceObjectAtIndex: range.location + i
|
||||
withObject: [array objectAtIndex: arrayRange.location +
|
||||
i]];
|
||||
|
||||
if (i < range.length)
|
||||
[self removeObjectsInRange: NSMakeRange(range.location + i,
|
||||
range.length - i)];
|
||||
|
||||
if (i < arrayRange.length) {
|
||||
for (; i < arrayRange.length; i++)
|
||||
[self insertObject: [array objectAtIndex: arrayRange.location + i]
|
||||
atIndex: range.location + i];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) replaceObjectsAtIndexes: (NSIndexSet *) indexes
|
||||
withObjects: (NSArray *) objects
|
||||
{
|
||||
NSUInteger index = [indexes firstIndex];
|
||||
for (id object in objects) {
|
||||
[self replaceObjectAtIndex: index withObject: object];
|
||||
index = [indexes indexGreaterThanIndex: index];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) exchangeObjectAtIndex: (NSUInteger) index
|
||||
withObjectAtIndex: (NSUInteger) other
|
||||
{
|
||||
id object = [[self objectAtIndex: index] retain];
|
||||
id otherObject = [self objectAtIndex: other];
|
||||
|
||||
[self replaceObjectAtIndex: index withObject: otherObject];
|
||||
[self replaceObjectAtIndex: other withObject: object];
|
||||
[object release];
|
||||
}
|
||||
|
||||
static NSInteger selectorCompare(id object1, id object2, void *userData) {
|
||||
SEL selector = userData;
|
||||
|
||||
return (NSComparisonResult) [object1 performSelector: selector
|
||||
withObject: object2];
|
||||
}
|
||||
|
||||
- (void) sortUsingSelector: (SEL) selector {
|
||||
[self sortUsingFunction: selectorCompare context: (void *) selector];
|
||||
}
|
||||
|
||||
// iterative mergesort based on
|
||||
// http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/merge/mergiter.htm
|
||||
// ...
|
||||
|
||||
// ... using a comparison function
|
||||
- (void) sortUsingFunction: (NSInteger (*)(id, id, void *)) compare
|
||||
context: (void *) context
|
||||
{
|
||||
NSInteger h, i, j, k, l, m, n = [self count];
|
||||
id A, *B = NSZoneMalloc(NULL, (n / 2 + 1) * sizeof(id));
|
||||
|
||||
// to prevent retain counts from temporarily hitting zero.
|
||||
for (i = 0; i < n; i++)
|
||||
[[self objectAtIndex: i] retain];
|
||||
|
||||
for (h = 1; h < n; h += h) {
|
||||
for (m = n - 1 - h; m >= 0; m -= h + h) {
|
||||
l = m - h + 1;
|
||||
if (l < 0)
|
||||
l = 0;
|
||||
|
||||
for (i = 0, j = l; j <= m; i++, j++)
|
||||
B[i] = [self objectAtIndex: j];
|
||||
|
||||
for (i = 0, k = l; k < j && j <= m + h; k++) {
|
||||
A = [self objectAtIndex: j];
|
||||
if (compare(A, B[i], context) == NSOrderedDescending)
|
||||
[self replaceObjectAtIndex: k withObject: B[i++]];
|
||||
else {
|
||||
[self replaceObjectAtIndex: k withObject: A];
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
while (k < j)
|
||||
[self replaceObjectAtIndex: k++ withObject: B[i++]];
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
[[self objectAtIndex: i] release];
|
||||
|
||||
free(B);
|
||||
}
|
||||
|
||||
static NSComparisonResult compareObjectsUsingDescriptors(id A, id B,
|
||||
void *descriptorsX)
|
||||
{
|
||||
NSArray *descriptors = (id) descriptorsX;
|
||||
NSComparisonResult result = NSOrderedSame;
|
||||
|
||||
NSInteger i, count = [descriptors count];
|
||||
|
||||
for (i = 0; i < count; i++) {
|
||||
if ((result = [[descriptors objectAtIndex: i] compareObject: A
|
||||
toObject: B]) !=
|
||||
NSOrderedSame)
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (void) sortUsingDescriptors: (NSArray *) descriptors {
|
||||
[self sortUsingFunction: compareObjectsUsingDescriptors
|
||||
context: descriptors];
|
||||
}
|
||||
|
||||
- (NSUInteger) _insertObject: (id) obj
|
||||
inArraySortedByDescriptors: (NSArray *) descriptors
|
||||
{
|
||||
NSUInteger start = 0;
|
||||
NSUInteger end = [self count];
|
||||
NSUInteger mid = 0;
|
||||
|
||||
// do a binary search to find an object NSOrderedSame
|
||||
while (mid = (start + end) / 2, start < end) {
|
||||
id other = [self objectAtIndex: mid];
|
||||
NSComparisonResult res =
|
||||
compareObjectsUsingDescriptors(obj, other, descriptors);
|
||||
|
||||
if (res == NSOrderedAscending) {
|
||||
end = mid;
|
||||
} else if (res == NSOrderedDescending) {
|
||||
start = mid + 1;
|
||||
} else {
|
||||
[self insertObject: obj atIndex: mid];
|
||||
return mid;
|
||||
}
|
||||
}
|
||||
// none found; current position must be where we should be at
|
||||
[self insertObject: obj atIndex: mid];
|
||||
return mid;
|
||||
}
|
||||
|
||||
- (void) filterUsingPredicate: (NSPredicate *) predicate {
|
||||
if (predicate == nil) {
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
format: @"-[%@ %s] predicate is nil", [self class], _cmd];
|
||||
return;
|
||||
}
|
||||
|
||||
NSInteger count = [self count];
|
||||
|
||||
while (--count >= 0) {
|
||||
id check = [self objectAtIndex: count];
|
||||
|
||||
if (![predicate evaluateWithObject: check])
|
||||
[self removeObjectAtIndex: count];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
@ -1,33 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSArray.h>
|
||||
|
||||
@interface NSMutableArray_concrete : NSMutableArray {
|
||||
NSUInteger _count;
|
||||
NSUInteger _capacity;
|
||||
id *_objects;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
NSArray *NSMutableArray_concreteNew(NSZone *zone, id *objects,
|
||||
NSUInteger count);
|
||||
NSArray *NSMutableArray_concreteNewWithCapacity(NSZone *zone,
|
||||
NSUInteger capacity);
|
@ -1,405 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSCoder.h>
|
||||
#import <Foundation/NSMutableArray_concrete.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
|
||||
@implementation NSMutableArray_concrete
|
||||
|
||||
static inline NSUInteger roundCapacityUp(NSUInteger capacity) {
|
||||
return (capacity < 1) ? 1 : capacity;
|
||||
}
|
||||
|
||||
NSMutableArray_concrete *
|
||||
NSMutableArray_concreteInit(NSMutableArray_concrete *self, id *objects,
|
||||
NSUInteger count, NSZone *zone)
|
||||
{
|
||||
NSUInteger i;
|
||||
|
||||
self->_count = count;
|
||||
self->_capacity = roundCapacityUp(count);
|
||||
self->_objects = NSZoneMalloc(zone, sizeof(id) * self->_capacity);
|
||||
for (i = 0; i < count; i++) {
|
||||
self->_objects[i] = [objects[i] retain];
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
NSMutableArray_concrete *
|
||||
NSMutableArray_concreteInitWithCapacity(NSMutableArray_concrete *self,
|
||||
NSUInteger capacity, NSZone *zone)
|
||||
{
|
||||
self->_count = 0;
|
||||
self->_capacity = roundCapacityUp(capacity);
|
||||
self->_objects = NSZoneMalloc(zone, sizeof(id) * self->_capacity);
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
NSArray *NSMutableArray_concreteNew(NSZone *zone, id *objects, NSUInteger count)
|
||||
{
|
||||
NSMutableArray_concrete *self =
|
||||
NSAllocateObject([NSMutableArray_concrete class], 0, zone);
|
||||
if (self) {
|
||||
self = NSMutableArray_concreteInit(self, objects, count, zone);
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
NSArray *NSMutableArray_concreteNewWithCapacity(NSZone *zone,
|
||||
NSUInteger capacity)
|
||||
{
|
||||
NSMutableArray_concrete *self =
|
||||
NSAllocateObject([NSMutableArray_concrete class], 0, zone);
|
||||
if (self) {
|
||||
self = NSMutableArray_concreteInitWithCapacity(self, capacity, zone);
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- init {
|
||||
return NSMutableArray_concreteInitWithCapacity(self, 0,
|
||||
NSZoneFromPointer(self));
|
||||
}
|
||||
|
||||
- initWithArray: (NSArray *) array {
|
||||
NSUInteger i, count = [array count];
|
||||
|
||||
NSMutableArray_concreteInitWithCapacity(self, count,
|
||||
NSZoneFromPointer(self));
|
||||
self->_count = count;
|
||||
[array getObjects: _objects];
|
||||
for (i = 0; i < count; i++)
|
||||
[_objects[i] retain];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- initWithContentsOfFile: (NSString *) path {
|
||||
NSUnimplementedMethod();
|
||||
return self;
|
||||
}
|
||||
|
||||
- initWithObjects: (id *) objects count: (NSUInteger) count {
|
||||
return NSMutableArray_concreteInit(self, objects, count,
|
||||
NSZoneFromPointer(self));
|
||||
}
|
||||
|
||||
- initWithObjects: object, ... {
|
||||
va_list arguments;
|
||||
NSUInteger i, count;
|
||||
id *objects;
|
||||
|
||||
va_start(arguments, object);
|
||||
count = 1;
|
||||
while (va_arg(arguments, id) != nil)
|
||||
count++;
|
||||
va_end(arguments);
|
||||
|
||||
objects = __builtin_alloca(sizeof(id) * count);
|
||||
|
||||
va_start(arguments, object);
|
||||
objects[0] = object;
|
||||
for (i = 1; i < count; i++)
|
||||
objects[i] = va_arg(arguments, id);
|
||||
va_end(arguments);
|
||||
|
||||
return NSMutableArray_concreteInit(self, objects, count,
|
||||
NSZoneFromPointer(self));
|
||||
}
|
||||
|
||||
- initWithCapacity: (NSUInteger) capacity {
|
||||
return NSMutableArray_concreteInitWithCapacity(self, capacity,
|
||||
NSZoneFromPointer(self));
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
NSInteger count = _count;
|
||||
|
||||
while (--count >= 0)
|
||||
[_objects[count] release];
|
||||
|
||||
NSZoneFree(NSZoneFromPointer(_objects), _objects);
|
||||
NSDeallocateObject(self);
|
||||
return;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSUInteger) count {
|
||||
return _count;
|
||||
}
|
||||
|
||||
- objectAtIndex: (NSUInteger) index {
|
||||
if (index >= _count) {
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond count %d", index, [self count]);
|
||||
return nil;
|
||||
}
|
||||
|
||||
return _objects[index];
|
||||
}
|
||||
|
||||
- (void) addObject: object {
|
||||
if (object == nil) {
|
||||
NSRaiseException(NSInvalidArgumentException, self, _cmd, @"nil object");
|
||||
return;
|
||||
}
|
||||
|
||||
[object retain];
|
||||
|
||||
_count++;
|
||||
if (_count > _capacity) {
|
||||
_capacity = _count * 2;
|
||||
_objects = NSZoneRealloc(NSZoneFromPointer(_objects), _objects,
|
||||
sizeof(id) * _capacity);
|
||||
}
|
||||
_objects[_count - 1] = object;
|
||||
}
|
||||
|
||||
- (void) replaceObjectAtIndex: (NSUInteger) index withObject: object {
|
||||
if (object == nil) {
|
||||
NSRaiseException(NSInvalidArgumentException, self, _cmd, @"nil object");
|
||||
return;
|
||||
}
|
||||
|
||||
if (index >= _count) {
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond count %d", index, [self count]);
|
||||
return;
|
||||
}
|
||||
|
||||
[object retain];
|
||||
[_objects[index] release];
|
||||
_objects[index] = object;
|
||||
}
|
||||
|
||||
- lastObject {
|
||||
if (_count == 0)
|
||||
return nil;
|
||||
|
||||
return _objects[_count - 1];
|
||||
}
|
||||
|
||||
- (void) insertObject: object atIndex: (NSUInteger) index {
|
||||
NSInteger c;
|
||||
|
||||
if (object == nil) {
|
||||
NSRaiseException(NSInvalidArgumentException, self, _cmd, @"nil object");
|
||||
return;
|
||||
}
|
||||
|
||||
if (index > _count) {
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond count %d", index, [self count]);
|
||||
return;
|
||||
}
|
||||
|
||||
_count++;
|
||||
if (_count > _capacity) {
|
||||
_capacity = _count * 2;
|
||||
_objects = NSZoneRealloc(NSZoneFromPointer(_objects), _objects,
|
||||
sizeof(id) * _capacity);
|
||||
}
|
||||
|
||||
if (_count > 1)
|
||||
for (c = _count - 1; c > index && c > 0; c--)
|
||||
_objects[c] = _objects[c - 1];
|
||||
|
||||
_objects[index] = [object retain];
|
||||
}
|
||||
|
||||
static void removeObjectAtIndex(NSMutableArray_concrete *self, NSUInteger index)
|
||||
{
|
||||
NSUInteger i;
|
||||
id object;
|
||||
|
||||
object = self->_objects[index];
|
||||
self->_count--;
|
||||
for (i = index; i < self->_count; i++)
|
||||
self->_objects[i] = self->_objects[i + 1];
|
||||
|
||||
[object release];
|
||||
|
||||
if (self->_capacity > self->_count * 2) {
|
||||
self->_capacity = self->_count;
|
||||
self->_objects =
|
||||
NSZoneRealloc(NSZoneFromPointer(self->_objects), self->_objects,
|
||||
sizeof(id) * self->_capacity);
|
||||
}
|
||||
}
|
||||
|
||||
- (void) removeObjectAtIndex: (NSUInteger) index {
|
||||
if (index >= _count) {
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond count %d", index, [self count]);
|
||||
}
|
||||
|
||||
removeObjectAtIndex(self, index);
|
||||
}
|
||||
|
||||
- (void) removeLastObject {
|
||||
if (_count == 0) {
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond count %d", 1, [self count]);
|
||||
return;
|
||||
}
|
||||
|
||||
removeObjectAtIndex(self, _count - 1);
|
||||
}
|
||||
|
||||
- (void) removeAllObjects {
|
||||
NSUInteger i;
|
||||
|
||||
for (i = 0; i < _count; i++)
|
||||
[_objects[i] release];
|
||||
|
||||
_count = 0;
|
||||
if (self->_capacity > 8) {
|
||||
self->_capacity = 8;
|
||||
self->_objects =
|
||||
NSZoneRealloc(NSZoneFromPointer(self->_objects), self->_objects,
|
||||
sizeof(id) * self->_capacity);
|
||||
}
|
||||
}
|
||||
|
||||
- (void) getObjects: (id *) objects {
|
||||
NSUInteger i;
|
||||
|
||||
for (i = 0; i < _count; i++)
|
||||
objects[i] = _objects[i];
|
||||
}
|
||||
|
||||
- (NSUInteger) indexOfObjectIdenticalTo: object {
|
||||
NSInteger i;
|
||||
|
||||
for (i = 0; i < self->_count; i++)
|
||||
if (self->_objects[i] == object)
|
||||
return i;
|
||||
|
||||
return NSNotFound;
|
||||
}
|
||||
|
||||
static inline NSUInteger indexOfObject(NSMutableArray_concrete *self, id object)
|
||||
{
|
||||
NSUInteger i;
|
||||
|
||||
for (i = 0; i < self->_count; i++)
|
||||
if ([self->_objects[i] isEqual: object])
|
||||
return i;
|
||||
|
||||
return NSNotFound;
|
||||
}
|
||||
|
||||
- (NSUInteger) indexOfObject: object {
|
||||
return indexOfObject(self, object);
|
||||
}
|
||||
|
||||
- (BOOL) containsObject: object {
|
||||
return (indexOfObject(self, object) != NSNotFound) ? YES : NO;
|
||||
}
|
||||
|
||||
- (void) makeObjectsPerformSelector: (SEL) selector {
|
||||
NSInteger i, count = [self count];
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
[_objects[i] performSelector: selector];
|
||||
}
|
||||
|
||||
// Bottom up merge
|
||||
|
||||
- (void) mergeUsingFunction: (NSInteger (*)(id, id, void *)) compare
|
||||
context: (void *) context
|
||||
A: (id *) A
|
||||
left: (NSInteger) iLeft
|
||||
right: (NSInteger) iRight
|
||||
end: (NSInteger) iEnd
|
||||
B: (id *) B
|
||||
{
|
||||
NSInteger i0 = iLeft;
|
||||
NSInteger i1 = iRight;
|
||||
NSInteger j;
|
||||
|
||||
/* While there are elements in the left or right lists */
|
||||
for (j = iLeft; j < iEnd; j++) {
|
||||
/* If left list head exists and is <= existing right list head */
|
||||
if (i0 < iRight && (i1 >= iEnd || compare(A[i0], A[i1], context) !=
|
||||
NSOrderedDescending)) {
|
||||
B[j] = A[i0++];
|
||||
} else {
|
||||
B[j] = A[i1++];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// iterative bottom up mergesort based on
|
||||
// http://en.wikipedia.org/wiki/Merge_sort
|
||||
- (void) sortUsingFunction: (NSInteger (*)(id, id, void *)) compare
|
||||
context: (void *) context
|
||||
{
|
||||
NSInteger n = _count;
|
||||
|
||||
/* array A[] has the items to sort; array B[] is a work array */
|
||||
id *A = _objects;
|
||||
id *B = NSZoneMalloc(NULL, (n + 1) * sizeof(id));
|
||||
|
||||
/* Each 1-element run in A is already "sorted". */
|
||||
|
||||
/* Make successively longer sorted runs of length 2, 4, 8, 16... until whole
|
||||
* array is sorted. */
|
||||
for (int width = 1; width < n; width = 2 * width) {
|
||||
/* Array A is full of runs of length width. */
|
||||
for (int i = 0; i < n; i = i + 2 * width) {
|
||||
/* Merge two runs: A[i:i+width-1] and A[i+width:i+2*width-1] to B[]
|
||||
*/
|
||||
/* or copy A[i:n-1] to B[] ( if(i+width >= n) ) */
|
||||
[self mergeUsingFunction: compare
|
||||
context: context
|
||||
A: A
|
||||
left: i
|
||||
right: MIN(i + width, n)
|
||||
end: MIN(i + 2 * width, n)
|
||||
B: B];
|
||||
}
|
||||
/* Now work array B is full of runs of length 2*width. */
|
||||
/* Copy array B to array A for next iteration. */
|
||||
memcpy(A, B, n * sizeof(id));
|
||||
}
|
||||
|
||||
free(B);
|
||||
}
|
||||
|
||||
- (NSUInteger) countByEnumeratingWithState: (NSFastEnumerationState *) state
|
||||
objects: (id *) stackbuf
|
||||
count: (NSUInteger) length;
|
||||
{
|
||||
if (state->state >= _count)
|
||||
return 0;
|
||||
|
||||
state->itemsPtr = _objects;
|
||||
state->state = _count;
|
||||
|
||||
state->mutationsPtr = (unsigned long *) self;
|
||||
|
||||
return _count;
|
||||
}
|
||||
|
||||
@end
|
@ -1,106 +0,0 @@
|
||||
/* Copyright (c) 2008 John Engelhart
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSObject.h>
|
||||
|
||||
#ifdef NS_BLOCK_ASSERTIONS
|
||||
#define _NSAssertBody(condition, desc, ...)
|
||||
#define _NSCAssertBody(condition, desc, ...)
|
||||
#else // NS_BLOCK_ASSERTIONS not defined
|
||||
#define _NSAssertBody(condition, desc, ...) \
|
||||
do { \
|
||||
if (!(condition)) { \
|
||||
[[NSAssertionHandler currentHandler] \
|
||||
handleFailureInMethod: _cmd \
|
||||
object: self \
|
||||
file: [NSString stringWithUTF8String: \
|
||||
__FILE__] \
|
||||
lineNumber: __LINE__ \
|
||||
description: (desc), ##__VA_ARGS__]; \
|
||||
} \
|
||||
} while (0)
|
||||
#define _NSCAssertBody(condition, desc, ...) \
|
||||
do { \
|
||||
if (!(condition)) { \
|
||||
[[NSAssertionHandler currentHandler] \
|
||||
handleFailureInFunction: \
|
||||
[NSString \
|
||||
stringWithUTF8String: __PRETTY_FUNCTION__] \
|
||||
file: [NSString stringWithUTF8String: \
|
||||
__FILE__] \
|
||||
lineNumber: __LINE__ \
|
||||
description: (desc), ##__VA_ARGS__]; \
|
||||
} \
|
||||
} while (0)
|
||||
#endif // NS_BLOCK_ASSERTIONS
|
||||
|
||||
/*
|
||||
* Asserts to use in Objective-C methods:
|
||||
*/
|
||||
|
||||
#define NSAssert(condition, desc, ...) \
|
||||
_NSAssertBody((condition), (desc), ##__VA_ARGS__)
|
||||
#define NSAssert1(condition, desc, val1) NSAssert(condition, desc, val1)
|
||||
#define NSAssert2(condition, desc, val1, val2) \
|
||||
NSAssert(condition, desc, val1, val2)
|
||||
#define NSAssert3(condition, desc, val1, val2, val3) \
|
||||
NSAssert(condition, desc, val1, val2, val3)
|
||||
#define NSAssert4(condition, desc, val1, val2, val3, val4) \
|
||||
NSAssert(condition, desc, val1, val2, val3, val4)
|
||||
#define NSAssert5(condition, desc, val1, val2, val3, val4, val5) \
|
||||
NSAssert(condition, desc, val1, val2, val3, val4, val5)
|
||||
|
||||
#define NSParameterAssert(condition) \
|
||||
_NSAssertBody((condition), @"Invalid parameter not satisfying: %s", \
|
||||
#condition)
|
||||
|
||||
/*
|
||||
* Asserts to use in C function calls:
|
||||
*/
|
||||
|
||||
#define NSCAssert(condition, desc, ...) \
|
||||
_NSCAssertBody((condition), (desc), ##__VA_ARGS__)
|
||||
#define NSCAssert1(condition, desc, val1) NSCAssert(condition, desc, val1)
|
||||
#define NSCAssert2(condition, desc, val1, val2) \
|
||||
NSCAssert(condition, desc, val1, val2)
|
||||
#define NSCAssert3(condition, desc, val1, val2, val3) \
|
||||
NSCAssert(condition, desc, val1, val2, val3)
|
||||
#define NSCAssert4(condition, desc, val1, val2, val3, val4) \
|
||||
NSCAssert(condition, desc, val1, val2, val3, val4)
|
||||
#define NSCAssert5(condition, desc, val1, val2, val3, val4, val5) \
|
||||
NSCAssert(condition, desc, val1, val2, val3, val4, val5)
|
||||
|
||||
#define NSCParameterAssert(condition) \
|
||||
_NSCAssertBody((condition), @"Invalid parameter not satisfying: %s", \
|
||||
#condition)
|
||||
|
||||
@interface NSAssertionHandler : NSObject
|
||||
|
||||
+ (NSAssertionHandler *) currentHandler;
|
||||
- (void) handleFailureInMethod: (SEL) selector
|
||||
object: (id) object
|
||||
file: (NSString *) fileName
|
||||
lineNumber: (NSInteger) line
|
||||
description: (NSString *) format, ...;
|
||||
- (void) handleFailureInFunction: (NSString *) functionName
|
||||
file: (NSString *) fileName
|
||||
lineNumber: (NSInteger) line
|
||||
description: (NSString *) format, ...;
|
||||
|
||||
@end
|
@ -1,76 +0,0 @@
|
||||
/* Copyright (c) 2008 John Engelhart
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSAssertionHandler.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSException.h>
|
||||
#import <Foundation/NSString.h>
|
||||
#import <Foundation/NSThread.h>
|
||||
|
||||
@implementation NSAssertionHandler
|
||||
|
||||
+ (NSAssertionHandler *) currentHandler {
|
||||
id currentHandlerForThread = [[[NSThread currentThread] threadDictionary]
|
||||
objectForKey: [self className]];
|
||||
|
||||
if ((currentHandlerForThread == NULL) &&
|
||||
((currentHandlerForThread = [[self alloc] init]) != NULL)) {
|
||||
[[[NSThread currentThread] threadDictionary]
|
||||
setObject: currentHandlerForThread
|
||||
forKey: [self className]];
|
||||
}
|
||||
|
||||
return (currentHandlerForThread);
|
||||
}
|
||||
|
||||
- (void) handleFailureInMethod: (SEL) selector
|
||||
object: (id) object
|
||||
file: (NSString *) fileName
|
||||
lineNumber: (NSInteger) line
|
||||
description: (NSString *) format, ...
|
||||
{
|
||||
NSLog(@"*** Assertion failure in %c[%@ %@], %@:%ld",
|
||||
(object == [object class]) ? '+' : '-', [object className],
|
||||
NSStringFromSelector(selector), fileName, (long) line);
|
||||
|
||||
va_list arguments;
|
||||
va_start(arguments, format);
|
||||
[NSException raise: NSInternalInconsistencyException
|
||||
format: format
|
||||
arguments: arguments];
|
||||
va_end(arguments);
|
||||
}
|
||||
|
||||
- (void) handleFailureInFunction: (NSString *) functionName
|
||||
file: (NSString *) fileName
|
||||
lineNumber: (NSInteger) line
|
||||
description: (NSString *) format, ...
|
||||
{
|
||||
NSLog(@"*** Assertion failure in %@, %@:%ld", functionName, fileName,
|
||||
(long) line);
|
||||
|
||||
va_list arguments;
|
||||
va_start(arguments, format);
|
||||
[NSException raise: NSInternalInconsistencyException
|
||||
format: format
|
||||
arguments: arguments];
|
||||
va_end(arguments);
|
||||
}
|
||||
|
||||
@end
|
@ -1,6 +0,0 @@
|
||||
|
||||
#if COCOTRON_USE_NONATOMIC_COMPARE_AND_SWAP
|
||||
#warning __sync_bool_compare_and_swap is nonatomic. Do not use more than one thread!
|
||||
#define __sync_bool_compare_and_swap(pointer, a, b, ...) \
|
||||
((*pointer == a) ? (*pointer = b), 1 : 0)
|
||||
#endif
|
@ -1,51 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSRange.h>
|
||||
|
||||
@class NSDictionary;
|
||||
|
||||
@interface NSAttributedString : NSObject <NSCopying, NSCoding, NSMutableCopying>
|
||||
|
||||
- initWithString: (NSString *) string;
|
||||
- initWithString: (NSString *) string attributes: (NSDictionary *) attributes;
|
||||
- initWithAttributedString: (NSAttributedString *) other;
|
||||
|
||||
- (BOOL) isEqualToAttributedString: (NSAttributedString *) other;
|
||||
|
||||
- (NSUInteger) length;
|
||||
- (NSString *) string;
|
||||
|
||||
- (NSDictionary *) attributesAtIndex: (NSUInteger) location
|
||||
effectiveRange: (NSRange *) range;
|
||||
- (NSDictionary *) attributesAtIndex: (NSUInteger) location
|
||||
longestEffectiveRange: (NSRange *) range
|
||||
inRange: (NSRange) inRange;
|
||||
|
||||
- attribute: (NSString *) name
|
||||
atIndex: (NSUInteger) location
|
||||
effectiveRange: (NSRange *) range;
|
||||
- attribute: (NSString *) name
|
||||
atIndex: (NSUInteger) location
|
||||
longestEffectiveRange: (NSRange *) range
|
||||
inRange: (NSRange) inRange;
|
||||
|
||||
- (NSAttributedString *) attributedSubstringFromRange: (NSRange) range;
|
||||
|
||||
@end
|
@ -1,215 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
// Original - Christopher Lloyd <cjwl@objc.net>
|
||||
#import <Foundation/NSAttributedString.h>
|
||||
#import <Foundation/NSAttributedString_placeholder.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSMutableAttributedString.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSString.h>
|
||||
|
||||
@implementation NSAttributedString
|
||||
|
||||
+ allocWithZone: (NSZone *) zone {
|
||||
if (self == [NSAttributedString class])
|
||||
return NSAllocateObject([NSAttributedString_placeholder class], 0,
|
||||
NULL);
|
||||
|
||||
return NSAllocateObject(self, 0, zone);
|
||||
}
|
||||
|
||||
- init {
|
||||
return [self initWithString: @""];
|
||||
}
|
||||
|
||||
- initWithString: (NSString *) string {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- initWithString: (NSString *) string attributes: (NSDictionary *) attributes {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- initWithAttributedString: (NSAttributedString *) other {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void) encodeWithCoder: (NSCoder *) coder {
|
||||
NSUnimplementedMethod();
|
||||
}
|
||||
|
||||
- initWithCoder: (NSCoder *) coder {
|
||||
NSUnimplementedMethod();
|
||||
return self;
|
||||
}
|
||||
|
||||
- copy {
|
||||
return [self retain];
|
||||
}
|
||||
|
||||
- copyWithZone: (NSZone *) zone {
|
||||
return [self retain];
|
||||
}
|
||||
|
||||
- mutableCopy {
|
||||
return [[NSMutableAttributedString allocWithZone: NULL]
|
||||
initWithAttributedString: self];
|
||||
}
|
||||
|
||||
- mutableCopyWithZone: (NSZone *) zone {
|
||||
return [[NSMutableAttributedString allocWithZone: zone]
|
||||
initWithAttributedString: self];
|
||||
}
|
||||
|
||||
- (BOOL) isEqualToAttributedString: (NSAttributedString *) other {
|
||||
if ([self length] != [other length]) {
|
||||
return NO;
|
||||
}
|
||||
unsigned i = 0;
|
||||
NSString *string = [self string];
|
||||
NSString *otherString = [other string];
|
||||
if (![string isEqualToString: otherString]) {
|
||||
return NO;
|
||||
}
|
||||
unsigned length = [self length];
|
||||
NSRange range;
|
||||
while (i < length) {
|
||||
NSDictionary *attributes = [self attributesAtIndex: i
|
||||
effectiveRange: &range];
|
||||
NSRange otherRange;
|
||||
NSDictionary *otherAttributes = [other attributesAtIndex: i
|
||||
effectiveRange: &otherRange];
|
||||
if (![attributes isEqualToDictionary: otherAttributes]) {
|
||||
return NO;
|
||||
}
|
||||
i = MIN(NSMaxRange(range), NSMaxRange(otherRange));
|
||||
}
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (NSUInteger) hash {
|
||||
return [[self string] hash];
|
||||
}
|
||||
|
||||
- (BOOL) isEqual: (id) other {
|
||||
if (self == other) {
|
||||
return YES;
|
||||
}
|
||||
if ([other isKindOfClass: [NSAttributedString class]]) {
|
||||
return [self isEqualToAttributedString: other];
|
||||
}
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (NSUInteger) length {
|
||||
return [[self string] length];
|
||||
}
|
||||
|
||||
- (NSString *) string {
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSDictionary *) attributesAtIndex: (NSUInteger) location
|
||||
effectiveRange: (NSRange *) range
|
||||
{
|
||||
NSInvalidAbstractInvocation();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSDictionary *) attributesAtIndex: (NSUInteger) location
|
||||
longestEffectiveRange: (NSRange *) range
|
||||
inRange: (NSRange) inRange
|
||||
{
|
||||
NSUnimplementedMethod();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- attribute: (NSString *) name
|
||||
atIndex: (NSUInteger) location
|
||||
effectiveRange: (NSRange *) range
|
||||
{
|
||||
return [[self attributesAtIndex: location
|
||||
effectiveRange: range] objectForKey: name];
|
||||
}
|
||||
|
||||
- attribute: (NSString *) name
|
||||
atIndex: (NSUInteger) location
|
||||
longestEffectiveRange: (NSRange *) range
|
||||
inRange: (NSRange) inRange
|
||||
{
|
||||
NSUnimplementedMethod();
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (NSAttributedString *) attributedSubstringFromRange: (NSRange) range {
|
||||
NSMutableAttributedString *result =
|
||||
[[[NSMutableAttributedString allocWithZone: NULL] init]
|
||||
autorelease];
|
||||
NSUInteger location = range.location;
|
||||
NSUInteger limit = MIN(NSMaxRange(range), [self length]);
|
||||
|
||||
while (location < limit) {
|
||||
NSRange effectiveRange, appendedRange;
|
||||
NSDictionary *attributes = [self attributesAtIndex: location
|
||||
effectiveRange: &effectiveRange];
|
||||
|
||||
if (effectiveRange.location < location) {
|
||||
effectiveRange.length = NSMaxRange(effectiveRange) - location;
|
||||
effectiveRange.location = location;
|
||||
}
|
||||
if (NSMaxRange(effectiveRange) > limit)
|
||||
effectiveRange.length = limit - effectiveRange.location;
|
||||
|
||||
appendedRange.location = [result length];
|
||||
appendedRange.length = effectiveRange.length;
|
||||
[[result mutableString]
|
||||
appendString: [[self string]
|
||||
substringWithRange: effectiveRange]];
|
||||
[result setAttributes: attributes range: appendedRange];
|
||||
|
||||
location = NSMaxRange(effectiveRange);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSString *) description {
|
||||
if ([self length] > 0) {
|
||||
NSMutableString *result = [NSMutableString string];
|
||||
unsigned length = [self length];
|
||||
int i = 0;
|
||||
while (i < length) {
|
||||
NSRange range;
|
||||
NSDictionary *attributes = [self attributesAtIndex: i
|
||||
effectiveRange: &range];
|
||||
NSString *string = [[self string] substringWithRange: range];
|
||||
[result appendFormat: @"%@ {\n%@\n}\n", string, attributes];
|
||||
i = NSMaxRange(range);
|
||||
}
|
||||
return result;
|
||||
} else {
|
||||
return [NSString stringWithFormat: @"%@ {}", [self string]];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
@ -1,28 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSAttributedString.h>
|
||||
#import <Foundation/NSRangeEntries.h>
|
||||
|
||||
@interface NSAttributedString_manyAttributes : NSAttributedString {
|
||||
NSString *_string;
|
||||
NSRangeEntries *_rangeToAttributes;
|
||||
}
|
||||
|
||||
@end
|
@ -1,77 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import "NSAttributedString_manyAttributes.h"
|
||||
#import <Foundation/NSArray.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
|
||||
@implementation NSAttributedString_manyAttributes
|
||||
|
||||
- initWithAttributedString: (NSAttributedString *) other {
|
||||
NSUInteger location = 0;
|
||||
NSUInteger limit = [other length];
|
||||
|
||||
_string = [[other string] copy];
|
||||
_rangeToAttributes = NSCreateRangeToCopiedObjectEntries(0);
|
||||
|
||||
while (location < limit) {
|
||||
NSRange effectiveRange;
|
||||
NSDictionary *attributes = [other attributesAtIndex: location
|
||||
effectiveRange: &effectiveRange];
|
||||
|
||||
NSRangeEntryInsert(_rangeToAttributes, effectiveRange, attributes);
|
||||
|
||||
location = NSMaxRange(effectiveRange);
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
[_string release];
|
||||
NSFreeRangeEntries(_rangeToAttributes);
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSString *) string {
|
||||
return _string;
|
||||
}
|
||||
|
||||
- (NSDictionary *) attributesAtIndex: (NSUInteger) location
|
||||
effectiveRange: (NSRange *) effectiveRangep
|
||||
{
|
||||
NSDictionary *result;
|
||||
|
||||
if (location >= [self length])
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond length %d", location, [self length]);
|
||||
|
||||
if ((result = NSRangeEntryAtIndex(_rangeToAttributes, location,
|
||||
effectiveRangep)) == nil)
|
||||
result = [NSDictionary dictionary];
|
||||
|
||||
if (effectiveRangep != NULL && effectiveRangep->length == NSNotFound)
|
||||
effectiveRangep->length = [self length] - effectiveRangep->location;
|
||||
|
||||
return [[result retain] autorelease];
|
||||
}
|
||||
|
||||
@end
|
@ -1,26 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSAttributedString.h>
|
||||
|
||||
@interface NSAttributedString_nilAttributes : NSAttributedString {
|
||||
NSString *_string;
|
||||
}
|
||||
|
||||
@end
|
@ -1,55 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
// Original - Christopher Lloyd <cjwl@objc.net>
|
||||
#import <Foundation/NSAttributedString_nilAttributes.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
|
||||
@implementation NSAttributedString_nilAttributes
|
||||
|
||||
- (NSString *) string {
|
||||
return _string;
|
||||
}
|
||||
|
||||
- (NSDictionary *) attributesAtIndex: (NSUInteger) location
|
||||
effectiveRange: (NSRange *) effectiveRangep
|
||||
{
|
||||
if (location >= [self length])
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond length %d", location, [self length]);
|
||||
|
||||
if (effectiveRangep != NULL)
|
||||
*effectiveRangep = NSMakeRange(0, [_string length]);
|
||||
|
||||
return [NSDictionary dictionary];
|
||||
}
|
||||
|
||||
- initWithString: (NSString *) string {
|
||||
_string = [string copy];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
[_string release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
@ -1,27 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSAttributedString.h>
|
||||
|
||||
@interface NSAttributedString_oneAttribute : NSAttributedString {
|
||||
NSString *_string;
|
||||
NSDictionary *_attributes;
|
||||
}
|
||||
|
||||
@end
|
@ -1,58 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
// Original - Christopher Lloyd <cjwl@objc.net>
|
||||
#import <Foundation/NSAttributedString_oneAttribute.h>
|
||||
#import <Foundation/NSDictionary.h>
|
||||
#import <Foundation/NSRaise.h>
|
||||
#import <Foundation/NSRaiseException.h>
|
||||
#import <Foundation/NSString.h>
|
||||
|
||||
@implementation NSAttributedString_oneAttribute
|
||||
|
||||
- (NSString *) string {
|
||||
return _string;
|
||||
}
|
||||
|
||||
- (NSDictionary *) attributesAtIndex: (NSUInteger) location
|
||||
effectiveRange: (NSRange *) range
|
||||
{
|
||||
if (location >= [self length])
|
||||
NSRaiseException(NSRangeException, self, _cmd,
|
||||
@"index %d beyond length %d", location, [self length]);
|
||||
|
||||
if (range != NULL)
|
||||
*range = NSMakeRange(0, [_string length]);
|
||||
|
||||
return [[_attributes retain] autorelease];
|
||||
}
|
||||
|
||||
- initWithString: (NSString *) string attributes: (NSDictionary *) attributes {
|
||||
_string = [string copy];
|
||||
_attributes = [attributes copy];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
[_string release];
|
||||
[_attributes release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
@ -1,24 +0,0 @@
|
||||
/* Copyright (c) 2006-2007 Christopher J. W. Lloyd
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
|
||||
#import <Foundation/NSAttributedString.h>
|
||||
|
||||
@interface NSAttributedString_placeholder : NSAttributedString
|
||||
|
||||
@end
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user