]> err.no Git - sope/blob - sope-gdl1/FrontBase2/FrontBase2Adaptor.h
added missing inline pathes
[sope] / sope-gdl1 / FrontBase2 / FrontBase2Adaptor.h
1 /* 
2    FBAdaptor.h
3
4    Copyright (C) 1999 MDlink online service center GmbH and Helge Hess
5
6    Author: Helge Hess (helge@mdlink.de)
7
8    This file is part of the FB Adaptor Library
9
10    This library is free software; you can redistribute it and/or
11    modify it under the terms of the GNU Library General Public
12    License as published by the Free Software Foundation; either
13    version 2 of the License, or (at your option) any later version.
14
15    This library is distributed in the hope that it will be useful,
16    but WITHOUT ANY WARRANTY; without even the implied warranty of
17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18    Library General Public License for more details.
19
20    You should have received a copy of the GNU Library General Public
21    License along with this library; see the file COPYING.LIB.
22    If not, write to the Free Software Foundation,
23    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 */
25 // $Id: FrontBase2Adaptor.h 1 2004-08-20 10:38:46Z znek $
26
27 #ifndef ___FB_Adaptor_H___
28 #define ___FB_Adaptor_H___
29
30 /*
31   The FB adaptor.
32
33   The connection dictionary of this adaptor understands these keys:
34     hostName
35     userName
36     password
37     databaseName
38     databasePassword
39     transactionIsolationLevel
40     lockingDiscipline
41 */
42
43 #import <Foundation/NSMapTable.h>
44 #import <GDLAccess/EOAdaptor.h>
45 #import <GDLAccess/EOAttribute.h>
46 #import "FBHeaders.h"
47
48 @class NSString, NSMutableDictionary;
49 @class FrontBaseChannel;
50
51 extern NSString *FBNotificationName;
52
53 @interface FrontBase2Adaptor : EOAdaptor
54 {
55 @private
56   NSMapTable *typeNameToCode;
57   NSMapTable *typeCodeToName;
58 }
59
60 - (id)initWithName:(NSString *)_name;
61
62 /* connection management */
63
64 - (NSString *)serverName;
65 - (NSString *)loginName;
66 - (NSString *)loginPassword;
67 - (NSString *)databaseName;
68 - (NSString *)databasePassword;
69 - (NSString *)transactionIsolationLevel;
70 - (NSString *)lockingDiscipline;
71
72 /* key generation */
73
74 - (NSString *)newKeyExpression;
75
76 /* value formatting */
77
78 - (id)formatValue:(id)value forAttribute:(EOAttribute *)attribute;
79
80 /* classes used */
81
82 - (Class)adaptorContextClass; // FrontBaseContext
83 - (Class)adaptorChannelClass; // FrontBaseChannel
84 - (Class)expressionClass;     // FBSQLExpression
85
86 @end
87
88 @interface FrontBase2Adaptor(ExternalTyping)
89
90 - (int)typeCodeForExternalName:(NSString *)_typeName;
91 - (NSString *)externalNameForTypeCode:(int)_typeCode;
92
93 - (BOOL)isInternalBlobType:(int)_type;
94 - (BOOL)isBlobAttribute:(EOAttribute *)_attr;
95 - (BOOL)isValidQualifierType:(NSString *)_typeName;
96 - (BOOL)attributeAllowedInDistinctSelects:(EOAttribute *)_attr;
97
98 @end
99
100 #endif