Componentes.Terceros.RemObj.../internal/5.0.23.613/1/RemObjects SDK for Delphi/Samples/Super TCP Channel Chat/SuperTCPChannelChatLibrary_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

370 lines
11 KiB
ObjectPascal

unit SuperTCPChannelChatLibrary_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
uses
{vcl:} Classes, TypInfo,
{RemObjects:} uROClasses, uROClient, uROTypes, uROClientIntf;
const
{ Library ID }
LibraryUID = '{8A53A750-1F2B-4060-AAC0-77B4FC071D2D}';
{ Service Interface ID's }
IChatServerService_IID : TGUID = '{6CC2111F-DDD6-4CF5-AB57-2CD98EF4FF5B}';
ILoginService_IID : TGUID = '{3D19AEB1-6D2F-4142-B937-B97367133A2F}';
{ Event ID's }
EID_ChatEvents = 'ChatEvents';
type
{ Forward declarations }
IChatServerService = interface;
ILoginService = interface;
IChatEvents = interface;
{ IChatServerService }
IChatServerService = interface
['{6CC2111F-DDD6-4CF5-AB57-2CD98EF4FF5B}']
procedure TalkPrivate(const TargetNickname: String; const Message: String);
procedure Talk(const Message: String);
end;
{ CoChatServerService }
CoChatServerService = class
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IChatServerService;
end;
{ TChatServerService_Proxy }
TChatServerService_Proxy = class(TROProxy, IChatServerService)
protected
function __GetInterfaceName:string; override;
procedure TalkPrivate(const TargetNickname: String; const Message: String);
procedure Talk(const Message: String);
end;
{ ILoginService }
ILoginService = interface
['{3D19AEB1-6D2F-4142-B937-B97367133A2F}']
procedure Login(const Nickname: String);
procedure Logout;
end;
{ CoLoginService }
CoLoginService = class
class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): ILoginService;
end;
{ TLoginService_Proxy }
TLoginService_Proxy = class(TROProxy, ILoginService)
protected
function __GetInterfaceName:string; override;
procedure Login(const Nickname: String);
procedure Logout;
end;
{ IChatEvents }
IChatEvents = interface
['{C456D3B2-E44A-4FA6-8F71-3838D7F7525B}']
procedure Message(const From: String; const Target: String; const Message: String);
procedure UserLogin(const Nickname: String);
procedure UserLogout(const Nickname: String);
procedure ShutdownServer;
end;
{ IChatEvents_Writer }
IChatEvents_Writer = interface(IROEventsWriter)
['{C456D3B2-E44A-4FA6-8F71-3838D7F7525B}']
procedure Message(const __Sender : TGUID; const From: String; const Target: String; const Message: String);
procedure UserLogin(const __Sender : TGUID; const Nickname: String);
procedure UserLogout(const __Sender : TGUID; const Nickname: String);
procedure ShutdownServer(const __Sender : TGUID);
end;
implementation
uses
{vcl:} SysUtils,
{RemObjects:} uROEventRepository, uRORes;
{ CoChatServerService }
class function CoChatServerService.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IChatServerService;
begin
result := TChatServerService_Proxy.Create(aMessage, aTransportChannel);
end;
{ TChatServerService_Proxy }
function TChatServerService_Proxy.__GetInterfaceName:string;
begin
result := 'ChatServerService';
end;
procedure TChatServerService_Proxy.TalkPrivate(const TargetNickname: String; const Message: String);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'SuperTCPChannelChatLibrary', __InterfaceName, 'TalkPrivate');
__Message.Write('TargetNickname', TypeInfo(String), TargetNickname, []);
__Message.Write('Message', TypeInfo(String), Message, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
procedure TChatServerService_Proxy.Talk(const Message: String);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'SuperTCPChannelChatLibrary', __InterfaceName, 'Talk');
__Message.Write('Message', TypeInfo(String), Message, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
{ CoLoginService }
class function CoLoginService.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): ILoginService;
begin
result := TLoginService_Proxy.Create(aMessage, aTransportChannel);
end;
{ TLoginService_Proxy }
function TLoginService_Proxy.__GetInterfaceName:string;
begin
result := 'LoginService';
end;
procedure TLoginService_Proxy.Login(const Nickname: String);
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'SuperTCPChannelChatLibrary', __InterfaceName, 'Login');
__Message.Write('Nickname', TypeInfo(String), Nickname, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
procedure TLoginService_Proxy.Logout;
begin
try
__Message.InitializeRequestMessage(__TransportChannel, 'SuperTCPChannelChatLibrary', __InterfaceName, 'Logout');
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
finally
__Message.FreeStream;
end
end;
type
{ TChatEvents_Writer }
TChatEvents_Writer = class(TROEventWriter, IChatEvents_Writer)
protected
procedure Message(const __Sender : TGUID; const From: String; const Target: String; const Message: String);
procedure UserLogin(const __Sender : TGUID; const Nickname: String);
procedure UserLogout(const __Sender : TGUID; const Nickname: String);
procedure ShutdownServer(const __Sender : TGUID);
end;
procedure TChatEvents_Writer.Message(const __Sender : TGUID; const From: String; const Target: String; const Message: String);
var __eventdata : Binary;
begin
__eventdata := Binary.Create;
try
__Message.InitializeEventMessage(NIL, 'SuperTCPChannelChatLibrary', EID_ChatEvents, 'Message');
__Message.Write('From', TypeInfo(String), From, []);
__Message.Write('Target', TypeInfo(String), Target, []);
__Message.Write('Message', TypeInfo(String), Message, []);
__Message.Finalize;
__Message.WriteToStream(__eventdata);
Repository.StoreEventData(__Sender, __eventdata, ExcludeSender, ExcludeSessionList, SessionList.CommaText);
except
__eventdata.Free;
end;
end;
procedure TChatEvents_Writer.UserLogin(const __Sender : TGUID; const Nickname: String);
var __eventdata : Binary;
begin
__eventdata := Binary.Create;
try
__Message.InitializeEventMessage(NIL, 'SuperTCPChannelChatLibrary', EID_ChatEvents, 'UserLogin');
__Message.Write('Nickname', TypeInfo(String), Nickname, []);
__Message.Finalize;
__Message.WriteToStream(__eventdata);
Repository.StoreEventData(__Sender, __eventdata, ExcludeSender, ExcludeSessionList, SessionList.CommaText);
except
__eventdata.Free;
end;
end;
procedure TChatEvents_Writer.UserLogout(const __Sender : TGUID; const Nickname: String);
var __eventdata : Binary;
begin
__eventdata := Binary.Create;
try
__Message.InitializeEventMessage(NIL, 'SuperTCPChannelChatLibrary', EID_ChatEvents, 'UserLogout');
__Message.Write('Nickname', TypeInfo(String), Nickname, []);
__Message.Finalize;
__Message.WriteToStream(__eventdata);
Repository.StoreEventData(__Sender, __eventdata, ExcludeSender, ExcludeSessionList, SessionList.CommaText);
except
__eventdata.Free;
end;
end;
procedure TChatEvents_Writer.ShutdownServer(const __Sender : TGUID);
var __eventdata : Binary;
begin
__eventdata := Binary.Create;
try
__Message.InitializeEventMessage(NIL, 'SuperTCPChannelChatLibrary', EID_ChatEvents, 'ShutdownServer');
__Message.Finalize;
__Message.WriteToStream(__eventdata);
Repository.StoreEventData(__Sender, __eventdata, ExcludeSender, ExcludeSessionList, SessionList.CommaText);
except
__eventdata.Free;
end;
end;
type
{ TChatEvents_Invoker }
TChatEvents_Invoker = class(TROEventInvoker)
published
procedure Invoke_Message(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
procedure Invoke_UserLogin(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
procedure Invoke_UserLogout(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
procedure Invoke_ShutdownServer(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
end;
procedure TChatEvents_Invoker.Invoke_Message(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
var
__lObjectDisposer: TROObjectDisposer;
From: String;
Target: String;
Message: String;
begin
try
__Message.Read('From', TypeInfo(String), From, []);
__Message.Read('Target', TypeInfo(String), Target, []);
__Message.Read('Message', TypeInfo(String), Message, []);
(__Target as IChatEvents).Message(From, Target, Message);
finally
__lObjectDisposer:= TROObjectDisposer.Create(__EventReceiver);
try
finally
__lObjectDisposer.Free();
end
end
end;
procedure TChatEvents_Invoker.Invoke_UserLogin(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
var
__lObjectDisposer: TROObjectDisposer;
Nickname: String;
begin
try
__Message.Read('Nickname', TypeInfo(String), Nickname, []);
(__Target as IChatEvents).UserLogin(Nickname);
finally
__lObjectDisposer:= TROObjectDisposer.Create(__EventReceiver);
try
finally
__lObjectDisposer.Free();
end
end
end;
procedure TChatEvents_Invoker.Invoke_UserLogout(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
var
__lObjectDisposer: TROObjectDisposer;
Nickname: String;
begin
try
__Message.Read('Nickname', TypeInfo(String), Nickname, []);
(__Target as IChatEvents).UserLogout(Nickname);
finally
__lObjectDisposer:= TROObjectDisposer.Create(__EventReceiver);
try
finally
__lObjectDisposer.Free();
end
end
end;
procedure TChatEvents_Invoker.Invoke_ShutdownServer(__EventReceiver : TROEventReceiver; const __Message : IROMessage; const __Target : IUnknown);
var
__lObjectDisposer: TROObjectDisposer;
begin
try
(__Target as IChatEvents).ShutdownServer();
finally
__lObjectDisposer:= TROObjectDisposer.Create(__EventReceiver);
try
finally
__lObjectDisposer.Free();
end
end
end;
initialization
RegisterProxyClass(IChatServerService_IID, TChatServerService_Proxy);
RegisterProxyClass(ILoginService_IID, TLoginService_Proxy);
RegisterEventWriterClass(IChatEvents_Writer, TChatEvents_Writer);
RegisterEventInvokerClass(EID_ChatEvents, TChatEvents_Invoker);
finalization
UnregisterProxyClass(IChatServerService_IID);
UnregisterProxyClass(ILoginService_IID);
UnregisterEventWriterClass(IChatEvents_Writer);
UnregisterEventInvokerClass(EID_ChatEvents);
end.