- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10 - Recompilación en Delphi10 de todos los paquetes de DA para generar las DCU's en Lib\D10 git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@9 b6239004-a887-0f4b-9937-50029ccdca16
435 lines
15 KiB
ObjectPascal
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.
|