ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/runtime/nongui/IBInternals.pas
Revision: 410
Committed: Thu Jun 22 13:52:39 2023 UTC (17 months ago) by tony
Content type: text/x-pascal
File size: 3722 byte(s)
Log Message:
Release 2.6.0 beta

File Contents

# Content
1 (*
2 * IBX For Lazarus (Firebird Express)
3 *
4 * The contents of this file are subject to the Initial Developer's
5 * Public License Version 1.0 (the "License"); you may not use this
6 * file except in compliance with the License. You may obtain a copy
7 * of the License here:
8 *
9 * http://www.firebirdsql.org/index.php?op=doc&id=idpl
10 *
11 * Software distributed under the License is distributed on an "AS
12 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
13 * implied. See the License for the specific language governing rights
14 * and limitations under the License.
15 *
16 * The Initial Developer of the Original Code is Tony Whyman.
17 *
18 * The Original Code is (C) 2015-2020 Tony Whyman, MWA Software
19 * (http://www.mwasoftware.co.uk).
20 *
21 * All Rights Reserved.
22 *
23 * Contributor(s): ______________________________________.
24 *
25 *)
26 unit IBInternals;
27
28 {$mode objfpc}{$H+}
29
30 {Interfaces used internally and not normally made visible to users}
31
32 interface
33
34 uses
35 Classes, SysUtils, DB;
36
37 const
38 sDBkeyAlias = 'IBX_INTERNAL_DBKEY'; {Special case for TIBTable support}
39
40 type
41 TTraceControlFlag = (tfQPrepare, tfQExecute, tfQFetch, tfError, tfStmt, tfConnect,
42 tfTransact, tfBlob, tfService, tfMisc, tfDisabled);
43 TTraceFlag = tfQPrepare..tfMisc;
44 TTraceFlags = set of TTraceFlag;
45
46 { TIBXMonitoredComponent }
47
48 TIBXMonitoredComponent = class(TComponent)
49 private
50 FTraceFlags: TTraceFlags;
51 public
52 constructor Create(aOwner: TComponent); override;
53 property TraceFlags: TTraceFlags read FTraceFlags write FTraceFlags;
54 end;
55
56 TIBMonitoredService = class(TIBXMonitoredComponent);
57 TIBXMonitoredService = class(TIBXMonitoredComponent);
58
59 { TIBXMonitoredConnection }
60
61 TIBXMonitoredConnection = class(TCustomConnection)
62 private
63 FTraceFlags: TTraceFlags;
64 public
65 constructor Create(aOwner: TComponent); override;
66 property TraceFlags: TTraceFlags read FTraceFlags write FTraceFlags;
67 end;
68
69
70 IIBTimerInf = interface
71 function GetEnabled: boolean;
72 procedure SetEnabled(Value: Boolean);
73 function GetInterval: Cardinal;
74 procedure SetInterval(Value: Cardinal);
75 function GetOnTimer: TNotifyEvent;
76 procedure SetOnTimer(Value: TNotifyEvent);
77 function GetOnStartTimer: TNotifyEvent;
78 procedure SetOnStartTimer(Value: TNotifyEvent);
79 function GetOnStopTimer: TNotifyEvent;
80 procedure SetOnStopTimer(Value: TNotifyEvent);
81 property Enabled: Boolean read GetEnabled write SetEnabled;
82 property Interval: Cardinal read GetInterval write SetInterval;
83 property OnTimer: TNotifyEvent read GetOnTimer write SetOnTimer;
84 property OnStartTimer: TNotifyEvent read GetOnStartTimer write SetOnStartTimer;
85 property OnStopTimer: TNotifyEvent read GetOnStopTimer write SetOnStopTimer;
86 end;
87
88 TIBDataEvent = procedure (Data: PtrInt) of object;
89
90 IIBGUIInterface = interface
91 function ServerLoginDialog(var AServerName: string;
92 var AUserName, APassword: string): Boolean;
93 function LoginDialogEx(var ADatabaseName: string;
94 var AUserName, APassword: string;
95 NameReadOnly: Boolean): Boolean;
96 procedure SetCursor;
97 procedure RestoreCursor;
98 function CreateTimer: IIBTimerInf;
99 procedure QueueAsyncCall(const AMethod: TIBDataEvent; Data: PtrInt);
100 end;
101
102 const IBGUIInterface : IIBGUIInterface = nil;
103
104 implementation
105
106 { TIBXMonitoredComponent }
107
108 constructor TIBXMonitoredComponent.Create(aOwner: TComponent);
109 begin
110 inherited Create(aOwner);
111 FTraceFlags := [];
112 end;
113
114 { TIBXMonitoredConnection }
115
116 constructor TIBXMonitoredConnection.Create(aOwner: TComponent);
117 begin
118 inherited Create(aOwner);
119 FTraceFlags := [];
120 end;
121
122 end.
123

Properties

Name Value
svn:eol-style native