Componentes.Terceros.RemObj.../internal/5.0.23.613/1/RemObjects SDK for Delphi/Source/ROMasterServerLibrary_Intf.pas
david f0e35ec439 - Eliminadas las librerías para Delphi 6 (Dcu\D6) en RO y DA.
- Recompilación de RO para poner RemObjects_Core_D10 como paquete de runtime/designtime.

git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@3 b6239004-a887-0f4b-9937-50029ccdca16
2007-09-10 10:40:17 +00:00

435 lines
15 KiB
ObjectPascal

unit ROMasterServerLibrary_Intf;
{----------------------------------------------------------------------------}
{ This unit was automatically generated by the RemObjects SDK after reading }
{ the RODL file associated with this project . }
{ }
{ Do not modify this unit manually, or your changes will be lost when this }
{ unit is regenerated the next time you compile the project. }
{----------------------------------------------------------------------------}
interface
{$I RemObjects.inc}
uses
{vcl:} Classes, TypInfo,
{RemObjects:} uROClasses, uROClient, uROTypes, uROClientIntf;
const
{ Library ID }
LibraryUID = '{3B3A1E32-67EF-4541-A26A-73F27A8608BD}';
{ Service Interface ID's }
IROSessionManager_IID : TGUID = '{9B77C6B4-F2CA-4CFF-91F5-A194265725CF}';
{ Event ID's }
type
{ Forward declarations }
IROSessionManager = interface;
TROSessionManagerConfiguration = class;
TROUserSession = class;
{ TROSessionManagerConfiguration }
TROSessionManagerConfiguration = class(TROComplexType)
private
fMaxSessions: Integer;
fSessionDuration: Integer;
fMessageDuration: Integer;
public
procedure Assign(iSource: TPersistent); override;
published
property MaxSessions:Integer read fMaxSessions write fMaxSessions;
property SessionDuration:Integer read fSessionDuration write fSessionDuration;
property MessageDuration:Integer read fMessageDuration write fMessageDuration;
end;
{ TROSessionManagerConfigurationCollection }
TROSessionManagerConfigurationCollection = class(TROCollection)
protected
constructor Create(aItemClass: TCollectionItemClass); overload;
function GetItems(Index: integer): TROSessionManagerConfiguration;
procedure SetItems(Index: integer; const Value: TROSessionManagerConfiguration);
public
constructor Create; overload;
function Add: TROSessionManagerConfiguration; reintroduce;
property Items[Index: integer]:TROSessionManagerConfiguration read GetItems write SetItems; default;
end;
{ TROUserSession }
TROUserSession = class(TROComplexType)
private
fSessionID: String;
fCreated: DateTime;
fLastAccessed: DateTime;
fData: Binary;
function GetData: Binary;
public
procedure Assign(iSource: TPersistent); override;
published
property SessionID:String read fSessionID write fSessionID;
property Created:DateTime read fCreated write fCreated;
property LastAccessed:DateTime read fLastAccessed write fLastAccessed;
property Data:Binary read GetData write fData;
end;
{ TROUserSessionCollection }
TROUserSessionCollection = class(TROCollection)
protected
constructor Create(aItemClass: TCollectionItemClass); overload;
function GetItems(Index: integer): TROUserSession;
procedure SetItems(Index: integer; const Value: TROUserSession);
public
constructor Create; overload;
function Add: TROUserSession; reintroduce;
property Items[Index: integer]:TROUserSession read GetItems write SetItems; default;
end;
{ IROSessionManager }
IROSessionManager = interface
['{9B77C6B4-F2CA-4CFF-91F5-A194265725CF}']
function ReadConfiguration: TROSessionManagerConfiguration;
procedure UpdateConfiguration(const Configuration: TROSessionManagerConfiguration);
function CreateSession(const SessionID: String; const SessionData: Binary): Boolean;
function ReadSession(const SessionID: String): TROUserSession;
procedure UpdateSession(const SessionID: String; const SessionData: Binary);
function DeleteSession(const SessionID: String): Boolean;
procedure ClearSessions(const OnlyExpired: Boolean);
function GetSessionCount: Integer;
procedure StoreMessage(const SourceSessionID: String; const MessageData: Binary; const ExcludeSender: Boolean; const ExcludeSessionList: Boolean;
const SessionList: String);
function GetMessages(const SessionID: String; out MessageData: Binary): Integer;
function GetTimeout: Integer;
procedure SetTimeout(const value: Integer);
end;
{ CoROSessionManager }
CoROSessionManager = class
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IROSessionManager;
end;
{ TROSessionManager_Proxy }
TROSessionManager_Proxy = class(TROProxy, IROSessionManager)
protected
function __GetInterfaceName:string; override;
function ReadConfiguration: TROSessionManagerConfiguration;
procedure UpdateConfiguration(const Configuration: TROSessionManagerConfiguration);
function CreateSession(const SessionID: String; const SessionData: Binary): Boolean;
function ReadSession(const SessionID: String): TROUserSession;
procedure UpdateSession(const SessionID: String; const SessionData: Binary);
function DeleteSession(const SessionID: String): Boolean;
procedure ClearSessions(const OnlyExpired: Boolean);
function GetSessionCount: Integer;
procedure StoreMessage(const SourceSessionID: String; const MessageData: Binary; const ExcludeSender: Boolean; const ExcludeSessionList: Boolean;
const SessionList: String);
function GetMessages(const SessionID: String; out MessageData: Binary): Integer;
function GetTimeout: Integer;
procedure SetTimeout(const value: Integer);
end;
implementation
uses
{vcl:} SysUtils,
{RemObjects:} uROEventRepository, uRORes;
{ TROSessionManagerConfiguration }
procedure TROSessionManagerConfiguration.Assign(iSource: TPersistent);
var lSource: ROMasterServerLibrary_Intf.TROSessionManagerConfiguration;
begin
inherited Assign(iSource);
if (iSource is ROMasterServerLibrary_Intf.TROSessionManagerConfiguration) then begin
lSource := ROMasterServerLibrary_Intf.TROSessionManagerConfiguration(iSource);
MaxSessions := lSource.MaxSessions;
SessionDuration := lSource.SessionDuration;
MessageDuration := lSource.MessageDuration;
end;
end;
{ TROSessionManagerConfigurationCollection }
constructor TROSessionManagerConfigurationCollection.Create;
begin
inherited Create(TROSessionManagerConfiguration);
end;
constructor TROSessionManagerConfigurationCollection.Create(aItemClass: TCollectionItemClass);
begin
inherited Create(aItemClass);
end;
function TROSessionManagerConfigurationCollection.Add: TROSessionManagerConfiguration;
begin
result := TROSessionManagerConfiguration(inherited Add);
end;
function TROSessionManagerConfigurationCollection.GetItems(Index: integer): TROSessionManagerConfiguration;
begin
result := TROSessionManagerConfiguration(inherited Items[Index]);
end;
procedure TROSessionManagerConfigurationCollection.SetItems(Index: integer; const Value: TROSessionManagerConfiguration);
begin
TROSessionManagerConfiguration(inherited Items[Index]).Assign(Value);
end;
{ TROUserSession }
procedure TROUserSession.Assign(iSource: TPersistent);
var lSource: ROMasterServerLibrary_Intf.TROUserSession;
begin
inherited Assign(iSource);
if (iSource is ROMasterServerLibrary_Intf.TROUserSession) then begin
lSource := ROMasterServerLibrary_Intf.TROUserSession(iSource);
SessionID := lSource.SessionID;
Created := lSource.Created;
LastAccessed := lSource.LastAccessed;
if Assigned(Data) then
Data.Assign(lSource.Data);
end;
end;
function TROUserSession.GetData: Binary;
begin
result := fData;
end;
{ TROUserSessionCollection }
constructor TROUserSessionCollection.Create;
begin
inherited Create(TROUserSession);
end;
constructor TROUserSessionCollection.Create(aItemClass: TCollectionItemClass);
begin
inherited Create(aItemClass);
end;
function TROUserSessionCollection.Add: TROUserSession;
begin
result := TROUserSession(inherited Add);
end;
function TROUserSessionCollection.GetItems(Index: integer): TROUserSession;
begin
result := TROUserSession(inherited Items[Index]);
end;
procedure TROUserSessionCollection.SetItems(Index: integer; const Value: TROUserSession);
begin
TROUserSession(inherited Items[Index]).Assign(Value);
end;
{ CoROSessionManager }
class function CoROSessionManager.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IROSessionManager;
begin
result := TROSessionManager_Proxy.Create(aMessage, aTransportChannel);
end;
{ TROSessionManager_Proxy }
function TROSessionManager_Proxy.__GetInterfaceName:string;
begin
result := 'ROSessionManager';
end;
function TROSessionManager_Proxy.ReadConfiguration: TROSessionManagerConfiguration;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'ReadConfiguration');
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(ROMasterServerLibrary_Intf.TROSessionManagerConfiguration), result, []);
finally
__Message.FreeStream;
end
end;
procedure TROSessionManager_Proxy.UpdateConfiguration(const Configuration: TROSessionManagerConfiguration);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'UpdateConfiguration');
__Message.Write('Configuration', TypeInfo(ROMasterServerLibrary_Intf.TROSessionManagerConfiguration), Configuration, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
function TROSessionManager_Proxy.CreateSession(const SessionID: String; const SessionData: Binary): Boolean;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'CreateSession');
__Message.Write('SessionID', TypeInfo(String), SessionID, []);
__Message.Write('SessionData', TypeInfo(Binary), SessionData, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Boolean), result, []);
finally
__Message.FreeStream;
end
end;
function TROSessionManager_Proxy.ReadSession(const SessionID: String): TROUserSession;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'ReadSession');
__Message.Write('SessionID', TypeInfo(String), SessionID, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(ROMasterServerLibrary_Intf.TROUserSession), result, []);
finally
__Message.FreeStream;
end
end;
procedure TROSessionManager_Proxy.UpdateSession(const SessionID: String; const SessionData: Binary);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'UpdateSession');
__Message.Write('SessionID', TypeInfo(String), SessionID, []);
__Message.Write('SessionData', TypeInfo(Binary), SessionData, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
function TROSessionManager_Proxy.DeleteSession(const SessionID: String): Boolean;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'DeleteSession');
__Message.Write('SessionID', TypeInfo(String), SessionID, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Boolean), result, []);
finally
__Message.FreeStream;
end
end;
procedure TROSessionManager_Proxy.ClearSessions(const OnlyExpired: Boolean);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'ClearSessions');
__Message.Write('OnlyExpired', TypeInfo(Boolean), OnlyExpired, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
function TROSessionManager_Proxy.GetSessionCount: Integer;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'GetSessionCount');
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Integer), result, []);
finally
__Message.FreeStream;
end
end;
procedure TROSessionManager_Proxy.StoreMessage(const SourceSessionID: String; const MessageData: Binary; const ExcludeSender: Boolean; const ExcludeSessionList: Boolean;
const SessionList: String);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'StoreMessage');
__Message.Write('SourceSessionID', TypeInfo(String), SourceSessionID, []);
__Message.Write('MessageData', TypeInfo(Binary), MessageData, []);
__Message.Write('ExcludeSender', TypeInfo(Boolean), ExcludeSender, []);
__Message.Write('ExcludeSessionList', TypeInfo(Boolean), ExcludeSessionList, []);
__Message.Write('SessionList', TypeInfo(String), SessionList, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
function TROSessionManager_Proxy.GetMessages(const SessionID: String; out MessageData: Binary): Integer;
begin
try
MessageData := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'GetMessages');
__Message.Write('SessionID', TypeInfo(String), SessionID, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Integer), result, []);
__Message.Read('MessageData', TypeInfo(Binary), MessageData, []);
finally
__Message.FreeStream;
end
end;
function TROSessionManager_Proxy.GetTimeout: Integer;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'GetTimeout');
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Integer), result, []);
finally
__Message.FreeStream;
end
end;
procedure TROSessionManager_Proxy.SetTimeout(const value: Integer);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'ROMasterServerLibrary', __InterfaceName, 'SetTimeout');
__Message.Write('value', TypeInfo(Integer), value, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
initialization
RegisterROClass(TROSessionManagerConfiguration);
RegisterROClass(TROUserSession);
RegisterProxyClass(IROSessionManager_IID, TROSessionManager_Proxy);
finalization
UnregisterROClass(TROSessionManagerConfiguration);
UnregisterROClass(TROUserSession);
UnregisterProxyClass(IROSessionManager_IID);
end.