ftp.nice.ch/peanuts/GeneralData/Documents/developer/dbkit/AdaptorDocu.tar.gz#/AdaptorDocu/HeadersFromNext/DBAdaptorSupport.h

This is DBAdaptorSupport.h in view mode; [Download] [Up]

/*
**      DBAdaptorSupport.h
**      Database Kit, Release 3.0
**      Copyright (c) 1992, NeXT Computer, Inc.  All rights reserved. 
*/

#import <dbkit/DBDatabase.h>
#import <dbkit/DBBinder.h>

@interface DBDatabase (DBAdaptorSupport)

- adaptor;

- (id<DBProperties>)recordIdentityProperty;
- (BOOL)outerJoinIsDefault;

- addEntity:(id<DBEntities>)anEntity;

/*
** This should called by the adaptor when ready to evaluate a string -- by
**  returning NO, this action can be cancelled.
*/
- (BOOL)binder:aBinder willEvaluateString:(const unsigned char*)aString;

/*
** Notification can use appkit-style panels, if panelsEnabled is YES.
**  If the delegate responds to the db:notificationFrom:message:code:
**  message, THIS WILL OVERRIDE the panel. Adaptor-specific, string-based
**  protocols can be created by the delegate.
**
** If setPanelsEnabled:NO is called, the error and login panels from the
**  adaptors will both be suppressed.  (Providing a delegate overrides just
**  the error panel -- the login panel will still appear.)
**
** This message also logs to the delegate.
*/
- (BOOL)notificationFrom:anObject
     message:(const unsigned char*)msg code:(int)code;

/*
** DBAdaptor protocol
*/
- (BOOL)insertData:(DBBinder*)aBinder;
- (BOOL)selectData:(DBBinder*)aBinder;
- (BOOL)updateData:(DBBinder*)aBinder;
- (BOOL)deleteData:(DBBinder*)aBinder;

- (BOOL)evaluateString:(const unsigned char*)aString using:(DBBinder*)aBinder;
- (BOOL)fetchData:(DBBinder*)aBinder;
- (void)fetchDone:(DBBinder*)aBinder;

/*
** Unknown messages are forwarded to the adaptor, if it responds to the
**  message.  If logging is enabled, the log will be written on unrecognized
**  messages, otherwise, doesNotRecognize will be called.
*/
- forward:(SEL)aSel :(marg_list)args;

@end

@interface DBBinder (DBAdaptorSupport)

/*
** These routines will assist you in tailoring the behavior of the binder for
**  specific mapped objects.  The default for mapped objects is to have both
**  input and output enabled, but not qualification.
*
** Using the mappings for qualification is very useful for updating values
**  after a select, for instance -- all fields except the one being updated
**  can have their qualifiesValues set to YES, making the update much less
**  ambiguous.  The operator used for qualification is ALWAYS "=".
**
** These methods are used in a specific way by upper level DBKit objects;
**  don't use them if you are expecting to use application level objects
**  with your binder.
*/
- (BOOL)propertyAcceptsValues:(id<DBProperties>)aProperty;
- (BOOL)propertyProvidesValues:(id<DBProperties>)aProperty;
- (BOOL)propertyQualifiesValues:(id<DBProperties>)aProperty;

- acceptValues:(BOOL)yn forProperty:(id<DBProperties>)aProperty;
- provideValues:(BOOL)yn forProperty:(id<DBProperties>)aProperty;
- qualifyValues:(BOOL)yn forProperty:(id<DBProperties>)aProperty;

@end

@interface Object (UniqueNames)

- (const char*)uniquePropertyName;

@end

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.