144 lines
4.0 KiB
Plaintext
144 lines
4.0 KiB
Plaintext
|
{
|
||
|
$Project$
|
||
|
$Workfile$
|
||
|
$Revision$
|
||
|
$DateUTC$
|
||
|
$Id$
|
||
|
|
||
|
This file is part of the Indy (Internet Direct) project, and is offered
|
||
|
under the dual-licensing agreement described on the Indy website.
|
||
|
(http://www.indyproject.org/)
|
||
|
|
||
|
Copyright:
|
||
|
(c) 1993-2005, Chad Z. Hower and the Indy Pit Crew. All rights reserved.
|
||
|
}
|
||
|
{
|
||
|
$Log$
|
||
|
}
|
||
|
{
|
||
|
Rev 1.9 10/26/2004 8:45:26 PM JPMugaas
|
||
|
Should compile.
|
||
|
|
||
|
Rev 1.8 10/26/2004 8:42:58 PM JPMugaas
|
||
|
Should be more portable with new references to TIdStrings and TIdStringList.
|
||
|
|
||
|
Rev 1.7 5/19/2004 10:44:28 PM DSiders
|
||
|
Corrected spelling for TIdIPAddress.MakeAddressObject method.
|
||
|
|
||
|
Rev 1.6 2/3/2004 11:34:26 AM JPMugaas
|
||
|
Should compile.
|
||
|
|
||
|
Rev 1.5.1.0 2/3/2004 11:32:26 AM JPMugaas
|
||
|
Should compile.
|
||
|
|
||
|
Rev 1.5 2/1/2004 2:44:20 AM JPMugaas
|
||
|
Bindings editor should be fully functional including IPv6 support.
|
||
|
|
||
|
Rev 1.4 2/1/2004 1:03:34 AM JPMugaas
|
||
|
This now work properly in both Win32 and DotNET. The behavior had to change
|
||
|
in DotNET because of some missing functionality and because implementing that
|
||
|
functionality creates more problems than it would solve.
|
||
|
|
||
|
Rev 1.3 2003.12.31 10:42:22 PM czhower
|
||
|
Warning removed
|
||
|
|
||
|
Rev 1.2 10/15/2003 10:12:32 PM DSiders
|
||
|
Added localization comments.
|
||
|
|
||
|
Rev 1.1 2003.10.11 5:47:46 PM czhower
|
||
|
-VCL fixes for servers
|
||
|
-Chain suport for servers (Super core)
|
||
|
-Scheduler upgrades
|
||
|
-Full yarn support
|
||
|
|
||
|
Rev 1.0 11/13/2002 08:43:58 AM JPMugaas
|
||
|
}
|
||
|
|
||
|
unit IdDsnPropEdBinding;
|
||
|
|
||
|
{
|
||
|
Design Note: It turns out that in DotNET, there are no services file functions and
|
||
|
IdPorts does not work as expected in DotNET. It is probably possible to read the
|
||
|
services file ourselves but that creates some portability problems as the placement
|
||
|
is different in every operating system.
|
||
|
|
||
|
e.g.
|
||
|
|
||
|
Linux and Unix-like systems - /etc
|
||
|
Windows 95, 98, and ME - c:\windows
|
||
|
Windows NT systems - c:\winnt\system32\drivers\etc
|
||
|
|
||
|
Thus, it will undercut whatever benefit we could get with DotNET.
|
||
|
|
||
|
About the best I could think of is to use an edit control because
|
||
|
we can't offer anything from the services file in DotNET.
|
||
|
|
||
|
TODO: Maybe there might be a way to find the location in a more elegant
|
||
|
manner than what I described.
|
||
|
}
|
||
|
|
||
|
interface
|
||
|
|
||
|
{$I IdCompilerDefines.inc}
|
||
|
|
||
|
{$IFDEF WIDGET_WINFORMS}
|
||
|
{$R 'IdDsnPropEdBindingNET.TIdDsnPropEdBindingNET.resources' 'IdDsnPropEdBindingNET.resx'}
|
||
|
{$ENDIF}
|
||
|
|
||
|
uses
|
||
|
Classes,
|
||
|
IdSocketHandle;
|
||
|
|
||
|
{
|
||
|
Design Note: It turns out that in DotNET, there are no services file functions and IdPorts
|
||
|
does not work as expected in DotNET. It is probably possible to read the services
|
||
|
file ourselves but that creates some portability problems as the placement is different
|
||
|
in every operating system.
|
||
|
|
||
|
e.g.
|
||
|
|
||
|
Linux and Unix-like systems - /etc
|
||
|
Windows 95, 98, and ME - c:\windows
|
||
|
Windows NT systems - c:\winnt\system32\drivers\etc
|
||
|
|
||
|
Thus, it will undercut whatever benefit we could get with DotNET.
|
||
|
|
||
|
About the best I could think of is to use an edit control because
|
||
|
we can't offer anything from the services file in DotNET.
|
||
|
|
||
|
TODO: Maybe there might be a way to find the location in a more eligant
|
||
|
manner than what I described.
|
||
|
}
|
||
|
|
||
|
procedure FillHandleList(const AList: string; ADest: TIdSocketHandles);
|
||
|
function GetListValues(const ASocketHandles : TIdSocketHandles) : String;
|
||
|
|
||
|
implementation
|
||
|
|
||
|
uses
|
||
|
{$IFDEF WIDGET_WINFORMS}
|
||
|
IdDsnPropEdBindingNET;
|
||
|
{$ELSE}
|
||
|
IdDsnPropEdBindingVCL;
|
||
|
{$ENDIF}
|
||
|
|
||
|
procedure FillHandleList(const AList: string; ADest: TIdSocketHandles);
|
||
|
begin
|
||
|
{$IFDEF WIDGET_WINFORMS}
|
||
|
IdDsnPropEdBindingNET.FillHandleList(AList,ADest);
|
||
|
{$ELSE}
|
||
|
IdDsnPropEdBindingVCL.FillHandleList(AList,ADest);
|
||
|
{$ENDIF}
|
||
|
end;
|
||
|
|
||
|
function GetListValues(const ASocketHandles : TIdSocketHandles) : String;
|
||
|
begin
|
||
|
{$IFDEF WIDGET_WINFORMS}
|
||
|
Result := IdDsnPropEdBindingNET.GetListValues(ASocketHandles);
|
||
|
{$ELSE}
|
||
|
Result := IdDsnPropEdBindingVCL.GetListValues(ASocketHandles);
|
||
|
{$ENDIF}
|
||
|
end;
|
||
|
|
||
|
end.
|