1/* 2 Copyright (C) 2000-2005 SKYRIX Software AG 3 4 This file is part of SOPE. 5 6 SOPE is free software; you can redistribute it and/or modify it under 7 the terms of the GNU Lesser General Public License as published by the 8 Free Software Foundation; either version 2, or (at your option) any 9 later version. 10 11 SOPE is distributed in the hope that it will be useful, but WITHOUT ANY 12 WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 14 License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with SOPE; see the file COPYING. If not, write to the 18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 19 02111-1307, USA. 20*/ 21 22#include <EOControl/EODataSource.h> 23#include <EOControl/EOClassDescription.h> 24#include "common.h" 25 26@implementation EODataSource 27 28/* reflection */ 29 30- (EOClassDescription *)classDescriptionForObjects { 31 return nil; 32} 33 34/* master-detail */ 35 36- (EODataSource *)dataSourceQualifiedByKey:(NSString *)_relKey { 37 [NSException raise:@"NSInvalidArgumentException" 38 format:@"datasource %@ can't return a ds qualified by key '%@'", 39 self, _relKey]; 40 return nil; 41} 42 43- (void)qualifyWithRelationshipKey:(NSString *)_relKey ofObject:(id)_object { 44 [NSException raise:@"NSInvalidArgumentException" 45 format:@"datasource %@ can't qualify by key '%@' of object %@", 46 self, _relKey, _object]; 47} 48 49/* operations */ 50 51- (NSArray *)fetchObjects { 52 return nil; 53} 54- (NSEnumerator *)fetchEnumerator { 55 return [[self fetchObjects] objectEnumerator]; 56} 57 58- (void)deleteObject:(id)_object { 59 [NSException raise:@"NSInvalidArgumentException" 60 format:@"datasource %@ can't delete object %@", 61 self, _object]; 62} 63 64- (void)insertObject:(id)_object { 65 [NSException raise:@"NSInvalidArgumentException" 66 format:@"datasource %@ can't insert object %@", 67 self, _object]; 68} 69 70- (id)createObject { 71 EOClassDescription *cd; 72 73 if ((cd = [self classDescriptionForObjects]) == nil) 74 return nil; 75 76 return [cd createInstanceWithEditingContext:nil globalID:nil zone:NULL]; 77} 78 79@end /* EODataSource */ 80