libs-gdl2/EOAdaptors/Postgres95/Postgres95Channel.h
David Ayers 9647f11503 * COPYING.LIB: Update to LGPL 2.1.
* configure: Regenerate.
	* Update FSF Address and Copyright years.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21645 72102866-910b-0410-8b05-ffd578937521
2005-08-17 08:07:57 +00:00

96 lines
2.8 KiB
Objective-C

/*
Postgres95Channel.h
Copyright (C) 2000,2002,2003,2004,2005 Free Software Foundation, Inc.
Author: Mirko Viviani <mirko.viviani@rccr.cremona.it>
Date: February 2000
based on the Postgres95 adaptor written by
Mircea Oancea <mircea@jupiter.elcom.pub.ro>
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,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __Postgres95Channel_h__
#define __Postgres95Channel_h__
#include <EOAccess/EOAdaptorChannel.h>
#include <Postgres95EOAdaptor/Postgres95Context.h>
@class NSString;
@class NSMutableDictionary;
@class NSMutableArray;
@class EOAttribute;
@interface Postgres95Channel : EOAdaptorChannel
{
Postgres95Context *_adaptorContext;
PGconn *_pgConn;
PGresult *_pgResult;
NSArray *_attributes;
NSArray *_origAttributes;
EOSQLExpression *_sqlExpression;
int _currentResultRow;
NSMutableDictionary *_oidToTypeName;
BOOL _isFetchInProgress;
BOOL _fetchBlobsOid;
NSArray *_pkAttributeArray;
int _pgVersion;
struct {
unsigned int postgres95InsertedRowOid:1;
unsigned int postgres95Notification:1;
} _postgres95DelegateRespondsTo;
}
- (PGconn*)pgConn;
- (PGresult*)pgResult;
- (BOOL)advanceRow;
- (void)cleanupFetch;
- (void)_cancelResults;
- (void)_describeResults;
- (void)_readServerVersion;
/* Extensions for login panel */
- (NSArray *)describeDatabaseNames;
- (BOOL)userNameIsAdministrative:(NSString*)userName;
/* Private methods */
- (char*)_readBinaryDataRow: (Oid)oid length: (int*)length zone: (NSZone*)zone;
- (Oid)_insertBinaryData: (NSData*)binaryData forAttribute: (EOAttribute*)attr;
- (Oid)_updateBinaryDataRow: (Oid)oid data: (NSData*)binaryData;
- (void)_describeDatabaseTypes;
- (BOOL)_evaluateExpression: (EOSQLExpression *)expression
withAttributes: attrs;
@end
@interface NSObject (Postgres95ChannelDelegate)
- (void)postgres95Channel: (Postgres95Channel*)channel
insertedRowWithOid: (Oid)oid;
- (void)postgres95Channel: (Postgres95Channel*)channel
receivedNotification: (NSString*)notification;
@end
#endif /* __Postgres95Channel_h__ */