From b3ca8c8b23b9815683c570a62e629cbf399ddfb5 Mon Sep 17 00:00:00 2001 From: Gregory John Casamento Date: Mon, 3 Jul 2023 12:25:50 -0400 Subject: [PATCH] Add ArgPair to GNUmakefile and separate it from the AppDelegate.m file --- Tools/gormtool/AppDelegate.m | 67 +---------------------------- Tools/gormtool/ArgPair.h | 46 ++++++++++++++++++++ Tools/gormtool/ArgPair.m | 81 ++++++++++++++++++++++++++++++++++++ Tools/gormtool/GNUmakefile | 2 + 4 files changed, 130 insertions(+), 66 deletions(-) create mode 100644 Tools/gormtool/ArgPair.h create mode 100644 Tools/gormtool/ArgPair.m diff --git a/Tools/gormtool/AppDelegate.m b/Tools/gormtool/AppDelegate.m index 1a7bf325..17641b1e 100644 --- a/Tools/gormtool/AppDelegate.m +++ b/Tools/gormtool/AppDelegate.m @@ -23,75 +23,10 @@ * USA. */ +#import "ArgPair.h" #import "GormToolPrivate.h" #import "AppDelegate.h" -@interface ArgPair : NSObject -{ - NSString *_argument; - NSString *_value; -} - -- (void) setArgument: (NSString *)arg; -- (NSString *) argument; - -- (void) setValue: (NSString *)val; -- (NSString *) value; -@end - -@implementation ArgPair - -- (id) init -{ - self = [super init]; - if (self != nil) - { - _argument = nil; - _value = nil; - } - return self; -} - -- (void) dealloc -{ - RELEASE(_argument); - RELEASE(_value); - - [super dealloc]; -} - -- (void) setArgument: (NSString *)arg -{ - ASSIGN(_argument, arg); -} - -- (NSString *) argument -{ - return _argument; -} - -- (void) setValue: (NSString *)val -{ - ASSIGN(_value, val); -} - -- (NSString *) value -{ - return _value; -} - -- (id) copyWithZone: (NSZone *)z -{ - id obj = [[[self class] allocWithZone: z] init]; - - [obj setArgument: _argument]; - [obj setValue: _value]; - - return obj; -} - -@end - // AppDelegate... @implementation AppDelegate diff --git a/Tools/gormtool/ArgPair.h b/Tools/gormtool/ArgPair.h new file mode 100644 index 00000000..319153e7 --- /dev/null +++ b/Tools/gormtool/ArgPair.h @@ -0,0 +1,46 @@ +/* ArgPair.h + * + * Copyright (C) 2023 Free Software Foundation, Inc. + * + * Author: Gregory John Casamento + * Date: 2023 + * + * This file is part of GNUstep. + * + * 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 3 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 + * USA. + */ + +#ifndef INCLUDE_ArgPair_H +#define INCLUDE_ArgPair_H + +#import + +@class NSString; + +@interface ArgPair : NSObject +{ + NSString *_argument; + NSString *_value; +} + +- (void) setArgument: (NSString *)arg; +- (NSString *) argument; + +- (void) setValue: (NSString *)val; +- (NSString *) value; +@end + +#endif // INCLUDE_ArgPair_H diff --git a/Tools/gormtool/ArgPair.m b/Tools/gormtool/ArgPair.m new file mode 100644 index 00000000..62351e99 --- /dev/null +++ b/Tools/gormtool/ArgPair.m @@ -0,0 +1,81 @@ +/* AppDelegate.m + * + * Copyright (C) 2023 Free Software Foundation, Inc. + * + * Author: Gregory John Casamento + * Date: 2023 + * + * This file is part of GNUstep. + * + * 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 3 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, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111 + * USA. + */ + +#import + +#import "ArgPair.h" + +@implementation ArgPair + +- (id) init +{ + self = [super init]; + if (self != nil) + { + _argument = nil; + _value = nil; + } + return self; +} + +- (void) dealloc +{ + RELEASE(_argument); + RELEASE(_value); + + [super dealloc]; +} + +- (void) setArgument: (NSString *)arg +{ + ASSIGN(_argument, arg); +} + +- (NSString *) argument +{ + return _argument; +} + +- (void) setValue: (NSString *)val +{ + ASSIGN(_value, val); +} + +- (NSString *) value +{ + return _value; +} + +- (id) copyWithZone: (NSZone *)z +{ + id obj = [[[self class] allocWithZone: z] init]; + + [obj setArgument: _argument]; + [obj setValue: _value]; + + return obj; +} + +@end diff --git a/Tools/gormtool/GNUmakefile b/Tools/gormtool/GNUmakefile index 84e86b6d..1493d55c 100644 --- a/Tools/gormtool/GNUmakefile +++ b/Tools/gormtool/GNUmakefile @@ -9,10 +9,12 @@ TOOL_NAME = gormtool gormtool_HEADER_FILES = AppDelegate.h \ GormToolPrivate.h \ + ArgPair.h gormtool_OBJC_FILES = main.m \ AppDelegate.m \ GormToolPrivate.m \ + ArgPair.m -include GNUmakefile.preamble