//// BXPGInterface.h// BaseTen//// Copyright (C) 2006-2008 Marko Karppinen & Co. LLC.//// Before using this software, please review the available licensing options// by visiting http://basetenframework.org/licensing/ or by contacting// us at sales@karppinen.fi. Without an additional license, this software// may be distributed only in compliance with the GNU General Public License.////// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License, version 2.0,// as published by the Free Software Foundation.//// This program 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 General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA//// $Id$//#import <Foundation/Foundation.h>#import <BaseTen/BaseTen.h>#import <BaseTen/BXInterface.h>#import <BaseTen/PGTSQuery.h>@classBXPGTransactionHandler;@classBXPGNotificationHandler;@classBXPGDatabaseDescription;@classBXPGQueryBuilder;@classPGTSConnection;@classBXPGTableDescription;@classPGTSColumnDescription;@classPGTSQuery;@classPGTSResultSet;BX_EXPORTNSString*BXPGReturnList(NSArray*attrs,NSString*alias,BOOLprependAlias);@interfaceBXPGVersion:NSObject{}+(NSNumber*)currentVersionNumber;+(NSNumber*)currentCompatibilityVersionNumber;@end@interfaceBXPGInterface:NSObject<BXInterface>{BXDatabaseContext*mContext;//WeakBXPGTransactionHandler*mTransactionHandler;BXPGQueryBuilder*mQueryBuilder;NSMutableSet*mLockedObjects;BOOLmLocking;}-(BXPGTableDescription*)tableForEntity:(BXEntityDescription*)entity;-(BXPGTableDescription*)tableForEntity:(BXEntityDescription*)entityinDatabase:(BXPGDatabaseDescription*)database;-(BXDatabaseContext*)databaseContext;-(void)setTransactionHandler:(BXPGTransactionHandler*)handler;-(NSArray*)executeFetchForEntity:(BXEntityDescription*)entitywithPredicate:(NSPredicate*)predicatereturningFaults:(BOOL)returnFaultsclass:(Class)aClassforUpdate:(BOOL)forUpdateerror:(NSError**)error;-(NSArray*)observedOids;-(NSString*)insertQuery:(BXEntityDescription*)entityfieldValues:(NSDictionary*)fieldValueserror:(NSError**)error;-(NSString*)viewDefaultValue:(BXAttributeDescription*)attrerror:(NSError**)error;-(NSString*)recursiveDefaultValue:(NSString*)nameentity:(BXEntityDescription*)entityerror:(NSError**)error;-(void)prepareForConnecting;-(BXPGTransactionHandler*)transactionHandler;//Some of the methods needed by BaseTen Assistant.-(BOOL)process:(BOOL)shouldAddprimaryKeyFields:(NSArray*)attributeArrayerror:(NSError**)outError;-(BOOL)process:(BOOL)shouldEnableentities:(NSArray*)entityArrayerror:(NSError**)outError;-(BOOL)removePrimaryKeyForEntity:(BXEntityDescription*)viewEntityerror:(NSError**)outError;-(BOOL)hasBaseTenSchema;-(NSNumber*)schemaVersion;-(NSNumber*)schemaCompatibilityVersion;-(NSNumber*)frameworkCompatibilityVersion;-(BOOL)checkSchemaCompatibility:(NSError**)error;@end@interfaceBXPGInterface(ConnectionDelegate)-(void)connectionSucceeded;-(void)connectionFailed:(NSError*)error;-(void)connectionLost:(BXPGTransactionHandler*)handlererror:(NSError*)error;-(FILE*)traceFile;-(void)connection:(PGTSConnection*)connectionsentQueryString:(constchar*)queryString;-(void)connection:(PGTSConnection*)connectionsentQuery:(PGTSQuery*)query;-(void)connection:(PGTSConnection*)connectionreceivedResultSet:(PGTSResultSet*)res;@end@interfaceBXPGInterface(Visitor)<PGTSQueryVisitor>@end