grendel-1.0.0a7/backup/
grendel-1.0.0a7/bin/
grendel-1.0.0a7/boards/
grendel-1.0.0a7/clans/
grendel-1.0.0a7/documentation/todo/
grendel-1.0.0a7/help/
grendel-1.0.0a7/logs/
grendel-1.0.0a7/players/
grendel-1.0.0a7/progs/
grendel-1.0.0a7/races/
grendel-1.0.0a7/src/contrib/
grendel-1.0.0a7/src/modules/speller/
grendel-1.0.0a7/src/modules/status/
grendel-1.0.0a7/src/tests/
grendel-1.0.0a7/src/tests/dunit/
{
	Summary:
		Base unit for WebService
	
	## $Id: main.pas,v 1.1 2003/12/12 13:19:58 druid Exp $
}
unit main;

interface

implementation

uses
  SysUtils, Classes, IdHTTPWebBrokerBridge, WebModule, modules;

var
	FWebBrokerBridge: TIdHTTPWebBrokerBridge;


type
  GWebServiceModule = class(TInterfacedObject, IModuleInterface)
  	procedure registerModule();
  	procedure unregisterModule();
  end;


function returnModuleInterface() : IModuleInterface;
begin
	Result := GWebServiceModule.Create();
end;


procedure GWebServiceModule.registerModule();
begin
  // Create server.
  FWebBrokerBridge := TIdHTTPWebBrokerBridge.Create(nil);

  // Register web module class.
  FWebBrokerBridge.RegisterWebModuleClass(TGrendelWebModule);

  // Set default port.
  FWebBrokerBridge.DefaultPort := 4041;

  // Start server.
  FWebBrokerBridge.Active := True;
end;

procedure GWebServiceModule.unregisterModule();
begin
  // Stop server.
  FWebBrokerBridge.Active := False;

  // Free server component.
  FreeAndNil(FWebBrokerBridge);
end;


exports
	returnModuleInterface;

  
end.