aboutsummaryrefslogtreecommitdiffstats
path: root/Frameworks/PostgresKit/Source/FLXPostgresConnectionEncoding.m
diff options
context:
space:
mode:
authorstuconnolly <stuart02@gmail.com>2012-09-26 07:23:08 +0000
committerstuconnolly <stuart02@gmail.com>2012-09-26 07:23:08 +0000
commit88263061eb326e58fe882bc91d09f52d3d49628d (patch)
treef16453cd3bc0afc429b7592a46a84196e775933d /Frameworks/PostgresKit/Source/FLXPostgresConnectionEncoding.m
parent9e0da1ad71ea178867a8d3419f80a46b42c32d4c (diff)
downloadsequelpro-88263061eb326e58fe882bc91d09f52d3d49628d.tar.gz
sequelpro-88263061eb326e58fe882bc91d09f52d3d49628d.tar.bz2
sequelpro-88263061eb326e58fe882bc91d09f52d3d49628d.zip
Change project prefix.
Diffstat (limited to 'Frameworks/PostgresKit/Source/FLXPostgresConnectionEncoding.m')
-rw-r--r--Frameworks/PostgresKit/Source/FLXPostgresConnectionEncoding.m197
1 files changed, 0 insertions, 197 deletions
diff --git a/Frameworks/PostgresKit/Source/FLXPostgresConnectionEncoding.m b/Frameworks/PostgresKit/Source/FLXPostgresConnectionEncoding.m
deleted file mode 100644
index a58de60b..00000000
--- a/Frameworks/PostgresKit/Source/FLXPostgresConnectionEncoding.m
+++ /dev/null
@@ -1,197 +0,0 @@
-//
-// $Id$
-//
-// FLXPostgresConnectionEncoding.m
-// PostgresKit
-//
-// Created by Stuart Connolly (stuconnolly.com) on August 4, 2012.
-// Copyright (c) 2012 Stuart Connolly. All rights reserved.
-//
-// 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 "FLXPostgresConnectionEncoding.h"
-#import "FLXPostgresKitPrivateAPI.h"
-
-@implementation FLXPostgresConnection (FLXPostgresConnectionEncoding)
-
-/**
- * Set the current connection's encoding.
- *
- * @param encoding The name of the encoding to use.
- *
- * @return A BOOL indicating the success of the operation. NO means there was either no connection or the
- * encoding name wasn't recognised by the server.
- */
-- (BOOL)setEncoding:(NSString *)encoding
-{
- if (![self isConnected]) return NO;
-
- if ([_encoding isEqualToString:encoding]) return YES;
-
- if (PQsetClientEncoding(_connection, [encoding UTF8String]) != 0) return NO;
-
- [_encoding release], _encoding = [[NSString alloc] initWithString:encoding];
-
- _stringEncoding = [FLXPostgresConnection stringEncodingForPostgreSQLCharset:[encoding UTF8String]];
-
- return YES;
-}
-
-/**
- * Translates the supplied encoding name to it's corresponding string encoding identifier.
- *
- * @param charset The character set as a char array.
- *
- * @return The string encoding identifier.
- */
-+ (NSStringEncoding)stringEncodingForPostgreSQLCharset:(const char *)charset
-{
- if (!strcmp(charset, "UNICODE") || !strcmp(charset, "MULE_INTERNAL")) {
- return NSUTF8StringEncoding;
- }
- else if (!strcmp(charset, "LATIN1")) {
- return NSISOLatin1StringEncoding;
- }
- else if (!strcmp(charset, "LATIN2")) {
- return NSISOLatin2StringEncoding;
- }
- else if (!strcmp(charset, "LATIN3")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin3);
- }
- else if (!strcmp(charset, "LATIN4")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin4);
- }
- else if (!strcmp(charset, "LATIN5")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin5);
- }
- else if (!strcmp(charset, "LATIN6")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin6);
- }
- else if (!strcmp(charset, "LATIN7")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin7);
- }
- else if (!strcmp(charset, "LATIN8")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin8);
- }
- else if (!strcmp(charset, "LATIN9")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin9);
- }
- else if (!strcmp(charset, "LATIN10")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatin10);
- }
- else if (!strcmp(charset, "SQL_ASCII")) {
- return NSASCIIStringEncoding;
- }
- else if (!strcmp(charset, "EUC_JP")) {
- return NSJapaneseEUCStringEncoding;
- }
- else if (!strcmp(charset, "EUC_CN")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingEUC_CN);
- }
- else if (!strcmp(charset, "EUC_KR")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingEUC_KR);
- }
- else if (!strcmp(charset, "JOHAB")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingWindowsKoreanJohab);
- }
- else if (!strcmp(charset, "EUC_TW")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingEUC_TW);
- }
- else if (!strcmp(charset, "ISO_8859_5")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatinCyrillic);
- }
- else if (!strcmp(charset, "ISO_8859_6")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatinArabic);
- }
- else if (!strcmp(charset, "ISO_8859_7")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatinGreek);
- }
- else if (!strcmp(charset, "ISO_8859_8")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingISOLatinHebrew);
- }
- else if (!strcmp(charset, "KOI8")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingKOI8_R);
- }
- else if (!strcmp(charset, "ALT")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSRussian);
- }
- else if (!strcmp(charset, "WIN")) {
- return NSWindowsCP1251StringEncoding;
- }
- else if (!strcmp(charset, "WIN1256")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingWindowsArabic);
- }
- else if (!strcmp(charset, "TCVN")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingWindowsVietnamese);
- }
- else if (!strcmp(charset, "WIN874")) {
- return CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSThai);
- }
-
- NSLog(@"PostgresKit: Warning: Unable to process unknown PostgreSQL encoding '%s'; falling back to UTF8.", charset);
-
- return FLXPostgresConnectionDefaultStringEncoding;
-}
-
-/**
- * Translates the supplied encoding identifier to it's corresponding encoding name.
- *
- * @param stringEncoding The string encoding to translate
- *
- * @return The encoding name as a string or nil if there's no mapping.
- */
-+ (NSString *)postgreSQLCharsetForStringEncoding:(NSStringEncoding)stringEncoding
-{
- switch (stringEncoding)
- {
- case NSASCIIStringEncoding:
- return @"SQL_ASCII";
-
- case NSJapaneseEUCStringEncoding:
- return @"EUC_JP";
-
- case NSUTF8StringEncoding:
- case NSNonLossyASCIIStringEncoding:
- return @"UNICODE";
-
- case NSISOLatin1StringEncoding:
- case NSWindowsCP1252StringEncoding:
- return @"LATIN1";
-
- case NSISOLatin2StringEncoding:
- case NSWindowsCP1250StringEncoding:
- return @"LATIN2";
-
- case NSWindowsCP1251StringEncoding:
- return @"WIN";
-
- case NSWindowsCP1253StringEncoding:
- return @"ISO_8859_7";
-
- case NSWindowsCP1254StringEncoding:
- return @"LATIN5";
- }
-
- return nil;
-}
-
-@end