* EOAccess/EOAttribute.h/m (EOAdaptorUnknownType): Remove.

(protoOverride): Increase range.
        (isAttributeValueInitialized): New flag.
        (extraRefCount): Make standalone instance variable.
        (setValueClassName:): Use isAttributeValueInitialized flag
        instead of EOAdaptorUnknownType.
        (adaptorValueType): Use isAttributeValueInitialized flag
        instead of EOAdaptorUnknownType.
        * EOAdaptors/Postgres95/Postgres95Values.m
        (newValueForBytes:length:attribute:): Remove reference to
        EOAdaptorUnknownType.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20723 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
ayers 2005-02-15 21:29:24 +00:00
parent f64e9903ac
commit 764850852f
4 changed files with 30 additions and 16 deletions

View file

@ -1,4 +1,18 @@
2005-02-10 David Ayers <d.ayers@inode.at>
2005-02-15 David Ayers <d.ayers@inode.at>
* EOAccess/EOAttribute.h/m (EOAdaptorUnknownType): Remove.
(protoOverride): Increase range.
(isAttributeValueInitialized): New flag.
(extraRefCount): Make standalone instance variable.
(setValueClassName:): Use isAttributeValueInitialized flag
instead of EOAdaptorUnknownType.
(adaptorValueType): Use isAttributeValueInitialized flag
instead of EOAdaptorUnknownType.
* EOAdaptors/Postgres95/Postgres95Values.m
(newValueForBytes:length:attribute:): Remove reference to
EOAdaptorUnknownType.
2005-02-14 David Ayers <d.ayers@inode.at>
* EOAccess/EOModel.m (-writeToFile:): Clairfy documentation about
setting receivers name and path.

View file

@ -57,7 +57,6 @@ typedef enum {
} EOFactoryMethodArgumentType;
typedef enum {
EOAdaptorUnknownType = 0, // 0 so it is initialization value
EOAdaptorNumberType,
EOAdaptorCharactersType,
EOAdaptorBytesType,
@ -97,11 +96,12 @@ typedef enum {
unsigned int allowsNull:1;
unsigned int isReadOnly:1;
unsigned int isParentAnEOEntity:1;
unsigned int protoOverride:17;
unsigned int unused : 12;
unsigned int extraRefCount;
unsigned int protoOverride:18;
unsigned int isAttributeValueInitialized:1;
unsigned int unused : 10;
} _flags;
unsigned int extraRefCount;
NSDictionary *_sourceToDestinationKeyMap;
EOParameterDirection _parameterDirection;
NSDictionary *_userInfo;

View file

@ -909,7 +909,7 @@ return nexexp
_valueClass = NSClassFromString(_valueClassName);
_adaptorValueType=EOAdaptorUnknownType; // reset adaptorValueType
_flags.isAttributeValueInitialized = NO;
[self _setOverrideForKeyEnum: 3];//TODO
}
@ -1315,7 +1315,7 @@ return nexexp
- (EOAdaptorValueType)adaptorValueType
{
if (_adaptorValueType==EOAdaptorUnknownType)
if (!_flags.isAttributeValueInitialized)
{
Class adaptorClasses[] = { GDL2NSNumberClass,
GDL2NSStringClass,
@ -1326,19 +1326,24 @@ return nexexp
Class valueClass = Nil;
int i = 0;
for ( i = 0; i < 3; i++)
_adaptorValueType = EOAdaptorBytesType;
for ( i = 0; i < 3 && !_flags.isAttributeValueInitialized; i++)
{
for ( valueClass = [self _valueClass];
valueClass != Nil;
valueClass = GSObjCSuper(valueClass))
{
if (valueClass == adaptorClasses[i])
_adaptorValueType=values[i];
{
_adaptorValueType=values[i];
_flags.isAttributeValueInitialized = YES;
break;
}
}
}
if (_adaptorValueType==EOAdaptorUnknownType)
_adaptorValueType=EOAdaptorBytesType;
_flags.isAttributeValueInitialized = YES;
};
return _adaptorValueType;
}

View file

@ -121,11 +121,6 @@ IMP Postgres95Values_newValueForBytesLengthAttributeIMP=NULL;
return [self newValueForDateType: bytes
length: length
attribute: attribute];
case EOAdaptorUnknownType:
NSAssert1(NO,
@"Bad (EOAdaptorUnknownType) adaptor type for attribute : %@",
attribute);
return nil;
default:
NSAssert2(NO,
@"Bad (%d) adaptor type for attribute : %@",