summaryrefslogtreecommitdiff
path: root/src/linux/Preambles+Storage.m
diff options
context:
space:
mode:
Diffstat (limited to 'src/linux/Preambles+Storage.m')
-rw-r--r--src/linux/Preambles+Storage.m84
1 files changed, 0 insertions, 84 deletions
diff --git a/src/linux/Preambles+Storage.m b/src/linux/Preambles+Storage.m
deleted file mode 100644
index bd3ea03..0000000
--- a/src/linux/Preambles+Storage.m
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2011 Alex Merry <dev@randomguy3.me.uk>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#import "Preambles+Storage.h"
-
-static NSString *ext = @"preamble";
-
-@implementation Preambles (Storage)
-
-+ (Preambles*) preamblesFromDirectory:(NSString*)directory {
- return [[[self alloc] initFromDirectory:directory] autorelease];
-}
-
-- (id) initFromDirectory:(NSString*)directory {
- BOOL isDir = NO;
- if ([[NSFileManager defaultManager] fileExistsAtPath:directory isDirectory:&isDir] && isDir) {
- self = [super init];
-
- if (self) {
- selectedPreambleName = @"default";
- preambleDict = nil;
- [self loadFromDirectory:directory];
- }
- } else {
- self = [self init];
- }
-
- return self;
-}
-
-- (void) loadFromDirectory:(NSString*)directory {
- preambleDict = [[NSMutableDictionary alloc] initWithCapacity:1];
- NSDirectoryEnumerator *en = [[NSFileManager defaultManager] enumeratorAtPath:directory];
- NSString *filename;
- while ((filename = [en nextObject]) != nil) {
- if ([filename hasSuffix:ext] && [[en fileAttributes] fileType] == NSFileTypeRegular) {
- NSString *path = [directory stringByAppendingPathComponent:filename];
- NSString *contents = [NSString stringWithContentsOfFile:path];
- if (contents) {
- [preambleDict setObject:contents forKey:[filename stringByDeletingPathExtension]];
- }
- }
- }
-}
-
-- (void) storeToDirectory:(NSString*)directory {
- NSDirectoryEnumerator *den = [[NSFileManager defaultManager] enumeratorAtPath:directory];
- NSString *filename;
- while ((filename = [den nextObject]) != nil) {
- if ([filename hasSuffix:ext] && [[den fileAttributes] fileType] == NSFileTypeRegular) {
- NSString *path = [directory stringByAppendingPathComponent:filename];
- NSString *entry = [filename stringByDeletingPathExtension];
- if ([preambleDict objectForKey:entry] == nil) {
- [[NSFileManager defaultManager] removeFileAtPath:path handler:nil];
- }
- }
- }
-
- NSEnumerator *en = [self customPreambleNameEnumerator];
- NSString *entry;
- while ((entry = [en nextObject]) != nil) {
- NSString *path = [directory stringByAppendingPathComponent:[entry stringByAppendingPathExtension:ext]];
- NSString *contents = [preambleDict objectForKey:entry];
- [contents writeToFile:path atomically:YES];
- }
-}
-
-@end
-
-// vim:ft=objc:ts=8:et:sts=4:sw=4