Subversion Repositories indexer_suite

Rev

Rev 6 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6 Rev 8
Line 109... Line 109...
109
  Win32ImportSuffix;
109
  Win32ImportSuffix;
110
 
110
 
111
const
111
const
112
  ERROR_FIELD_SIZE = 200;
112
  ERROR_FIELD_SIZE = 200;
113
{$IFDEF VIATHINKSOFT}
113
{$IFDEF VIATHINKSOFT}
-
 
114
  // Example of multiple drives merging to one Index
-
 
115
  // Find out via "mountvol" command
114
  GUID_EHDD_A = '\\?\Volume{31e044b1-28dc-11e6-9bae-d067e54bf736}\';
116
  GUID_EHDD_A = '\\?\Volume{31e044b1-28dc-11e6-9bae-d067e54bf736}\';
115
  GUID_EHDD_B = '\\?\Volume{560e8251-2b6a-4ab7-82fc-d03df4d93538}\';
117
  GUID_EHDD_B = '\\?\Volume{560e8251-2b6a-4ab7-82fc-d03df4d93538}\';
-
 
118
  GUID_EHDD_R = '\\?\Volume{9d53ea3c-175c-4a8f-a7b4-7b9e6b765e58}\';
116
{$ENDIF}
119
{$ENDIF}
117
 
120
 
118
function MD5File(const filename: string): string;
121
function MD5File(const filename: string): string;
119
var
122
var
120
  IdMD5: TIdHashMessageDigest5;
123
  IdMD5: TIdHashMessageDigest5;
Line 242... Line 245...
242
begin
245
begin
243
  Result := filename;
246
  Result := filename;
244
{$IFDEF VIATHINKSOFT}
247
{$IFDEF VIATHINKSOFT}
245
  Result := StringReplace(Result, GUID_EHDD_A, 'EHDD:\', []);
248
  Result := StringReplace(Result, GUID_EHDD_A, 'EHDD:\', []);
246
  Result := StringReplace(Result, GUID_EHDD_B, 'EHDD:\', []);
249
  Result := StringReplace(Result, GUID_EHDD_B, 'EHDD:\', []);
-
 
250
  Result := StringReplace(Result, GUID_EHDD_R, 'EHDD:\', []);
247
{$ENDIF}
251
{$ENDIF}
248
end;
252
end;
249
 
253
 
250
function SpecialCompare(a, b: TDateTime): boolean; // true = same timestamp
254
function SpecialCompare(a, b: TDateTime): boolean; // true = same timestamp
251
begin
255
begin
Line 588... Line 592...
588
 
592
 
589
{$IFDEF VIATHINKSOFT}
593
{$IFDEF VIATHINKSOFT}
590
var
594
var
591
  cacheAconnected: boolean;
595
  cacheAconnected: boolean;
592
  cacheBconnected: boolean;
596
  cacheBconnected: boolean;
-
 
597
  cacheRconnected: boolean;
593
{$ENDIF}
598
{$ENDIF}
594
  function AllowFileCheck(AFileName: string): boolean;
599
  function AllowFileCheck(AFileName: string): boolean;
595
  var
600
  var
596
    guid: string;
601
    guid: string;
597
  begin
602
  begin
Line 605... Line 610...
605
      end;
610
      end;
606
      if not cacheBconnected and SysUtils.DirectoryExists(GUID_EHDD_B) then
611
      if not cacheBconnected and SysUtils.DirectoryExists(GUID_EHDD_B) then
607
      begin
612
      begin
608
        cacheBconnected := true;
613
        cacheBconnected := true;
609
      end;
614
      end;
-
 
615
      if not cacheRconnected and SysUtils.DirectoryExists(GUID_EHDD_R) then
-
 
616
      begin
-
 
617
        cacheRconnected := true;
-
 
618
      end;
610
      Result := cacheAconnected or cacheBconnected;
619
      Result := cacheAconnected or cacheBconnected or cacheRconnected;
611
    end
620
    end
612
    else
621
    else
613
{$ENDIF}
622
{$ENDIF}
614
      if StartsText('\\?\Volume', AFileName) then
623
      if StartsText('\\?\Volume', AFileName) then
615
      begin
624
      begin
Line 643... Line 652...
643
 
652
 
644
      if cacheBconnected and FileExists(StringReplace(AFileName, 'EHDD:\',
653
      if cacheBconnected and FileExists(StringReplace(AFileName, 'EHDD:\',
645
        GUID_EHDD_B, [])) then
654
        GUID_EHDD_B, [])) then
646
        exit(true);
655
        exit(true);
647
 
656
 
-
 
657
      if cacheBconnected and FileExists(StringReplace(AFileName, 'EHDD:\',
-
 
658
        GUID_EHDD_R, [])) then
-
 
659
        exit(true);
-
 
660
 
648
      exit(false);
661
      exit(false);
649
    end;
662
    end;
650
{$ENDIF}
663
{$ENDIF}
651
    exit(FileExists(AFileName));
664
    exit(FileExists(AFileName));
652
  end;
665
  end;