libs-gdl2/EOAdaptors/Postgres95/Postgres95Values.h
Manuel Guesdon 8f9ee35c5c Optimizations :
2005-02-13  Manuel Guesdon  <mguesdon@orange-concept.com>
 * EOControl/EOClassDescription.m:
  o use IMPs
  o avoid NSString build in -addObject:toPropertyWithKey:
  o avoid NSString build in -removeObject:fromPropertyWithKey:
 * EOAccess/EODatabaseContext.m:
  o added and use EODatabaseContext_globalIDForObjectWithImpPtr
  o use IMPs
 * EOAccess/EOEntity.m:
  o use IMPs
 * EOAccess/EOAttribute.m:
  o use IMPs
  o optimized -validateValue
 * EOAccess/EODatabaseContextPriv.h:
  o added EODatabaseContext_globalIDForObjectWithImpPtr
 * EOControl/EOPriv.[hm]:
  o added more helpers
 * EOControl/EOEditingContext.m:
  o use IMPs
 * EOControl/EOGenericRecord.m:
  o use IMPs in descriptions
 * EOAdaptors/Postgres95Values.m:
  o use GDL2StringDefaultCStringEncoding() in
  +newValueForCharactersType:length:attribute:
 * EOAdaptors/Postgres95Channel.m:
  o IMP optimizations
 * EOAdaptors/Postgres95Adaptor.m:
  o IMP optimizations


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20700 72102866-910b-0410-8b05-ffd578937521
2005-02-13 13:04:19 +00:00

90 lines
2.9 KiB
Objective-C

/*
Postgres95Values.h
Copyright (C) 2000 Free Software Foundation, Inc.
Author: Mirko Viviani <mirko.viviani@rccr.cremona.it
Date: February 2000
This file is part of the GNUstep Database Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __Postgres95Values_h__
#define __Postgres95Values_h__
#ifdef GNUSTEP
#include <Foundation/NSString.h>
#include <Foundation/NSValue.h>
#include <Foundation/NSData.h>
#include <Foundation/NSDate.h>
#include <Foundation/NSCalendarDate.h>
#else
#include <Foundation/Foundation.h>
#endif
@class EOAttribute;
@class Postgres95Channel;
extern NSString *Postgres95CalendarFormat;
extern Class Postgres95ValuesClass;
extern SEL Postgres95Values_newValueForBytesLengthAttributeSEL;
extern IMP Postgres95Values_newValueForBytesLengthAttributeIMP;
@interface Postgres95Values:NSObject
{
}
+ (id)newValueForBytes: (const void *)bytes
length: (int)length
attribute: (EOAttribute *)attribute;
+ (id)newValueForNumberType: (const void *)bytes
length: (int)length
attribute: (EOAttribute *)attribute;
+ (id)newValueForCharactersType: (const void *)bytes
length: (int)length
attribute: (EOAttribute *)attribute;
+ (id)newValueForBytesType: (const void *)bytes
length: (int)length
attribute: (EOAttribute *)attribute;
+ (id)newValueForDateType: (const void *)bytes
length: (int)length
attribute: (EOAttribute *)attribute;
@end
@interface NSCalendarDate (Postgres95ValueCreation)
+ (void)setPostgres95Format: (NSString *)_format;
+ (NSString *)postgres95Format;
@end
#define Postgres95Values_newValueForBytesLengthAttribute(bytes,length,attribute) \
(*Postgres95Values_newValueForBytesLengthAttributeIMP)(Postgres95ValuesClass, \
Postgres95Values_newValueForBytesLengthAttributeSEL, \
(const void *)(bytes), \
(int)(length), \
(EOAttribute*)(attribute))
#endif /* __Postgres95Values_h__ */