home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 March / Chip_1999-03_cd.bin / zkuste / delphi / INFO / DI9807BL.ZIP / CpDisp / Server / ChatServer_TLB.pas < prev    next >
Pascal/Delphi Source File  |  1998-05-08  |  4KB  |  129 lines

  1. unit ChatServer_TLB;
  2.  
  3. { This file contains pascal declarations imported from a type library.
  4.   This file will be written during each import or refresh of the type
  5.   library editor.  Changes to this file will be discarded during the
  6.   refresh process. }
  7.  
  8. { ChatServer Library }
  9. { Version 1.0 }
  10.  
  11. interface
  12.  
  13. uses Windows, ActiveX, Classes, Graphics, OleCtrls, StdVCL;
  14.  
  15. const
  16.   LIBID_ChatServer: TGUID = '{624DDEA1-70F1-11D1-B877-0000B4552A26}';
  17.  
  18. const
  19.  
  20. { Component class GUIDs }
  21.   Class_ChatConnection: TGUID = '{624DDEA3-70F1-11D1-B877-0000B4552A26}';
  22.   Class_ChatChannel: TGUID = '{8FDCD6B6-742C-11D1-B87E-0000B4552A26}';
  23.  
  24. type
  25.  
  26. { Forward declarations: Interfaces }
  27.   IChatConnection = interface;
  28.   IChatConnectionDisp = dispinterface;
  29.   IChatChannel = interface;
  30.   IChatChannelDisp = dispinterface;
  31.   IDispChatEvent = dispinterface;
  32.   IChatEvent = interface;
  33.   IChatEventDisp = dispinterface;
  34.  
  35. { Forward declarations: CoClasses }
  36.   ChatConnection = IChatConnection;
  37.   ChatChannel = IChatChannel;
  38.  
  39.   IChatConnection = interface(IDispatch)
  40.     ['{624DDEA2-70F1-11D1-B877-0000B4552A26}']
  41.     function Get_ChatChannel: IChatChannel; safecall;
  42.     procedure BroadcastMessage(const UserName, Message: WideString); safecall;
  43.     property ChatChannel: IChatChannel read Get_ChatChannel;
  44.   end;
  45.  
  46. { DispInterface declaration for Dual Interface IChatConnection }
  47.  
  48.   IChatConnectionDisp = dispinterface
  49.     ['{624DDEA2-70F1-11D1-B877-0000B4552A26}']
  50.     property ChatChannel: IChatChannel readonly dispid 1;
  51.     procedure BroadcastMessage(const UserName, Message: WideString); dispid 2;
  52.   end;
  53.  
  54.   IChatChannel = interface(IDispatch)
  55.     ['{ADF8F1E0-72A0-11D1-B87B-0000B4552A26}']
  56.     function ConnectUser(const Callback: IChatEvent; var UserId: Integer): WordBool; safecall;
  57.     function DisconnectUser(UserId: Integer): WordBool; safecall;
  58.     procedure BroadcastMessage(const UserName, Message: WideString); safecall;
  59.   end;
  60.  
  61. { DispInterface declaration for Dual Interface IChatChannel }
  62.  
  63.   IChatChannelDisp = dispinterface
  64.     ['{ADF8F1E0-72A0-11D1-B87B-0000B4552A26}']
  65.     function ConnectUser(const Callback: IChatEvent; var UserId: Integer): WordBool; dispid 1;
  66.     function DisconnectUser(UserId: Integer): WordBool; dispid 2;
  67.     procedure BroadcastMessage(const UserName, Message: WideString); dispid 3;
  68.   end;
  69.  
  70.   IDispChatEvent = dispinterface
  71.     ['{2782AFD0-74B0-11D1-B882-0000B4552A26}']
  72.     procedure GotMessage(const UserName, Message: WideString); dispid 1;
  73.   end;
  74.  
  75.   IChatEvent = interface(IDispatch)
  76.     ['{2A611DD1-743E-11D1-B87F-0000B4552A26}']
  77.     procedure GotMessage(const UserName, Message: WideString); safecall;
  78.   end;
  79.  
  80. { DispInterface declaration for Dual Interface IChatEvent }
  81.  
  82.   IChatEventDisp = dispinterface
  83.     ['{2A611DD1-743E-11D1-B87F-0000B4552A26}']
  84.     procedure GotMessage(const UserName, Message: WideString); dispid 1;
  85.   end;
  86.  
  87. { ChatConnection }
  88.  
  89.   CoChatConnection = class
  90.     class function Create: IChatConnection;
  91.     class function CreateRemote(const MachineName: string): IChatConnection;
  92.   end;
  93.  
  94. { ChatChannel }
  95.  
  96.   CoChatChannel = class
  97.     class function Create: IChatChannel;
  98.     class function CreateRemote(const MachineName: string): IChatChannel;
  99.   end;
  100.  
  101.  
  102.  
  103. implementation
  104.  
  105. uses ComObj;
  106.  
  107. class function CoChatConnection.Create: IChatConnection;
  108. begin
  109.   Result := CreateComObject(Class_ChatConnection) as IChatConnection;
  110. end;
  111.  
  112. class function CoChatConnection.CreateRemote(const MachineName: string): IChatConnection;
  113. begin
  114.   Result := CreateRemoteComObject(MachineName, Class_ChatConnection) as IChatConnection;
  115. end;
  116.  
  117. class function CoChatChannel.Create: IChatChannel;
  118. begin
  119.   Result := CreateComObject(Class_ChatChannel) as IChatChannel;
  120. end;
  121.  
  122. class function CoChatChannel.CreateRemote(const MachineName: string): IChatChannel;
  123. begin
  124.   Result := CreateRemoteComObject(MachineName, Class_ChatChannel) as IChatChannel;
  125. end;
  126.  
  127.  
  128. end.
  129.