* EOControl/GNUmakefile: Simplify documentation declarations.

* EOAccess/GNUmakefile: Ditto.
	* EOInterface/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto.

	* common.make (ADDITIONAL_LIB_DIRS): Move handling from here...
	* variable-processing.make: ... to new file.
	* EOControl/GNUmakefile: Use variable-processing.make.
	Include common.make early.
	* EOAccess/GNUmakefile: Ditto.
	* EOInterface/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto. 
	* DBModeler/GNUmakefile: Ditto.
	* EOModeler/GNUmakefile: Ditto.
	* GDL2Palette/GNUmakefile: Ditto.
	
	* EOControl/EOFetchSpecification.h/m: Cleanup for documentation
	generation.
	* EOControl/EOGenericRecord.m: Ditto.
	* EOControl/EOClassDescription.h/m: Ditto.	
	* EOControl/EONSAddOns.m: Ditto.
	* EOControl/EOObjectStore.h: Ditto.
	* EOControl/EOEditingContext.h: Ditto.
	* EOControl/EODataSource.m: Ditto.
	* EOControl/EOKeyValueArchiver.h/m: Ditto.
	* EOControl/EOFault.h/m: Ditto.
	* EOControl/EOObserver.h: Ditto.
	* EOControl/EOEventCenter.m: Ditto.
	* EOControl/EOMultiReaderLock.m: Ditto.
	* EOControl/EOKeyGlobalID.h/m: Ditto.
	* EOControl/EOObserver.m: Ditto.
	* EOControl/EOEvent.m: Ditto.
	* EOControl/EOObjectStoreCoordinator.h: Ditto.
	* EOControl/EODeprecated.h: Ditto.
	* EOControl/EOUndoManager.m: Ditto.
	* EOControl/EOKeyValueCoding.h/m: Ditto.
	* EOControl/EOQualifier.h: Ditto.
	
	* EOControl/EOClassDescription.h/m (editingContext): Remove
	duplicate declartion and definition (see EOEditingContext.h/m)
	* EOControl/EOFetchSpecification.h (EOPrefetchingRelationshipHintKey)
	(EOFetchLimitHintKey, EOPromptsAfterFetchLimitHintKey): Remove
	deprecated declarations.
	
	* EOAccess/EOAttribute.m: Cleanup for documentation.
	* EOAccess/EOAttribute.m (newValueForBytes:length:encoding:):
	Avoid creating intermediate NSData object.

	* EOControl/EOControl.gsdoc: Added Documentation.

	* EOControl/EOUndoManager.h: Remove content of deprecated header
	and add warning.
	
	* common.make (GDL2_AGSDOC_FLAGS): Add global GDL2 documenation
	flags.
	* config.h.in (RCSID): Avoid reserved names by relying
	in static declarations and avoid recursive call.

	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
	(assignExternalInfoForAttribute:) Move implementation to...
	(assignExternalTypeForAttribute:) ...here.

	* Version: Update variable names.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@24297 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
David Ayers 2006-12-30 17:41:02 +00:00
parent 460fda5fa8
commit 4e1e4eea27
45 changed files with 404 additions and 329 deletions

View file

@ -1,3 +1,69 @@
2006-12-30 David Ayers <ayers@fsfe.org>
* EOControl/GNUmakefile: Simplify documentation declarations.
* EOAccess/GNUmakefile: Ditto.
* EOInterface/GNUmakefile: Ditto.
* Tools/GNUmakefile: Ditto.
* common.make (ADDITIONAL_LIB_DIRS): Move handling from here...
* variable-processing.make: ... to new file.
* EOControl/GNUmakefile: Use variable-processing.make.
Include common.make early.
* EOAccess/GNUmakefile: Ditto.
* EOInterface/GNUmakefile: Ditto.
* Tools/GNUmakefile: Ditto.
* DBModeler/GNUmakefile: Ditto.
* EOModeler/GNUmakefile: Ditto.
* GDL2Palette/GNUmakefile: Ditto.
* EOControl/EOFetchSpecification.h/m: Cleanup for documentation
generation.
* EOControl/EOGenericRecord.m: Ditto.
* EOControl/EOClassDescription.h/m: Ditto.
* EOControl/EONSAddOns.m: Ditto.
* EOControl/EOObjectStore.h: Ditto.
* EOControl/EOEditingContext.h: Ditto.
* EOControl/EODataSource.m: Ditto.
* EOControl/EOKeyValueArchiver.h/m: Ditto.
* EOControl/EOFault.h/m: Ditto.
* EOControl/EOObserver.h: Ditto.
* EOControl/EOEventCenter.m: Ditto.
* EOControl/EOMultiReaderLock.m: Ditto.
* EOControl/EOKeyGlobalID.h/m: Ditto.
* EOControl/EOObserver.m: Ditto.
* EOControl/EOEvent.m: Ditto.
* EOControl/EOObjectStoreCoordinator.h: Ditto.
* EOControl/EODeprecated.h: Ditto.
* EOControl/EOUndoManager.m: Ditto.
* EOControl/EOKeyValueCoding.h/m: Ditto.
* EOControl/EOQualifier.h: Ditto.
* EOControl/EOClassDescription.h/m (editingContext): Remove
duplicate declartion and definition (see EOEditingContext.h/m)
* EOControl/EOFetchSpecification.h (EOPrefetchingRelationshipHintKey)
(EOFetchLimitHintKey, EOPromptsAfterFetchLimitHintKey): Remove
deprecated declarations.
* EOAccess/EOAttribute.m: Cleanup for documentation.
* EOAccess/EOAttribute.m (newValueForBytes:length:encoding:):
Avoid creating intermediate NSData object.
* EOControl/EOControl.gsdoc: Added Documentation.
* EOControl/EOUndoManager.h: Remove content of deprecated header
and add warning.
* common.make (GDL2_AGSDOC_FLAGS): Add global GDL2 documenation
flags.
* config.h.in (RCSID): Avoid reserved names by relying
in static declarations and avoid recursive call.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
(assignExternalInfoForAttribute:) Move implementation to...
(assignExternalTypeForAttribute:) ...here.
* Version: Update variable names.
2006-12-28 Matt Rice <ratmice@gmail.com>
* EOAdaptors/PostgreSQL/LoginPanel/GNUmakefile: Fix path to

View file

@ -24,6 +24,7 @@
#
include $(GNUSTEP_MAKEFILES)/common.make
include ../common.make
APP_NAME = DBModeler
DBModeler_SUBPROJECTS=Inspectors
@ -72,5 +73,5 @@ $(APP_NAME)_OBJC_FILES = \
EntityView.m \
DiagramEditor.m
include ../common.make
include ../variable-processing.make
include $(GNUSTEP_MAKEFILES)/application.make

View file

@ -614,13 +614,13 @@ RCS_ID("$Id$")
* <p>Returns the name of the class values of this attribute
* are represented by. The standard classes are NSNumber,
* NSString, NSData and NSDate for the corresponding
* [adaptorValueType]. A model can define more specific
* [-adaptorValueType]. A model can define more specific
* classes like NSDecimalNumber, NSCalendarDate and NSImage
* or custom classes which implement a factory method
* specified by [valueFactoryMethodName] to create instances
* specified by [-valueFactoryMethodName] to create instances
* with the data supplied by the data source.</p>
* <p>If the valueClassName has not been set explicitly and the
* reciever [isFlattened], the valueClassName of the flattened
* reciever [-isFlattened], the valueClassName of the flattened
* attribute is returned.</p>
* <p>Otherwise, if the reciever has a prototype then the
* valueClassName of the prototype is returned.</p>
@ -642,7 +642,7 @@ RCS_ID("$Id$")
* <p>Returns the adaptor specific name of externalType. This is
* the name use during SQL generation.</p>
* <p>If the externalType has not been set explicitly and the
* reciever [isFlattened], the valueClassName of the flattened
* reciever [-isFlattened], the valueClassName of the flattened
* attribute is returned.</p>
* <p>Otherwise, if the reciever has a prototype then the
* externalType of the prototype is returned.</p>
@ -661,23 +661,23 @@ RCS_ID("$Id$")
/**
* <p>Returns a one character string identifiying the underlying
* C type of an NSNumber [valueTypeName]. The legal values in GDL2 are:</p>
* <ul>
* <li>@"c": char</li>
* <li>@"C": unsigned char</li>
* <li>@"s": short</li>
* <li>@"S": unsigned short</li>
* <li>@"i": int</li>
* <li>@"I": unsigned int</li>
* <li>@"l": long</li>
* <li>@"L": unsigned long</li>
* <li>@"u": long long</li>
* <li>@"U": unsigned long long</li>
* <li>@"f": float</li>
* <li>@"d": double</li>
* </ul>
* C type of an NSNumber [-valueType]. The legal values in GDL2 are:</p>
* <list>
* <item>@"c": char</item>
* <item>@"C": unsigned char</item>
* <item>@"s": short</item>
* <item>@"S": unsigned short</item>
* <item>@"i": int</item>
* <item>@"I": unsigned int</item>
* <item>@"l": long</item>
* <item>@"L": unsigned long</item>
* <item>@"u": long long</item>
* <item>@"U": unsigned long long</item>
* <item>@"f": float</item>
* <item>@"d": double</item>
* </list>
* <p>If the valueType has not been set explicitly and the
* reciever [isFlattened], the valueClassName of the flattened
* reciever [-isFlattened], the valueClassName of the flattened
* attribute is returned.</p>
* <p>Otherwise, if the reciever has a prototype then the
* valueType of the prototype is returned.</p>
@ -1212,13 +1212,10 @@ return nexexp
{
case EOFactoryMethodArgumentIsNSString:
{
NSData *data = nil;
NSString *string = nil;
data = AUTORELEASE([(GDL2_alloc(NSData)) initWithBytes: bytes
length: length]);
string = [(GDL2_alloc(NSString)) initWithData: data
string = [(GDL2_alloc(NSString)) initWithBytes: bytes
length: length
encoding: encoding];
// If we have a value factiry method, call it to get the final value
@ -1291,12 +1288,9 @@ return nexexp
if(!value)
{
NSData *data;
data = AUTORELEASE([(GDL2_alloc(NSData)) initWithBytes: bytes
length: length]);
//For efficiency reasons, the returned value is NOT autoreleased !
value = [(GDL2_alloc(NSString)) initWithData: data
value = [(GDL2_alloc(NSString)) initWithBytes: bytes
length: length
encoding: encoding];
}
@ -1339,30 +1333,31 @@ return nexexp
return date;
}
/** Returns the name of the method to use for creating a custom class
value for this attribute.
See Also: - valueFactoryMethod, -newValueForBytes:length:
**/
/**
* <p>Returns the name of the method to use for creating a custom class
* value for this attribute.</p>
* See Also: [-valueFactoryMethod], [-newValueForBytes:length:]
*/
- (NSString *)valueFactoryMethodName
{
return _valueFactoryMethodName;
}
/** Returns the selector of the method to use for creating a custom class
value for this attribute.
Default implementation returns selector for name returned by
-valueFactoryMethodName or NULL if no selector is found.
See Also: - valueFactoryMethodName, -newValueForBytes:length:
**/
/**
* <p>Returns the selector of the method to use for creating a custom class
* value for this attribute.</p>
* <p>Default implementation returns selector for name returned by
* [-valueFactoryMethodName] or NULL if no selector is found.</p>
*
* See Also: [-valueFactoryMethodName], [-newValueForBytes:length:]
*/
- (SEL)valueFactoryMethod
{
return _valueFactoryMethod;
}
/**
* Depending on -adaptorValueType this method checks whether the value
* Depending on [-adaptorValueType] this method checks whether the value
* is a NSNumber, NSString, NSData or NSDate instance respectively.
* If not, it attempts to retrieve the -adaptorValueConversionMethod
* which should be used to convert the value accordingly. If none
@ -1419,7 +1414,8 @@ See Also: - valueFactoryMethodName, -newValueForBytes:length:
}
else
{
/* This exception might not be conformant, but seems helpful. */
/* This exception might not be conformant,
but seems helpful. */
[NSException raise: NSInvalidArgumentException
format: @"Value of class: %@ needs conversion "
@"yet no conversion method specified. "
@ -1437,38 +1433,49 @@ See Also: - valueFactoryMethodName, -newValueForBytes:length:
return value;
}
/** Returns method name to use to convert value of a class
different than attribute adaptor value type.
See also: -adaptorValueByConvertingAttributeValue, -adaptorValueConversionMethod
**/
/**
* <p>Returns method name to use to convert value of a class
* different than attribute adaptor value type.</p>
*
* See also: [-adaptorValueByConvertingAttributeValue:],
* [-adaptorValueConversionMethod]
*/
- (NSString *)adaptorValueConversionMethodName
{
return _adaptorValueConversionMethodName;
}
/** Returns selector of the method to use to convert value of a class
different than attribute adaptor value type.
Default implementation returns selector of method returned by
adaptorValueConversionMethodName or NULL if there's not selector for the method
See also: -adaptorValueByConvertingAttributeValue, -adaptorValueConversionMethodName
**/
/**
* <p>Returns selector of the method to use to convert value of a class
* different than attribute adaptor value type.</p>
* <p>The default implementation returns the selector corresponding to
* [-adaptorValueConversionMethodName] or NULL if there's not selector
* for the method.</p>
*
* See also: [-adaptorValueByConvertingAttributeValue:],
* [-adaptorValueConversionMethodName]
*/
- (SEL)adaptorValueConversionMethod
{
return _adaptorValueConversionMethod;
}
/** Returns an EOAdaptorValueType describing the adaptor
(i.e. database) type of data for this attribute.
Returned value can be:
EOAdaptorBytesType Raw bytes (default type)
EOAdaptorNumberType Number value (attribute valueClass is kind of NSNumber)
EOAdaptorCharactersType String value (attribute valueClass is kind of NSString)
EOAdaptorDateType Date value (attribute valueClass is kind of NSDate)
**/
/**
* <p>Returns an EOAdaptorValueType describing the adaptor
* (i.e. database) type of data for this attribute.</p>
*
* <p>Returned value can be:</p>
* <list>
* <item>EOAdaptorBytesType
* Raw bytes (default type)</item>
* <item>EOAdaptorNumberType
* Number value (attribute valueClass is kind of NSNumber) </item>
* <item>EOAdaptorCharactersType
* String value (attribute valueClass is kind of NSString)</item>
* <item>EOAdaptorDateType
* Date value (attribute valueClass is kind of NSDate)</item>
* </list>
*/
- (EOAdaptorValueType)adaptorValueType
{
if (!_flags.isAttributeValueInitialized)
@ -1543,19 +1550,20 @@ See also: -setFactoryMethodArgumentType:
_valueFactoryMethod = NSSelectorFromString(_valueFactoryMethodName);
}
/** Set method name to use to convert value of a class
different than attribute adaptor value type.
See also: -adaptorValueByConvertingAttributeValue, -adaptorValueConversionMethod,
-adaptorValueConversionMethodName
**/
/**
* <p>Set method name to use to convert value of a class
* different than attribute adaptor value type.</p>
*
* See also: [-adaptorValueByConvertingAttributeValue:],
* [-adaptorValueConversionMethod], [-adaptorValueConversionMethodName]
*/
- (void)setAdaptorValueConversionMethodName: (NSString *)conversionMethodName
{
[self willChange];
ASSIGN(_adaptorValueConversionMethodName, conversionMethodName);
_adaptorValueConversionMethod = NSSelectorFromString(_adaptorValueConversionMethodName);
_adaptorValueConversionMethod
= NSSelectorFromString(_adaptorValueConversionMethodName);
}
/** Set the type of argument needed by the factoryMethod.

View file

@ -27,6 +27,7 @@
include $(GNUSTEP_MAKEFILES)/common.make
include ../Version
include ../common.make
# The library to be compiled
NATIVE_LIBRARY_NAME=EOAccess
@ -88,26 +89,21 @@ EOAccess.h
DOCUMENT_NAME = EOAccess
EOAccess_AUTOGSDOC_HEADERS = $(EOAccess_HEADER_FILES)
EOAccess_AUTOGSDOC_SOURCE = $(EOAccess_OBJC_FILES)
EOAccess_HEADER_FILES_DIR = $(HEADER_DIR)
EOAccess_AGSDOC_FILES = EOAccess.gsdoc $(EOAccess_AUTOGSDOC_HEADERS)
#$(EOAccess_AUTOGSDOC_SOURCE)
# autogsdoc scan the source files corresponding to the headers
EOAccess_AGSDOC_FILES = EOAccess.gsdoc \
$(EOAccess_HEADER_FILES) \
$(EOAccess_OBJC_FILES)
EOAccess_AGSDOC_FLAGS = \
-Declared EOAccess \
-Standards YES \
-Project EOAccess \
-WordMap '{\
FOUNDATION_EXPORT=extern;FOUNDATION_STATIC_INLINE="";\
GS_GEOM_SCOPE=extern;GS_GEOM_ATTR="";\
GS_EXPORT=extern;GS_DECLARE="";\
GS_RANGE_SCOPE=extern;GS_RANGE_ATTR="";\
GS_ZONE_SCOPE=extern;GS_ZONE_ATTR="";\
}' -Up EOAccess
-Up EOAccess \
$(GDL2_AGSDOC_FLAGS)
-include Makefile.preamble
include ../common.make
include ../variable-processing.make
-include GNUmakefile.local

View file

@ -259,7 +259,7 @@ static NSString *typeNames[][2] = {
return [[self externalToInternalTypeMap] allKeys];
}
+ (void)assignExternalInfoForAttribute: (EOAttribute *)attribute
+ (void)assignExternalTypeForAttribute: (EOAttribute *)attribute
{
// TODO
EOAdaptorValueType value = [attribute adaptorValueType];
@ -326,12 +326,13 @@ static NSString *typeNames[][2] = {
- (void)assertConnectionDictionaryIsValid
{
NSException *exception = nil;
EOAdaptorContext *adaptorContext;
EOAdaptorChannel *adaptorChannel;
if (![self hasOpenChannels])
{
EOAdaptorContext *adaptorContext;
EOAdaptorChannel *adaptorChannel;
volatile NSException *exception = nil;
adaptorContext = [self createAdaptorContext];
adaptorChannel = [adaptorContext createAdaptorChannel];

View file

@ -233,8 +233,4 @@ GDL2CONTROL_EXPORT NSString *EOValidatedPropertyUserInfoKey;
@end
@interface NSObject (_EOEditingContext)
- (EOEditingContext *)editingContext;
@end
#endif

View file

@ -86,8 +86,6 @@ RCS_ID("$Id$")
+(id)defaultGroup;
@end
@implementation EOClassDescription
NSString *EOClassDescriptionNeededNotification
= @"EOClassDescriptionNeededNotification";
@ -111,6 +109,8 @@ static NSMapTable *classDescriptionForClass = NULL;
static id classDelegate = nil;
static NSRecursiveLock *local_lock = nil;
@implementation EOClassDescription
+ (void) initialize
{
static BOOL initialized=NO;
@ -303,17 +303,18 @@ static NSRecursiveLock *local_lock = nil;
EOFLOGObjectFnStop();
return dictionary;
};
- (void)awakeObject: (id)object
fromFetchInEditingContext: (EOEditingContext *)anEditingContext
{
//OK
//nothing to do
}
- (void)awakeObject: (id)object
fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
fromFetchInEditingContext: (EOEditingContext *)editingContext
{
//OK
//nothing to do
return;
}
- (void)awakeObject: (id)object
fromInsertionInEditingContext: (EOEditingContext *)editingContext
{
//Near OK
NSArray *toManyRelationshipKeys = nil;
@ -357,7 +358,7 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
return nil;
}
- (id)createInstanceWithEditingContext: (EOEditingContext *)anEditingContext
- (id)createInstanceWithEditingContext: (EOEditingContext *)editingContext
globalID: (EOGlobalID *)globalID
zone: (NSZone *)zone
{
@ -440,7 +441,7 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
}
- (void)propagateDeleteForObject: (id)object
editingContext: (EOEditingContext *)context
editingContext: (EOEditingContext *)editingContext
{
NSArray *toRelArray;
NSEnumerator *toRelEnum;
@ -478,9 +479,12 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
NSDebugMLLog(@"gsdb", @"ToOne key=%@", key);
if (classDelegate)
shouldPropagate = [classDelegate shouldPropagateDeleteForObject: object
inEditingContext: context
forRelationshipKey: key];
{
shouldPropagate
= [classDelegate shouldPropagateDeleteForObject: object
inEditingContext: editingContext
forRelationshipKey: key];
}
NSDebugMLLog(@"gsdb", @"ToOne key=%@ shouldPropagate=%s", key,
(shouldPropagate ? "YES" : "NO"));
@ -523,8 +527,8 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
EOFLOGObjectLevel(@"gsdb", @"EODeleteRuleCascade");
[object removeObject: destination
fromBothSidesOfRelationshipWithKey: key];
[context deleteObject: destination];
[destination propagateDeleteWithEditingContext: context];
[editingContext deleteObject: destination];
[destination propagateDeleteWithEditingContext: editingContext];
break;
case EODeleteRuleDeny:
@ -554,9 +558,12 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
NSDebugMLLog(@"gsdb", @"ToMany key=%@", key);
if (classDelegate)
shouldPropagate = [classDelegate shouldPropagateDeleteForObject: object
inEditingContext: context
forRelationshipKey: key];
{
shouldPropagate
= [classDelegate shouldPropagateDeleteForObject: object
inEditingContext: editingContext
forRelationshipKey: key];
}
NSDebugMLLog(@"gsdb", @"ToMany key=%@ shouldPropagate=%s", key,
(shouldPropagate ? "YES" : "NO"));
@ -612,8 +619,8 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
[object removeObject: destination
fromBothSidesOfRelationshipWithKey: key];
[context deleteObject: destination];
[destination propagateDeleteWithEditingContext: context];
[editingContext deleteObject: destination];
[destination propagateDeleteWithEditingContext: editingContext];
}
NSDebugMLLog(@"gsdb", @"toManyArray %p=%@",
toManyArray, toManyArray);
@ -661,17 +668,17 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
return nil;
}
- (EORelationship *)anyRelationshipNamed:(NSString *)relationshipNamed
- (EORelationship *)anyRelationshipNamed:(NSString *)relationshipName
{
return nil;
}
- (NSString *)userPresentableDescriptionForObject:(id)anObject
- (NSString *)userPresentableDescriptionForObject:(id)object
{
NSArray *attrArray = [self attributeKeys];
NSEnumerator *attrEnum = [attrArray objectEnumerator];
NSMutableString *values = [NSMutableString stringWithCapacity:
4 * [attrArray count]];
NSMutableString *values
= [NSMutableString stringWithCapacity: 4 * [attrArray count]];
NSString *key;
BOOL init = YES;
@ -729,9 +736,9 @@ fromInsertionInEditingContext: (EOEditingContext *)anEditingContext
@implementation NSObject (EOInitialization)
- (id)initWithEditingContext: (EOEditingContext *)ec
classDescription: (EOClassDescription *)classDesc
globalID: (EOGlobalID *)globalID;
- (id)initWithEditingContext: (EOEditingContext *)editingContext
classDescription: (EOClassDescription *)classDescription
globalID: (EOGlobalID *)globalID
{
return [self init];
}
@ -1870,7 +1877,7 @@ fromBothSidesOfRelationshipWithKey: (NSString *)key
@implementation NSObject (EOClassDescriptionClassDelegate)
- (BOOL)shouldPropagateDeleteForObject: (id)object
inEditingContext: (EOEditingContext *)ec
inEditingContext: (EOEditingContext *)editingContext
forRelationshipKey: (NSString *)key
{
return YES;
@ -2007,13 +2014,3 @@ fromBothSidesOfRelationshipWithKey: (NSString *)key
@end
@implementation NSObject (_EOEditingContext)
- (EOEditingContext*)editingContext
{
return [EOObserverCenter observerForObject: self
ofClass: [EOEditingContext class]];
}
@end

View file

@ -3,20 +3,30 @@
<gsdoc base="index">
<head>
<title>GDL2 - EOControl</title>
<author name="David Ayers">
<email address="ayers@fsfe.org"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/></author>
<author name="Mirko Viviani">
<email address="mirko.viviani@gmail.com"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/></author>
<author name="Manuel Guesdon">
<email address="mguesdon@orange-concept.com"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/></author>
<author name="David Ayers">
<email address="ayers@fsfe.org"/>
<url url="http://www.gnustep.org/developers/whoiswho.html"/></author>
<version>$Revision$</version>
<date>$Date$</date>
<copy>2006 Free Software Foundation, Inc.</copy>
</head>
<body>
<chapter>
<heading>GDL2 - EOControl</heading>
<p>...
<p>
EOControl is the fundemantal framework of GDL2 which implements the
the abstraction of a database from the view of an object oriented
application. To be useful it generally requires support from a
suppurting framework like EOAccess which implements the components
needed for SQL based RDBMS implementations. In theory EOControl could
be used together with supporting Libraries with other storage models
but these are hardely used in practice.
</p>
</chapter>
<back>

View file

@ -120,6 +120,7 @@ RCS_ID("$Id$")
- (void)setQualifierBindings: (NSDictionary *)bindings
{
return;
}
- (NSDictionary *)qualifierBindings

View file

@ -43,27 +43,27 @@
@end
@interface EOClassDescription (EODeprecated)
/** Deprecated. Use +setClassDelegate. */
/** Deprecated. Use [+setClassDelegate:]. */
+ (void)setDelegate: (id)delegate;
/** Deprecated. Use +classDelegate. */
/** Deprecated. Use [+classDelegate]. */
+ (id)delegate;
@end
/** Deprecated. Use NSUndoManager. */
@interface EOUndoManager : NSUndoManager
/** Deprecated. Use -removeAllActionsWithTarget:. */
- (void)forgetAllWithTarget: (id)param0;
/** Deprecated. Use <code>removeAllActionsWithTarget:</code>. */
- (void)forgetAllWithTarget: (id)target;
/** Deprecated. Use -removeAllActionsWithTarget:. */
/** Deprecated. Use <code>removeAllActionsWithTarget:</code>. */
- (void)forgetAll;
/** Deprecated. Use -registerUndoWithTarget:selector:object:. */
- (void)registerUndoWithTarget: (id)param0
selector: (SEL)param1
arg: (id)param2;
/** Deprecated. Use <code>registerUndoWithTarget:selector:object:</code>. */
- (void)registerUndoWithTarget: (id)target
selector: (SEL)selector
arg: (id)argument;
/** Deprecated. Use -enableUndoRegistration. */
/** Deprecated. Use <code>enableUndoRegistration</code>. */
- (void)reenableUndoRegistration;
@end

View file

@ -163,7 +163,7 @@
- (void)validateDeletesUsingTable: (NSHashTable *)deleteTable;
- (BOOL)validateTable: (NSHashTable *)table
withSelector: (SEL)sel
exceptionArray: (NSMutableArray**)exceptionArray
exceptionArray: (NSMutableArray**)exceptionArrayPtr
continueAfterFailure: (BOOL)continueAfterFailure;
@ -173,10 +173,10 @@
- (void)setPropagatesDeletesAtEndOfEvent: (BOOL)propagatesDeletesAtEndOfEvent;
- (BOOL)stopsValidationAfterFirstError;
- (void)setStopsValidationAfterFirstError: (BOOL)yn;
- (void)setStopsValidationAfterFirstError: (BOOL)flag;
- (BOOL)locksObjectsBeforeFirstModification;
- (void)setLocksObjectsBeforeFirstModification: (BOOL)yn;
- (void)setLocksObjectsBeforeFirstModification: (BOOL)flag;
- (EOSharedEditingContext *)sharedEditingContext;
- (void)setSharedEditingContext:(EOSharedEditingContext *)sharedEditingContext;
@ -201,7 +201,7 @@ modified state of the object.**/
- (void)refaultObjects;
- (void)setInvalidatesObjectsWhenFreed: (BOOL)yn;
- (void)setInvalidatesObjectsWhenFreed: (BOOL)flag;
- (BOOL)invalidatesObjectsWhenFreed;
- (void)addEditor: (id)editor;
@ -334,7 +334,7 @@ shouldContinueFetchingWithCurrentObjectCount: (unsigned)count
@interface EOEditingContext (EOStateArchiving)
+ (void)setUsesContextRelativeEncoding: (BOOL)yn;
+ (void)setUsesContextRelativeEncoding: (BOOL)flag;
+ (BOOL)usesContextRelativeEncoding;
+ (void)encodeObject: (id)object withCoder: (NSCoder *)coder;
+ (id)initObject: (id)object withCoder: (NSCoder *)coder;

View file

@ -1293,13 +1293,13 @@ _mergeValueForKey(id obj, id value,
EOFLOGObjectFnStop();
}
- (NSArray *)objectsWithFetchSpecification: (EOFetchSpecification *)fetch
- (NSArray *)objectsWithFetchSpecification: (EOFetchSpecification *)fetchSpecification
{
NSArray *objects;
EOFLOGObjectFnStart();
objects = [self objectsWithFetchSpecification: fetch
objects = [self objectsWithFetchSpecification: fetchSpecification
editingContext: self];
EOFLOGObjectFnStop();
@ -2354,6 +2354,7 @@ _mergeValueForKey(id obj, id value,
-(void)setLevelsOfUndo:(int)levels
{
//TODO
return;
};
- (void) _registerClearStateWithUndoManager
@ -3654,7 +3655,7 @@ modified state of the object.**/
}
}
- (NSArray *)objectsWithFetchSpecification: (EOFetchSpecification *)fetch
- (NSArray *)objectsWithFetchSpecification: (EOFetchSpecification *)fetchSpecification
editingContext: (EOEditingContext *)context
{
//OK
@ -3663,14 +3664,14 @@ modified state of the object.**/
EOFLOGObjectFnStart();
EOFLOGObjectLevelArgs(@"EOEditingContext",
@"_objectStore=%@ fetch=%@ context=%@",
_objectStore, fetch, context);
@"_objectStore=%@ fetchSpecification=%@ context=%@",
_objectStore, fetchSpecification, context);
[self lock]; //TODOLOCK
NS_DURING
{
objects = [_objectStore objectsWithFetchSpecification: fetch
objects = [_objectStore objectsWithFetchSpecification: fetchSpecification
editingContext: context];
}
NS_HANDLER

View file

@ -58,15 +58,19 @@ NSString *EOEventGroupName = @"EOEventGroupName";
- (void)markStartWithInfo: (id)info
{
return;
}
- (void)markAtomicWithInfo: (id)info
{
return;
}
- (void)markEnd
{
return;
}
- (void)setInfo: (id)info
{
return;
}
- (id)info
{
@ -74,6 +78,7 @@ NSString *EOEventGroupName = @"EOEventGroupName";
}
- (void)setType: (NSString *)type
{
return;
}
- (NSString *)type
{

View file

@ -73,23 +73,29 @@ NSString *EOEventLoggingLimit = @"EOEventLoggingLimit";
}
+ (void)suspendLogging
{
return;
}
+ (void)resumeLogging
{
return;
}
+ (void)resetLogging
{
return;
}
- (void)resetLogging
{
return;
}
+ (void)registerEventClass: (Class)eventClass
classPointer: (Class *)classPtr
{
return;
}
+ (void)registerEventClass: (Class)eventClass
handler: (id <EOEventRecordingHandler>)handler
{
return;
}
+ (NSArray *)registeredEventClasses
{
@ -102,6 +108,7 @@ NSString *EOEventLoggingLimit = @"EOEventLoggingLimit";
+ (void)setRecordsEvents: (BOOL)flag
forClass: (Class)eventClass
{
return;
}
+ (id)newEventOfClass: (Class)eventClass
type: (NSString *)type
@ -111,16 +118,20 @@ NSString *EOEventLoggingLimit = @"EOEventLoggingLimit";
+ (void)markStartOfEvent: (EOEvent *)event
info: (id)info
{
return;
}
+ (void)markAtomicEvent: (EOEvent *)event
info: (id)info
{
return;
}
+ (void)markEndOfEvent:(EOEvent *)event
{
return;
}
+ (void)cancelEvent:(EOEvent *)event
{
return;
}
- (NSArray *)eventsOfClass: (Class)eventClass
type: (NSString *)type

View file

@ -71,8 +71,8 @@
+ (unsigned)retainCount;
+ (BOOL)isKindOfClass: (Class)aClass;
+ (void)doesNotRecognizeSelector: (SEL)sel;
+ (BOOL)respondsToSelector: (SEL)sel;
+ (void)doesNotRecognizeSelector: (SEL)selector;
+ (BOOL)respondsToSelector: (SEL)selector;
+ (void)makeObjectIntoFault: (id)object withHandler: (EOFaultHandler *)handler;
@ -92,7 +92,7 @@
- (BOOL)isKindOfClass: (Class)aClass;
- (BOOL)isMemberOfClass: (Class)aClass;
- (BOOL)conformsToProtocol: (Protocol *)protocol;
- (BOOL)respondsToSelector: (SEL)sel;
- (BOOL)respondsToSelector: (SEL)selector;
- (NSMethodSignature *)methodSignatureForSelector: (SEL)selector;
- (id)retain;
@ -116,7 +116,7 @@
- (id)self;
- (void)doesNotRecognizeSelector: (SEL)sel;
- (void)doesNotRecognizeSelector: (SEL)selector;
- (void)forwardInvocation: (NSInvocation *)invocation;
- (id)gcSetNextObject: (id)object;

View file

@ -130,38 +130,38 @@ static Class EOFaultClass = NULL;
return NO;
}
+ (void)doesNotRecognizeSelector: (SEL)sel
+ (void)doesNotRecognizeSelector: (SEL)selector
{
[NSException raise: NSInvalidArgumentException
format: @"%@ -- %@ 0x%x: selector \"%@\" not recognized",
NSStringFromSelector(_cmd),
NSStringFromClass([self class]),
self,
NSStringFromSelector(sel)];
NSStringFromSelector(selector)];
}
+ (BOOL)respondsToSelector: (SEL)sel
+ (BOOL)respondsToSelector: (SEL)selector
{
return (GSGetMethod(self, sel, NO, YES) != (GSMethod)0);
return (GSGetMethod(self, selector, NO, YES) != (GSMethod)0);
}
/**
* Returns a pointer to the C function implementing the method used
* to respond to messages with aSelector by instances of the receiving
* to respond to messages with selector by instances of the receiving
* class.
* <br />Raises NSInvalidArgumentException if given a null selector.
*
* It's a temporary fix to support NSAutoreleasePool optimization
*/
+ (IMP) instanceMethodForSelector: (SEL)aSelector
+ (IMP) instanceMethodForSelector: (SEL)selector
{
if (aSelector == 0)
if (selector == 0)
[NSException raise: NSInvalidArgumentException
format: @"%@ null selector given", NSStringFromSelector(_cmd)];
/*
* Since 'self' is an class, get_imp() will get the instance method.
*/
return get_imp((Class)self, aSelector);
return get_imp((Class)self, selector);
}
// Fault class methods
@ -294,7 +294,7 @@ static Class EOFaultClass = NULL;
return [_handler targetClass];
}
- (BOOL)isKindOfClass: (Class)aclass;
- (BOOL)isKindOfClass: (Class)aClass
{
Class class;
BOOL koc=NO;
@ -302,15 +302,15 @@ static Class EOFaultClass = NULL;
class = [_handler targetClass];
for (; !koc && class != Nil; class = GSObjCSuper(class))
if (class == aclass)
if (class == aClass)
koc = YES;
return koc;
}
- (BOOL)isMemberOfClass: (Class)aclass
- (BOOL)isMemberOfClass: (Class)aClass
{
return [_handler targetClass] == aclass;
return [_handler targetClass] == aClass;
}
- (BOOL)conformsToProtocol: (Protocol *)protocol
@ -336,7 +336,7 @@ static Class EOFaultClass = NULL;
return NO;
}
- (BOOL)respondsToSelector: (SEL)aSelector
- (BOOL)respondsToSelector: (SEL)selector
{
Class class;
BOOL respondsToSelector;
@ -344,24 +344,24 @@ static Class EOFaultClass = NULL;
NSDebugFLLog(@"gsdb", @"START self=%p", self);
class = [_handler targetClass];
NSDebugFLLog(@"gsdb", @"class=%@ aSelector=%@", class,
NSStringFromSelector(aSelector));
NSDebugFLLog(@"gsdb", @"class=%@ selector=%@", class,
NSStringFromSelector(selector));
respondsToSelector
= (GSGetMethod(class, aSelector, YES, YES) != (GSMethod)0);
= (GSGetMethod(class, selector, YES, YES) != (GSMethod)0);
NSDebugFLLog(@"gsdb", @"STOP self=%p", self);
return respondsToSelector;
}
- (NSMethodSignature *)methodSignatureForSelector: (SEL)aSelector
- (NSMethodSignature *)methodSignatureForSelector: (SEL)selector
{
NSMethodSignature *sig;
NSDebugFLLog(@"gsdb", @"START self=%p", self);
NSDebugFLLog(@"gsdb", @"_handler=%p", _handler);
sig = [_handler methodSignatureForSelector: aSelector
sig = [_handler methodSignatureForSelector: selector
forFault: self];
NSDebugFLLog(@"gsdb", @"STOP self=%p", self);
@ -482,24 +482,24 @@ static Class EOFaultClass = NULL;
return self;
}
- (void)doesNotRecognizeSelector: (SEL)sel
- (void)doesNotRecognizeSelector: (SEL)selector
{
[NSException raise: NSInvalidArgumentException
format: @"%@ -- %@ 0x%x: selector \"%@\" not recognized",
NSStringFromSelector(_cmd),
NSStringFromClass([self class]),
self,
NSStringFromSelector(sel)];
NSStringFromSelector(selector)];
}
- (retval_t)forward: (SEL)sel
- (retval_t)forward: (SEL)selector
: (arglist_t)args
{
retval_t ret;
NSInvocation *inv;
inv = [[[NSInvocation alloc] initWithArgframe: args
selector: sel]
selector: selector]
autorelease];
[self forwardInvocation: inv];
@ -542,14 +542,14 @@ static Class EOFaultClass = NULL;
// GC
- gcSetNextObject: (id)anObject
- gcSetNextObject: (id)object
{
return [_handler gcSetNextObject: anObject];
return [_handler gcSetNextObject: object];
}
- gcSetPreviousObject: (id)anObject
- gcSetPreviousObject: (id)object
{
return [_handler gcSetPreviousObject: anObject];
return [_handler gcSetPreviousObject: object];
}
- (id)gcNextObject

View file

@ -115,7 +115,7 @@
- (void)setIsDeep: (BOOL)isDeep;
- (BOOL)isDeep;
- (void)setLocksObjects: (BOOL)setLocksObjects;
- (void)setLocksObjects: (BOOL)locksObjects;
- (BOOL)locksObjects;
- (void)setRefreshesRefetchedObjects: (BOOL)refreshesRefetchedObjects;
@ -148,10 +148,5 @@
@end
GDL2CONTROL_EXPORT NSString *EOPrefetchingRelationshipHintKey;
GDL2CONTROL_EXPORT NSString *EOFetchLimitHintKey;
GDL2CONTROL_EXPORT NSString *EOPromptsAfterFetchLimitHintKey;
#endif

View file

@ -392,10 +392,10 @@ setRequiresAllQualifierBindingVariables:requiresAllQualifierBindingVariables
return _qualifier;
}
- (void)setUsesDistinct: (BOOL)flag
- (void)setUsesDistinct: (BOOL)usesDistinct
{
[self willChange];
_flags.usesDistinct = flag ? YES : NO;
_flags.usesDistinct = usesDistinct ? YES : NO;
}
- (BOOL)usesDistinct

View file

@ -160,7 +160,7 @@ static NSRecursiveLock *allGenericRecordsLock = nil;
- (id) initWithEditingContext: (EOEditingContext *)context
classDescription: (EOClassDescription *)classDesc
globalID: (EOGlobalID *)globalID;
globalID: (EOGlobalID *)globalID
{
if ((self = [self init]))
{

View file

@ -73,9 +73,6 @@ enum {
- (BOOL)isTemporary;
- (void)encodeWithCoder: (NSCoder *)coder;
- (id)initWithCoder: (NSCoder *)decoder;
@end
#endif

View file

@ -52,9 +52,6 @@
- (BOOL)isEqual: (id)other;
- (unsigned)hash;
- (void)encodeWithCoder: (NSCoder *)coder;
- (id)initWithCoder: (NSCoder *)decoder;
- (BOOL)isFinal;
- (NSString *)description;
- (BOOL)areKeysAllNulls;

View file

@ -155,7 +155,7 @@ RCS_ID("$Id$")
}
- (unsigned int)hash // TODO
- (unsigned int)hash
{
int i;
unsigned int hash = 0;

View file

@ -109,7 +109,7 @@ referenceToEncodeForObject: (id)object;
- (void)setDelegate: (id)delegate;
- (id)delegate;
- (id)_findTypeForPropertyListDecoding: (id)param0;
- (id)_findTypeForPropertyListDecoding: (id)obj;
- (id)_dictionaryForPropertyList: (NSDictionary *)propList;
- (id)_objectsForPropertyList: (NSArray *)propList;
- (id)_objectForPropertyList: (NSDictionary *)propList;

View file

@ -621,7 +621,7 @@ NO if no object is found **/
/** Returns unarchived object for the reference archived as 'key'.
The receiver gets the object for reference by calling
its delegate method -archiver:objectForReference: **/
its delegate method -unarchiver:objectForReference: **/
- (id) decodeObjectReferenceForKey: (NSString*)key
{
id objectReference = nil;
@ -838,11 +838,12 @@ class instances should implements -initWithKeyValueUnarchiver: **/
@implementation NSObject (EOKeyValueUnarchiverDelegation)
/** Returns an object for archived 'reference'.
Should be overriden by EOKeyValueUnarchiver's delegates
**/
/**
* Returns an object for archived 'reference'.
* Implemented by EOKeyValueUnarchiver's delegate.
*/
- (id)unarchiver: (EOKeyValueUnarchiver*)archiver
objectForReference: (id)reference
objectForReference: (id)keyPath
{
[self subclassResponsibility:_cmd];
return nil;
@ -856,11 +857,13 @@ objectForReference: (id)reference
- (void)finishInitializationWithKeyValueUnarchiver: (EOKeyValueUnarchiver *)unarchiver
{
//Does nothing ?
return;
}
- (void)awakeFromKeyValueUnarchiver: (EOKeyValueUnarchiver *)unarchiver;
- (void)awakeFromKeyValueUnarchiver: (EOKeyValueUnarchiver *)unarchiver
{
//Does nothing ?
return;
}
@end

View file

@ -109,7 +109,7 @@
* Contrary to the TOC of the documentation, this method is called
* unableToSetNilForKey: and not unableToSetNullForKey:<br/>
* This implementation raises an NSInvalidArgument exception. <br/>
* The NSKeyValueCoding -setNilValueForKey: is overriden to invoke this
* The NSKeyValueCoding setNilValueForKey: is overriden to invoke this
* method instead. We manipulate the runtime to insure that our implementation
* of unableToSetNilForKey: is used in favor of the one in gnustep-base or
* Foundation.

View file

@ -254,7 +254,7 @@ initialize(void)
* returned by invoking [NSObject-valueForKey:]
* for each item in the receiver, substituting EONull for nil.
* Keys formated like "@function.someKey" are resolved by invoking
* [NSArray-computeFuncionWithKey:] "someKey" on the receiver.
* <code>NSArray compute<em>Function</em>WithKey:</code> "someKey" on the receiver.
* If the key is omitted, the function will be called with nil.
* The following functions are supported by default:
* <list>
@ -431,7 +431,7 @@ initialize(void)
* Iterates over the objects of the receiver send each object valueForKey:
* with the parameter. The decimalValue of the returned object is accumalted
* and then divided by number of objects contained by the receiver as returned
* by [NSArray-coung]. An empty array returns NSDecimalNumber 0.
* by <code>NSArray count</code>. An empty array returns NSDecimalNumber 0.
*/
- (id)computeAvgForKey: (NSString *)key
{

View file

@ -225,6 +225,7 @@
*/
- (void)lockForWriting
{
return;
}
/**
@ -235,6 +236,7 @@
*/
- (void)unlockForWriting
{
return;
}
/**
@ -244,6 +246,7 @@
*/
- (void)suspendReaderLocks
{
return;
}
/**
@ -253,6 +256,7 @@
*/
- (void)retrieveReaderLocks
{
return;
}
@end

View file

@ -426,13 +426,13 @@ GDL2_ActivateAllGDL2Categories(void)
return result;
}
- (NSArray *)arrayExcludingObject: (id)anObject
- (NSArray *)arrayExcludingObject: (id)object
{
//Verify: mutable/non mutable,..
NSArray *result = nil;
unsigned int selfCount = [self count];
if (selfCount > 0 && anObject) //else return nil
if (selfCount > 0 && object) //else return nil
{
int i;
@ -440,7 +440,7 @@ GDL2_ActivateAllGDL2Categories(void)
{
id object = [self objectAtIndex: i];
if (object != anObject)
if (object != object)
{
if (result)
[(NSMutableArray *)result addObject: object];
@ -617,7 +617,7 @@ GDL2_ActivateAllGDL2Categories(void)
};
return (short)v;
};
-(unsigned short)unsignedShortValue;
-(unsigned short)unsignedShortValue
{
int v=atoi([self lossyCString]);
if (v<0 || v>USHRT_MAX)
@ -633,7 +633,7 @@ GDL2_ActivateAllGDL2Categories(void)
return atol([self lossyCString]);
};
-(unsigned long)unsignedLongValue;
-(unsigned long)unsignedLongValue
{
long long v=atoll([self lossyCString]);
if (v<0 || v>ULONG_MAX)
@ -665,18 +665,18 @@ GDL2_ActivateAllGDL2Categories(void)
* The method must be one which takes three arguments and returns an object.
* <br />Raises NSInvalidArgumentException if given a null selector.
*/
- (id) performSelector: (SEL)aSelector
- (id) performSelector: (SEL)selector
withObject: (id) object1
withObject: (id) object2
withObject: (id) object3
{
IMP msg;
if (aSelector == 0)
if (selector == 0)
[NSException raise: NSInvalidArgumentException
format: @"%@ null selector given", NSStringFromSelector(_cmd)];
msg = get_imp(GSObjCClass(self), aSelector);
msg = get_imp(GSObjCClass(self), selector);
if (!msg)
{
[NSException raise: NSGenericException
@ -684,7 +684,7 @@ GDL2_ActivateAllGDL2Categories(void)
return nil;
}
return (*msg)(self, aSelector, object1, object2, object3);
return (*msg)(self, selector, object1, object2, object3);
}
@end

View file

@ -71,7 +71,7 @@
- (void)saveChangesInEditingContext: (EOEditingContext *)context;
- (NSArray *)objectsWithFetchSpecification: (EOFetchSpecification *)fetchSpec
- (NSArray *)objectsWithFetchSpecification: (EOFetchSpecification *)fetchSpecification
editingContext: (EOEditingContext *)context;
- (BOOL)isObjectLockedWithGlobalID: (EOGlobalID *)gid

View file

@ -58,7 +58,7 @@
- (NSDictionary *)valuesForKeys: (NSArray *)keys object: (id)object;
- (EOCooperatingObjectStore *)objectStoreForGlobalID: (EOGlobalID *)gloablID;
- (EOCooperatingObjectStore *)objectStoreForGlobalID: (EOGlobalID *)globalID;
- (EOCooperatingObjectStore *)objectStoreForObject: (id)object;

View file

@ -127,7 +127,7 @@ enum
- (void)enqueueObserver: (EODelayedObserver *)observer;
- (void)dequeueObserver: (EODelayedObserver *)observer;
- (void)notifyObserversUpToPriority: (EOObserverPriority)lastPriority;
- (void)notifyObserversUpToPriority: (EOObserverPriority)priority;
- (void)setRunLoopModes: (NSArray *)modes;
- (NSArray *)runLoopModes;

View file

@ -64,7 +64,7 @@ RCS_ID("$Id$")
* all mutating accessor methods before the state of the receiver changes.
* This method invokes [EOObserverCenter+notifyObserversObjectWillChange:]
* with the receiver. It is responsible for invoking
* [EOObserving-objectWillChange:] for all corresponding observers.
* [(EOObserving)-objectWillChange:] for all corresponding observers.
*/
- (void)willChange
{
@ -80,14 +80,14 @@ RCS_ID("$Id$")
/**
* <p>This is the central coordinating class of the change tracking system
* of EOControl. It manages the observers [EOObserving] and the objects
* of EOControl. It manages the observers [(EOObserving)] and the objects
* to be observed. No instances of this class should be needed or created.
* All methods for coordinating the tracking mechanism are class methods.</p>
* <p>Observers must implement the [EObserving] protocol, in particular
* [EOObserving-objectWillChange:] while the observed objects must invoke
* <p>Observers must implement the [(EOObserving)] protocol, in particular
* [(EOObserving)-objectWillChange:] while the observed objects must invoke
* [NSObject-willChange]. Invoke [+addObserver:forObject:] to register an
* observer for a particular object. That will setup for
* [EOObserving-objectWillChange:] to be invoked on the observer each time
* [(EOObserving)-objectWillChange:] to be invoked on the observer each time
* [NSObject-willChange] gets called. To remove an observer invoke
* [+removeObserver:forObject:]. For observers who wish to be notified for
* every change the methods [+addOmniscientObserver:] and
@ -115,22 +115,25 @@ static id lastObject;
/**
* <p>
* Adds the observer to be notified with a [EOObserving-objectWillChange:]
* Adds the observer to be notified with a [(EOObserving)-objectWillChange:]
* on the first of consecutive [NSObject-willChange] methods invoked on
* the object.
* </p>
* <p>
* This does not retain the object. It is the observers
* responsibility to unregister the object with [-removeObserver:forObject:]
* responsibility to unregister the object with [+removeObserver:forObject:]
* before the object ceases to exist.
* The observer is also not retained. It is the observers responsibility
* to unregister before it ceases to exist.
* </p>
* <p>
* Both observer and object equality are considered equal through pointer
* equality, so an observer observing multiple objects considered -isEqual:
* will recieve multiple observer notifications,<br>
* objects considered -isEqual may contain different sets of observers,
* and an object can have multiple observers considered -isEqual:.
* equality, so an observer observing multiple objects considered
* <code>isEqual:</code>
* will recieve multiple observer notifications,
* objects considered <code>isEqual:</code> may contain different sets of
* observers, and an object can have multiple observers considered
* <code>isEqual:</code>.
* </p>
*/
+ (void)addObserver: (id <EOObserving>)observer forObject: (id)object
@ -186,7 +189,7 @@ static id lastObject;
/**
* This method is invoked from [NSObject-willChange] to dispatch
* [EOObserving-objectWillChange:] to all observers registered
* [(EOObserving)-objectWillChange:] to all observers registered
* to observe object. This method records the last object it was
* invoked with so that subsequent invocations with the same object
* get ignored. Invoke this method with nil as the object to insure
@ -309,7 +312,7 @@ static id lastObject;
/**
* Increases the notification suppression count. When the count is
* non zero [+notifyObserversObjectWillChange:] invocations do nothing.
* Call [+enableObserverNotificaion] a matching amount of times
* Call [+enableObserverNotification] a matching amount of times
* to enable the dispatch of those notifications again.
*/
+ (void)suppressObserverNotification
@ -321,9 +324,9 @@ static id lastObject;
* Decreases the notification suppression count. This should be called
* to pair up [+suppressObserverNotification] invocations. When they
* all have been paired up [+notifyObserversObjectWillChange:] will
* continue to dispatch [EOObserving-objectWillChange:] methods again.
* If this is invoked when the [+observerNotificationCount] is 0, this
* method raises an NSInternalInconsistencyException.
* continue to dispatch [(EOObserving)-objectWillChange:] methods again.
* If this is invoked when the [+observerNotificationSuppressCount] is 0,
* this method raises an NSInternalInconsistencyException.
*/
+ (void)enableObserverNotification
{
@ -348,7 +351,7 @@ static id lastObject;
/**
* Adds observer as an omniscient observer to receive
* [EOObserving-objectWillChange:] for all objects and nil.
* [(EOObserving)-objectWillChange:] for all objects and nil.
*/
+ (void)addOmniscientObserver: (id <EOObserving>)observer
{
@ -371,7 +374,7 @@ static id lastObject;
@implementation EODelayedObserver
/**
* EOObserving implementation which enqueues the receiver in the
* [(EOObserving)] implementation which enqueues the receiver in the
* queue returned by observerQueue.
*/
- (void)objectWillChange: (id)subject
@ -400,13 +403,14 @@ static id lastObject;
}
/**
* Invoked by [EODelayedObserverQueue-notifyObserverUpToPriority:] or
* Invoked by [EODelayedObserverQueue-notifyObserversUpToPriority:] or
* [EODelayedObserverQueue-enqueueObserver:]. Overridden by subclasses
* to process the delayed change notification. EODelayesObserver does
* nothing.
*/
- (void)subjectChanged
{
return;
}
/**
@ -424,14 +428,15 @@ static id lastObject;
/**
* EODelayedObserverQueue manages the delayed observer notifications
* for [EODelayedObservers] that register with it. A delayed observer
* for [EODelayedObserver] that register with it. A delayed observer
* may only register itself with one queue and a fixed priority.
* Upon [-notifyObserversUpToPriority:] all enqueued observers are sent
* [EODelyedObserver-subjectChanged] according to the EOObserverPriority
* [EODelayedObserver-subjectChanged] according to the EOObserverPriority
* of the observer. The first time an observer is enqueued with
* [-enqueueObserver:] (with a priority other than
* EOObserverPriorityImmediate) the queue registers itself with the
* [NSRunLoop-currentRunLoop] with EOFlushDelayedObserverRunLoopOrdering
* <code>NSRunLoop currentRunLoop</code> with
* EOFlushDelayedObserverRunLoopOrdering
* to invoke [-notifyObserversUpToPriority:] with EOObserverPrioritySixth.
* In general this mechanism is used by [EOAssociation] subclasses and
* in part [EODisplayGroup] or even [EOEditingContext].
@ -482,11 +487,12 @@ static EODelayedObserverQueue *observerQueue;
* for the current processing.</p>
* <p>Upon the first invocation within a run loop, this method registers
* a callback method to have [-notifyObserversUpToPriority:] invoked
* with EOObserverPrioritySixth with the [NSRunLoop-currentRunLoop] with
* with EOObserverPrioritySixth with the
* <code>NSRunLoop currentRunLoop </code>with
* EOFlushDelayedObserverRunLoopOrdering and the receivers run loop modes.</p>
* <p>The observer is not retained and should be removed from the receiver
* with [-dequeueObserver:] during the EODelayedObservers [NSObject-dealloc]
* method.</p>
* with [-dequeueObserver:] during the EODelayedObservers
* <code>NSObject dealloc</code> method.</p>
*/
- (void)enqueueObserver: (EODelayedObserver *)observer
{
@ -635,7 +641,7 @@ static EODelayedObserverQueue *observerQueue;
/**
* Sets the run loop modes the receiver uses when registering
* for [-notifyObserversUpToPriority:] during [-enqueueObserver:].
* (see [NSRunLoop]).
* (see <code>NSRunLoop</code>).
*/
- (void)setRunLoopModes: (NSArray *)modes
{
@ -645,7 +651,7 @@ static EODelayedObserverQueue *observerQueue;
/**
* Returns the run loop modes the receiver uses when registering
* for [-notifyObserversUpToPriority:] during [-enqueueObserver:].
* (see [NSRunLoop]).
* (see <code>NSRunLoop</code>).
*/
- (NSArray *)runLoopModes
{

View file

@ -63,7 +63,7 @@
+ (EOQualifier *)qualifierToMatchAllValues: (NSDictionary *)values;
+ (EOQualifier *)qualifierToMatchAnyValue: (NSDictionary *)values;
- (NSException *)validateKeysWithRootClassDescription: (EOClassDescription *)classDesc;
- (NSException *)validateKeysWithRootClassDescription: (EOClassDescription *)classDescription;
+ (NSArray *)allQualifierOperators;
@ -83,7 +83,7 @@
- (NSString *)keyPathForBindingKey: (NSString *)key;
- (NSSet *)allQualifierKeys;
- (void)addQualifierKeysToSet: (NSMutableSet *)qualKeys;
- (void)addQualifierKeysToSet: (NSMutableSet *)keys;
- (BOOL)evaluateWithObject: (id)object;

View file

@ -39,6 +39,7 @@ RCS_ID("$Id$")
#include <Foundation/NSNotification.h>
#include <Foundation/NSSet.h>
#include <Foundation/NSString.h>
#include <Foundation/NSUndoManager.h>
#endif
#include <GNUstepBase/GSLock.h>
@ -48,7 +49,6 @@ RCS_ID("$Id$")
#include "EOFetchSpecification.h"
#include "EOGlobalID.h"
#include "EOObjectStoreCoordinator.h"
#include "EOUndoManager.h"
NSString *EODefaultSharedEditingContextWasInitializedNotification
@ -420,6 +420,7 @@ static EOSharedEditingContext *dfltSharedEditingContext = nil;
*/
- (void)reset
{
return;
}
/**
@ -551,6 +552,7 @@ static EOSharedEditingContext *dfltSharedEditingContext = nil;
*/
- (void)validateChangesForSave
{
return;
}
/**
@ -580,7 +582,7 @@ static EOSharedEditingContext *dfltSharedEditingContext = nil;
* Raises an NSInternalInconsistencyException
* since objects in a shared editing context may not be modified.
*/
- (void)objectWillChange: (id)object;
- (void)objectWillChange: (id)object
{
[NSException raise: NSInternalInconsistencyException
format: @"+[%@ deleteObject:] attempted to delete object in shared editing context", [self class]];

View file

@ -27,21 +27,7 @@
#ifndef __EOUndoManager_h__
#define __EOUndoManager_h__
#ifdef GNUSTEP
#include <Foundation/NSUndoManager.h>
#else
#include <Foundation/Foundation.h>
#endif
@interface EOUndoManager : NSUndoManager
- (void)forgetAllWithTarget: (id)param0;
- (void)forgetAll;
- (void)registerUndoWithTarget: (id)param0
selector: (SEL)param1
arg: (id)param2;
- (void)reenableUndoRegistration;
@end
#warning This file is deprecated. Use NSUndoManager.
#include <EOControl/EODeprecated.h>
#endif // __EOUndoManager_h__

View file

@ -46,7 +46,7 @@ RCS_ID("$Id$")
@implementation EOUndoManager
- (void) forgetAllWithTarget: (id)param0
- (void) forgetAllWithTarget: (id)target
{
EOFLOGObjectFnStart();
@ -65,8 +65,8 @@ RCS_ID("$Id$")
}
- (void) registerUndoWithTarget: (id)target
selector: (SEL)sel
arg: (id)arg
selector: (SEL)selector
arg: (id)argument
{
EOFLOGObjectFnStart();

View file

@ -27,6 +27,7 @@
include $(GNUSTEP_MAKEFILES)/common.make
include ../Version
include ../common.make
# The library to be compiled
NATIVE_LIBRARY_NAME=EOControl
@ -104,26 +105,19 @@ EODeprecated.h \
EOControl.h
DOCUMENT_NAME = EOControl
EOControl_AUTOGSDOC_HEADERS = $(EOControl_HEADER_FILES)
EOControl_AUTOGSDOC_SOURCE = $(EOControl_OBJC_FILES)
EOControl_HEADER_FILES_DIR = $(HEADER_DIR)
EOControl_AGSDOC_FILES = EOControl.gsdoc $(EOControl_AUTOGSDOC_HEADERS)
#$(EOControl_AUTOGSDOC_SOURCE)
EOControl_AGSDOC_FILES = EOControl.gsdoc \
$(EOControl_HEADER_FILES) \
$(EOControl_OBJC_FILES)
EOControl_AGSDOC_FLAGS = \
-Declared EOControl \
-Standards YES \
-SystemProjects System \
-Project EOControl \
-WordMap '{\
FOUNDATION_EXPORT=extern;FOUNDATION_STATIC_INLINE="";\
GS_GEOM_SCOPE=extern;GS_GEOM_ATTR="";\
GS_EXPORT=extern;GS_DECLARE="";\
GS_RANGE_SCOPE=extern;GS_RANGE_ATTR="";\
GS_ZONE_SCOPE=extern;GS_ZONE_ATTR="";\
}' -Up EOControl
-Up EOControl \
$(GDL2_AGSDOC_FLAGS)
-include Makefile.preamble
include ../common.make
include ../variable-processing.make
-include GNUmakefile.local
include $(GNUSTEP_MAKEFILES)/native-library.make

View file

@ -27,6 +27,7 @@
include $(GNUSTEP_MAKEFILES)/common.make
include ../Version
include ../common.make
# The library to be compiled
NATIVE_LIBRARY_NAME=EOInterface
@ -87,19 +88,13 @@ EOInterface_AGSDOC_FILES = EOInterface.gsdoc $(EOInterface_AUTOGSDOC_HEADERS)
#$(EOInterface_AUTOGSDOC_SOURCE)
EOInterface_AGSDOC_FLAGS = \
-Declared EOInterface \
-Standards YES \
-Project EOInterface \
-WordMap '{\
FOUNDATION_EXPORT=extern;FOUNDATION_STATIC_INLINE="";\
GS_GEOM_SCOPE=extern;GS_GEOM_ATTR="";\
GS_EXPORT=extern;GS_DECLARE="";\
GS_RANGE_SCOPE=extern;GS_RANGE_ATTR="";\
GS_ZONE_SCOPE=extern;GS_ZONE_ATTR="";\
}' -Up EOInterface
-Up EOInterface \
$(GDL2_AGSDOC_FLAGS)
-include Makefile.preamble
include ../common.make
include ../variable-processing.make
-include GNUmakefile.local
include $(GNUSTEP_MAKEFILES)/native-library.make

View file

@ -27,6 +27,7 @@
include $(GNUSTEP_MAKEFILES)/common.make
include ../Version
include ../common.make
# The library to be compiled
NATIVE_LIBRARY_NAME=EOModeler
@ -59,7 +60,7 @@ EOModelerEditor.h \
EODefines.h
-include Makefile.preamble
include ../common.make
include ../variable-processing.make
-include GNUmakefile.local

View file

@ -25,7 +25,7 @@
include $(GNUSTEP_MAKEFILES)/common.make
include ../gdl2.make
include ../common.make
PALETTE_NAME=GDL2
GDL2_PRINCIPAL_CLASS = GDL2Palette
@ -50,7 +50,7 @@ GDL2_OBJC_FILES= \
KeyWrapper.m \
DisplayGroupInspector.m
include ../common.make
include ../variable-processing.make
PALETTE_LIBS=$(ADDITIONAL_OBJC_LIBS)
include $(GNUSTEP_MAKEFILES)/palette.make

View file

@ -27,6 +27,7 @@
include $(GNUSTEP_MAKEFILES)/common.make
include ../Version
include ../common.make
# The library to be compiled
TOOL_NAME=gdlgsdoc eoutil
@ -65,15 +66,9 @@ gdl2gsdoc_AGSDOC_FILES = gdl2gsdoc.gsdoc $(gdl2gsdoc_AUTOGSDOC_HEADERS)
#$(gdl2gsdoc_AUTOGSDOC_SOURCE)
gdl2gsdoc_AGSDOC_FLAGS = \
-Declared gdlgsdoc \
-Standards YES \
-Project gdl2gsdoc \
-WordMap '{\
FOUNDATION_EXPORT=extern;FOUNDATION_STATIC_INLINE="";\
GS_GEOM_SCOPE=extern;GS_GEOM_ATTR="";\
GS_EXPORT=extern;GS_DECLARE="";\
GS_RANGE_SCOPE=extern;GS_RANGE_ATTR="";\
GS_ZONE_SCOPE=extern;GS_ZONE_ATTR="";\
}' -Up gdl2gsdoc
-Up gdl2gsdoc \
$(GDL2_AGSDOC_FLAGS)
eoutil_OBJC_FILES = eoutil.m
@ -82,7 +77,7 @@ eoutil_HEADER_FILES =
-include Makefile.preamble
include ../common.make
include ../variable-processing.make
-include GNUmakefile.local

12
Version
View file

@ -8,10 +8,10 @@ GNUSTEP_GCC=2.95.2
MAJOR_VERSION=0
MINOR_VERSION=10
SUBMINOR_VERSION=1
GDL_VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}
VERSION=${GDL_VERSION}
GDL2_VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${SUBMINOR_VERSION}
VERSION=${GDL2_VERSION}
GDL_FTP_MACHINE=ftp.gnustep.org
GDL_FTP_DIRECTORY=pub/gnustep/gdl2
GDL_SNAP_FTP_MACHINE=ftp.gnustep.org
GDL_SNAP_FTP_DIRECTORY=pub/daily-snapshots
GDL2_FTP_MACHINE=ftp.gnustep.org
GDL2_FTP_DIRECTORY=pub/gnustep/gdl2
GDL2_SNAP_FTP_MACHINE=ftp.gnustep.org
GDL2_SNAP_FTP_DIRECTORY=pub/daily-snapshots

View file

@ -1,6 +1,8 @@
ifeq ($(FOUNDATION_LIB), apple)
ADDITIONAL_LIB_DIRS += $(foreach libdir,$(ADDITIONAL_NATIVE_LIB_DIRS),-F$(libdir))
else
ADDITIONAL_LIB_DIRS += $(foreach libdir,$(ADDITIONAL_NATIVE_LIB_DIRS),-L$(libdir)/$(GNUSTEP_OBJ_DIR))
endif
GDL2_AGSDOC_FLAGS = \
-WordMap '{ \
RCS_ID = "//"; \
GDL2CONTROL_EXPORT = extern; \
}'
# -SystemProjects System \

View file

@ -38,7 +38,7 @@
#define RCS_ID(name) \
static const char rcsId[] = name; \
static const char *__rcsId_hack() {__rcsId_hack(); return rcsId;}
static const char RCSID[] = name; \
static const char *getRCSID() { if (0) getRCSID(); return RCSID;}
#endif /* __config_h__ */

5
variable-processing.make Normal file
View file

@ -0,0 +1,5 @@
ifeq ($(FOUNDATION_LIB), apple)
ADDITIONAL_LIB_DIRS += $(foreach libdir,$(ADDITIONAL_NATIVE_LIB_DIRS),-F$(libdir))
else
ADDITIONAL_LIB_DIRS += $(foreach libdir,$(ADDITIONAL_NATIVE_LIB_DIRS),-L$(libdir)/$(GNUSTEP_OBJ_DIR))
endif