diff options
author | rowanbeentje <rowan@beent.je> | 2012-02-23 02:13:56 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2012-02-23 02:13:56 +0000 |
commit | 05f1612cbb7e33cf9135a346fc2505cc0e87e853 (patch) | |
tree | 785824be4e44a61389271343d958851fa4ff7dd0 /Frameworks/MCPKit/MCPEntrepriseKit/MCPRelation.h | |
parent | a889340b9cb1eca0d3ff022e8e6e2c718480bf44 (diff) | |
download | sequelpro-05f1612cbb7e33cf9135a346fc2505cc0e87e853.tar.gz sequelpro-05f1612cbb7e33cf9135a346fc2505cc0e87e853.tar.bz2 sequelpro-05f1612cbb7e33cf9135a346fc2505cc0e87e853.zip |
Warning: this branch commit is largely untested, and known to throw exceptions as database structure retrieval is currently missing!
Further work on SPMySQLFramework integration:
- Improve SPMySQL framework build settings including correct ppc builds and a Distribution configuration for the build distributions to match
- Add new convenience querying and result methods to the framework
- Amend Sequel Pro source to use the new SPMySQL.framework methods everywhere, replacing MCPKit methods where they differ and improving some functions
- Remove MCPKit from the source
- Fix a number of warnings on Release-style builds
Diffstat (limited to 'Frameworks/MCPKit/MCPEntrepriseKit/MCPRelation.h')
-rw-r--r-- | Frameworks/MCPKit/MCPEntrepriseKit/MCPRelation.h | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/Frameworks/MCPKit/MCPEntrepriseKit/MCPRelation.h b/Frameworks/MCPKit/MCPEntrepriseKit/MCPRelation.h deleted file mode 100644 index 118734eb..00000000 --- a/Frameworks/MCPKit/MCPEntrepriseKit/MCPRelation.h +++ /dev/null @@ -1,112 +0,0 @@ -// -// $Id$ -// -// MCPRelation.h -// MCPKit -// -// Created by Serge Cohen (serge.cohen@m4x.org) on 11/08/04. -// Copyright (c) 2004 Serge Cohen. All rights reserved. -// -// Forked by the Sequel Pro team (sequelpro.com), April 2009 -// -// 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, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// More info at <http://mysql-cocoa.sourceforge.net/> -// More info at <http://code.google.com/p/sequel-pro/> - -#import <Foundation/Foundation.h> - -@class MCPModel; -@class MCPClassDescription; -@class MCPAttribute; -@class MCPJoin; - -typedef enum { - OnDeleteNullify = 1, - OnDeleteDeny = 2, - OnDeleteCascade = 3, - OnDeleteDefault = 4, - OnDeleteNoAction = 5 -} MCPRelationDeleteRule; - -@interface MCPRelation : NSObject <NSCoding> -{ -@protected - NSString *name; // Name of the relation - MCPRelationDeleteRule deleteRule; // Delete rule : what to do of the destination when origin is deleted - MCPRelation *inverseRelation; // The inverse relation (or nil if no inverse present) - MCPClassDescription *origin; // The class description from which the relation originate - MCPClassDescription *destination; // The class description to which the relation arrives - NSMutableArray *joins; // Joining attributes (array of MCPJoin) - BOOL isToMany; // Is the relation to many (or to one) - BOOL isMandatory; // Is the relation mandatory for the class description (origin) - BOOL ownsDestination; // The origin class description owns the destination class description(ies) -} - -#pragma mark Class methods -+ (void) initialize; - -+ (NSArray *) existingDeleteRules; -- (NSArray *) existingDeleteRules; - -#pragma mark Life cycle -- (id) initWithName:(NSString *) iName from:(MCPClassDescription *) iFrom to:(MCPClassDescription *) iTo; -- (void) invalidateRelation; -- (void) dealloc; - -#pragma mark NSCoding protocol -- (id) initWithCoder:(NSCoder *) decoder; -- (void) encodeWithCoder:(NSCoder *) encoder; - -#pragma mark Managing joins -//- (MCPJoin *) addNewJoin; -- (MCPJoin *) addJoinFrom:(MCPAttribute *) iFrom to:(MCPAttribute *) iTo; -- (void) removeJoinFrom:(MCPAttribute *) iFrom to:(MCPAttribute *) iTo; -//- (void) unjoinAttribute:(MCPAttribute *) iAttribute; - -#pragma mark Setters -- (void) setDestination:(MCPClassDescription *) iDestination; -- (void) setName:(NSString *) iName; -- (void) setDeleteRule:(MCPRelationDeleteRule) iDeleteRule; -- (void) setInverseRelation:(MCPRelation *) iInverseRelation; -- (void) insertObject:(MCPJoin *) iJoin inJoinsAtIndex:(NSUInteger) index; -- (void) removeObjectFromJoinsAtIndex:(NSUInteger) index; -- (void) setIsToMany:(BOOL) iIsToMany; -- (void) setIsMandatory:(BOOL) iIsMandatory; -- (void) setOwnsDestintation:(BOOL) iOwnsDestination; - -#pragma mark Getters -- (NSString *) name; -- (MCPRelationDeleteRule) deleteRule; -- (MCPRelation *) inverseRelation; -- (MCPClassDescription *) origin; -- (MCPClassDescription *) destination; -- (NSArray *) joins; -- (NSUInteger) countOfJoins; -- (MCPJoin *) objectInJoinsAtIndex:(NSUInteger) index; -- (NSUInteger) indexOfJoinIdenticalTo:(id) iJoin; -- (BOOL) isToMany; -- (BOOL) isMandatory; -- (BOOL) ownsDestination; - -#pragma mark Some Usefull methods -- (MCPAttribute *) destinationAttributeForOrigin:(MCPAttribute *) iFrom; -- (MCPAttribute *) originAttributeForDestination:(MCPAttribute *) iTo; - -#pragma mark Some general methods: -- (BOOL) isEqual:(id) iObject; -- (NSString *) descriptionWithLocale:(NSDictionary *) locale; - -@end |