File: frmsqldbrestdispatchini.pp

package info (click to toggle)
lazarus 2.2.6%2Bdfsg2-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 219,980 kB
  • sloc: pascal: 1,944,919; xml: 357,634; makefile: 270,608; cpp: 57,115; sh: 3,249; java: 609; perl: 297; sql: 222; ansic: 137
file content (113 lines) | stat: -rw-r--r-- 2,808 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
unit frmsqldbrestdispatchini;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, extctrls,Graphics, Dialogs, ButtonPanel, sqldbrestini;


Const
  EnabledOptions : Array[Boolean,TDispatcherIniOption] of Boolean = (
    { Read }  ( true, true, true, true, false, false, true, true ),
    { Write } ( false, false, false, false, True, True, True, true  )
 );

type
  { TSQLDBRestIniOptionsForm }

  TSQLDBRestIniOptionsForm = class(TForm)
    ButtonPanel1: TButtonPanel;
    CGOptions: TCheckGroup;
  private
    FForSave : Boolean;
  public
    Procedure DoInit(aForSave : Boolean);
    Function SelectedOptions :TDispatcherIniOptions;
  end;

Function GetDispatchLoadSaveOptions(aForSave : Boolean; Out Opts : TDispatcherIniOptions) : Boolean;

var
  SQLDBRestIniOptionsForm: TSQLDBRestIniOptionsForm;

implementation



{$R *.lfm}

Resourcestring
  SSkipReadConnections    =  'Do not Read connection definitions';
  SSkipExposeConnections  =  'Do not Expose connections defined in .ini file';
  SSkipReadSchemas        =  'Do not Read schema definitions';
  SDisableSchemas         =  'Do not enable schemas';
  SSkipWriteConnections   =  'Do not write connection definitions';
  SSkipWriteSchemas       =  'Do not write schema definitions';
  SSkipBasicAuth          =  'Do not read/write basic auth data.';


Function GetOptionString(O : TDispatcherIniOption) : String;

begin
  case o of
    dioSkipReadConnections   : Result:=SSkipReadConnections;
    dioSkipExposeConnections : Result:=SSkipExposeConnections;
    dioSkipReadSchemas       : Result:=SSkipReadSchemas;
    dioDisableSchemas        : Result:=SDisableSchemas;
    dioSkipWriteConnections  : Result:=SSkipWriteConnections;
    dioSkipWriteSchemas      : Result:=SSkipWriteSchemas;
    dioSkipBasicAuth         : Result:=SSkipBasicAuth;
  else
    Result:='';
  end
end;

Function GetDispatchLoadSaveOptions(aForSave : Boolean; Out Opts : TDispatcherIniOptions) : Boolean;

begin
  With TSQLDBRestIniOptionsForm.Create(Application) do
    try
      DoInit(aForSave);
      Result:=ShowModal=MROK;
      if Result then
        opts:=SelectedOptions;
    finally
      Free;
    end;
end;

{ TSQLDBRestIniOptionsForm }

procedure TSQLDBRestIniOptionsForm.DoInit(aForSave: Boolean);

Var
  T : TDispatcherIniOption;

begin
  CGOptions.Items.Clear;
  FForSave:=aForSave;
  For T in TDispatcherIniOption do
    if EnabledOptions[aForSave,T] then
      CGOptions.Items.Add(GetOptionString(T));
end;

function TSQLDBRestIniOptionsForm.SelectedOptions: TDispatcherIniOptions;
Var
  T : TDispatcherIniOption;
  I : integer;
begin
  I:=0;
  Result:=[];
  For T in TDispatcherIniOption do
    if EnabledOptions[FForSave,T] then
      begin
      if CGOptions.Checked[I] then
          Include(Result,T);
      end;
end;


end.