unit ANYQCOM_TLB;

// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to this type library) re-imported, or the   
// 'Refresh' command of the Type Library Editor activated while editing the   
// Type Library, the contents of this file will be regenerated and all        
// manual modifications will be lost.                                         
// ************************************************************************ //

// PASTLWTR : 1.2
// File generated on 2004-7-28 18:43:36 from Type Library described below.

// ************************************************************************  //
// Type Lib: D:\Works\Project\AnyQ(new)\AnyQ.tlb (1)
// LIBID: {8C7FAAED-5B75-447F-8174-C27DD04CB1D3}
// LCID: 0
// Helpfile: 
// HelpString: ANYQ COM Plugin interfaces
// DepndLst: 
//   (1) v2.0 stdole, (C:\WINDOWS\System32\Stdole2.tlb)
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface

uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;
  

// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:        
//   Type Libraries     : LIBID_xxxx                                      
//   CoClasses          : CLASS_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Non-DISP interfaces: IID_xxxx                                        
// *********************************************************************//
const
  // TypeLibrary Major and minor versions
  ANYQCOMMajorVersion = 1;
  ANYQCOMMinorVersion = 0;

  LIBID_ANYQCOM: TGUID = '{8C7FAAED-5B75-447F-8174-C27DD04CB1D3}';

  IID_IANYQController: TGUID = '{0E631E43-210C-41B6-A5DF-65018187189D}';
  CLASS_ANYQController: TGUID = '{761D88FA-85F4-4172-8A76-D35603FFF9A2}';
  IID_IANYQChat: TGUID = '{C4D5D3F6-97DC-42A1-9CF6-EFF48BC75042}';
  CLASS_ANYQChat: TGUID = '{AE45D171-1A78-4EF2-AB4B-CD6D796A6A95}';
  IID_IANYQPlugin: TGUID = '{BA532FC0-B027-44E1-80D8-13E7CB1D853E}';
  IID_IANYQChatPlugin: TGUID = '{4388C621-18C8-4E4D-9DC2-D8DBA81757C8}';
  IID_IANYQRoster: TGUID = '{3F97A492-CCB2-40F3-9FBC-9BD6DAF32AB1}';
  CLASS_ANYQRoster: TGUID = '{E7F5E6D6-4135-4637-A85C-1FC0981C6F33}';
  IID_IANYQPPDB: TGUID = '{C89BC180-3B92-4C2F-B0C6-BBD86F0B0725}';
  CLASS_ANYQPPDB: TGUID = '{9D792EBF-D37A-4AF7-A328-4BB5BF9DD227}';
  IID_IANYQRosterItem: TGUID = '{16EDAFFD-84A4-4813-9A41-076874BC9B3F}';
  CLASS_ANYQRosterItem: TGUID = '{9328F789-C46A-4FF6-AB8F-98CD1AF16DE5}';
  IID_IANYQPresence: TGUID = '{C6121AC0-4B74-46BF-9FD6-0A73627B905E}';
  CLASS_ANYQPresence: TGUID = '{CA905AAB-EA24-4472-A9E9-7EE898525306}';
  IID_IANYQAuth: TGUID = '{CCD663D9-D2F6-491D-B728-FA6645E359C7}';

// *********************************************************************//
// Declaration of Enumerations defined in Type Library                    
// *********************************************************************//
// Constants for enum ChatParts
type
  ChatParts = TOleEnum;
const
  HWND_MsgInput = $00000000;
  Ptr_MsgInput = $00000001;
  HWND_MsgOutput = $00000002;
  Ptr_MsgOutput = $00000003;

// Constants for enum ActiveItem
type
  ActiveItem = TOleEnum;
const
  RosterItem = $00000000;
  Bookmark = $00000001;
  Group = $00000002;

type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                    
// *********************************************************************//
  IANYQController = interface;
  IANYQControllerDisp = dispinterface;
  IANYQChat = interface;
  IANYQChatDisp = dispinterface;
  IANYQPlugin = interface;
  IANYQPluginDisp = dispinterface;
  IANYQChatPlugin = interface;
  IANYQChatPluginDisp = dispinterface;
  IANYQRoster = interface;
  IANYQRosterDisp = dispinterface;
  IANYQPPDB = interface;
  IANYQPPDBDisp = dispinterface;
  IANYQRosterItem = interface;
  IANYQRosterItemDisp = dispinterface;
  IANYQPresence = interface;
  IANYQPresenceDisp = dispinterface;
  IANYQAuth = interface;
  IANYQAuthDisp = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library                       
// (NOTE: Here we map each CoClass to its Default Interface)              
// *********************************************************************//
  ANYQController = IANYQController;
  ANYQChat = IANYQChat;
  ANYQRoster = IANYQRoster;
  ANYQPPDB = IANYQPPDB;
  ANYQRosterItem = IANYQRosterItem;
  ANYQPresence = IANYQPresence;


// *********************************************************************//
// Declaration of structures, unions and aliases.                         
// *********************************************************************//
  PWideString1 = ^WideString; {*}


// *********************************************************************//
// Interface: IANYQController
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0E631E43-210C-41B6-A5DF-65018187189D}
// *********************************************************************//
  IANYQController = interface(IDispatch)
    ['{0E631E43-210C-41B6-A5DF-65018187189D}']
    function Get_Connected: WordBool; safecall;
    function Get_Username: WideString; safecall;
    function Get_Server: WideString; safecall;
    function RegisterCallback(const xpath: WideString; const callback: IANYQPlugin): Integer; safecall;
    procedure UnRegisterCallback(ID: Integer); safecall;
    procedure Send(const xml: WideString); safecall;
    function isRosterJID(const jid: WideString): WordBool; safecall;
    function isSubscribed(const jid: WideString): WordBool; safecall;
    procedure ChangePresence(const Show: WideString; const Status: WideString; Priority: Integer); safecall;
    procedure StartChat(const jid: WideString; const resource: WideString; 
                        const nickname: WideString); safecall;
    procedure GetProfile(const jid: WideString); safecall;
    procedure CreateDockableWindow(HWND: Integer; const Caption: WideString); safecall;
    function addPluginMenu(const Caption: WideString): WideString; safecall;
    procedure removePluginMenu(const ID: WideString); safecall;
    procedure monitorImplicitRegJID(const JabberID: WideString; FullJID: WordBool); safecall;
    procedure getAgentList(const Server: WideString); safecall;
    function getAgentService(const Server: WideString; const Service: WideString): WideString; safecall;
    function generateID: WideString; safecall;
    function isBlocked(const JabberID: WideString): WordBool; safecall;
    procedure Block(const JabberID: WideString); safecall;
    procedure UnBlock(const JabberID: WideString); safecall;
    function Get_resource: WideString; safecall;
    function Get_Port: Integer; safecall;
    function Get_Priority: Integer; safecall;
    function Get_PresenceStatus: WideString; safecall;
    function Get_PresenceShow: WideString; safecall;
    function Get_IsPaused: WordBool; safecall;
    function Get_IsInvisible: WordBool; safecall;
    procedure Connect; safecall;
    procedure Disconnect; safecall;
    function getPrefAsString(const Key: WideString): WideString; safecall;
    function getPrefAsInt(const Key: WideString): Integer; safecall;
    function getPrefAsBool(const Key: WideString): WordBool; safecall;
    procedure setPrefAsString(const Key: WideString; const Value: WideString); safecall;
    procedure setPrefAsInt(const Key: WideString; Value: Integer); safecall;
    procedure setPrefAsBool(const Key: WideString; Value: WordBool); safecall;
    function findChat(const JabberID: WideString; const resource: WideString): Integer; safecall;
    procedure startSearch(const SearchJID: WideString); safecall;
    procedure startRoom(const RoomJID: WideString; const nickname: WideString; 
                        const Password: WideString); safecall;
    procedure startInstantMsg(const JabberID: WideString); safecall;
    procedure startBrowser(const BrowseJID: WideString); safecall;
    procedure showJoinRoom(const RoomJID: WideString; const nickname: WideString; 
                           const Password: WideString); safecall;
    procedure showPrefs; safecall;
    procedure showCustomPresDialog; safecall;
    procedure showDebug; safecall;
    procedure showLogin; safecall;
    procedure showToast(const Message: WideString; wndHandle: Integer; imageIndex: Integer); safecall;
    procedure setPresence(const Show: WideString; const Status: WideString; Priority: Integer); safecall;
    function Get_Roster: IANYQRoster; safecall;
    function Get_PPDB: IANYQPPDB; safecall;
    function registerBrowseNS(const Namespace: WideString): WideString; safecall;
    function registerDiscoItem(const JabberID: WideString; const Name: WideString): WideString; safecall;
    function registerDiscoFeature(const Feature: WideString): WideString; safecall;
    procedure removeBrowseNS(const ID: WideString); safecall;
    procedure removeDiscoItem(const ID: WideString); safecall;
    procedure removeDiscoFeature(const ID: WideString); safecall;
    function registerPresenceXML(const xml: WideString): WideString; safecall;
    procedure removePresenceXML(const ID: WideString); safecall;
    procedure trackWindowsMsg(Message: Integer); safecall;
    function addContactMenu(const Caption: WideString): WideString; safecall;
    procedure removeContactMenu(const ID: WideString); safecall;
    function getActiveContact: WideString; safecall;
    function getActiveGroup: WideString; safecall;
    function getActiveContacts(Online: WordBool): WideString; safecall;
    function Get_LocalIP: WideString; safecall;
    procedure setPluginAuth(const AuthAgent: IANYQAuth); safecall;
    procedure setAuthenticated(Authed: WordBool; const xml: WideString); safecall;
    procedure setAuthJID(const Username: WideString; const Host: WideString; 
                         const resource: WideString); safecall;
    function addMessageMenu(const Caption: WideString): WideString; safecall;
    procedure SkinForm(aHandle: Integer); safecall;
    property Connected: WordBool read Get_Connected;
    property Username: WideString read Get_Username;
    property Server: WideString read Get_Server;
    property resource: WideString read Get_resource;
    property Port: Integer read Get_Port;
    property Priority: Integer read Get_Priority;
    property PresenceStatus: WideString read Get_PresenceStatus;
    property PresenceShow: WideString read Get_PresenceShow;
    property IsPaused: WordBool read Get_IsPaused;
    property IsInvisible: WordBool read Get_IsInvisible;
    property Roster: IANYQRoster read Get_Roster;
    property PPDB: IANYQPPDB read Get_PPDB;
    property LocalIP: WideString read Get_LocalIP;
  end;

// *********************************************************************//
// DispIntf:  IANYQControllerDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {0E631E43-210C-41B6-A5DF-65018187189D}
// *********************************************************************//
  IANYQControllerDisp = dispinterface
    ['{0E631E43-210C-41B6-A5DF-65018187189D}']
    property Connected: WordBool readonly dispid 1;
    property Username: WideString readonly dispid 2;
    property Server: WideString readonly dispid 3;
    function RegisterCallback(const xpath: WideString; const callback: IANYQPlugin): Integer; dispid 4;
    procedure UnRegisterCallback(ID: Integer); dispid 5;
    procedure Send(const xml: WideString); dispid 6;
    function isRosterJID(const jid: WideString): WordBool; dispid 7;
    function isSubscribed(const jid: WideString): WordBool; dispid 8;
    procedure ChangePresence(const Show: WideString; const Status: WideString; Priority: Integer); dispid 11;
    procedure StartChat(const jid: WideString; const resource: WideString; 
                        const nickname: WideString); dispid 12;
    procedure GetProfile(const jid: WideString); dispid 13;
    procedure CreateDockableWindow(HWND: Integer; const Caption: WideString); dispid 16;
    function addPluginMenu(const Caption: WideString): WideString; dispid 14;
    procedure removePluginMenu(const ID: WideString); dispid 15;
    procedure monitorImplicitRegJID(const JabberID: WideString; FullJID: WordBool); dispid 17;
    procedure getAgentList(const Server: WideString); dispid 18;
    function getAgentService(const Server: WideString; const Service: WideString): WideString; dispid 19;
    function generateID: WideString; dispid 20;
    function isBlocked(const JabberID: WideString): WordBool; dispid 21;
    procedure Block(const JabberID: WideString); dispid 22;
    procedure UnBlock(const JabberID: WideString); dispid 23;
    property resource: WideString readonly dispid 24;
    property Port: Integer readonly dispid 25;
    property Priority: Integer readonly dispid 26;
    property PresenceStatus: WideString readonly dispid 28;
    property PresenceShow: WideString readonly dispid 29;
    property IsPaused: WordBool readonly dispid 30;
    property IsInvisible: WordBool readonly dispid 31;
    procedure Connect; dispid 32;
    procedure Disconnect; dispid 33;
    function getPrefAsString(const Key: WideString): WideString; dispid 34;
    function getPrefAsInt(const Key: WideString): Integer; dispid 35;
    function getPrefAsBool(const Key: WideString): WordBool; dispid 36;
    procedure setPrefAsString(const Key: WideString; const Value: WideString); dispid 37;
    procedure setPrefAsInt(const Key: WideString; Value: Integer); dispid 38;
    procedure setPrefAsBool(const Key: WideString; Value: WordBool); dispid 39;
    function findChat(const JabberID: WideString; const resource: WideString): Integer; dispid 40;
    procedure startSearch(const SearchJID: WideString); dispid 41;
    procedure startRoom(const RoomJID: WideString; const nickname: WideString; 
                        const Password: WideString); dispid 42;
    procedure startInstantMsg(const JabberID: WideString); dispid 43;
    procedure startBrowser(const BrowseJID: WideString); dispid 44;
    procedure showJoinRoom(const RoomJID: WideString; const nickname: WideString; 
                           const Password: WideString); dispid 45;
    procedure showPrefs; dispid 46;
    procedure showCustomPresDialog; dispid 47;
    procedure showDebug; dispid 48;
    procedure showLogin; dispid 49;
    procedure showToast(const Message: WideString; wndHandle: Integer; imageIndex: Integer); dispid 50;
    procedure setPresence(const Show: WideString; const Status: WideString; Priority: Integer); dispid 51;
    property Roster: IANYQRoster readonly dispid 54;
    property PPDB: IANYQPPDB readonly dispid 55;
    function registerBrowseNS(const Namespace: WideString): WideString; dispid 9;
    function registerDiscoItem(const JabberID: WideString; const Name: WideString): WideString; dispid 10;
    function registerDiscoFeature(const Feature: WideString): WideString; dispid 27;
    procedure removeBrowseNS(const ID: WideString); dispid 52;
    procedure removeDiscoItem(const ID: WideString); dispid 53;
    procedure removeDiscoFeature(const ID: WideString); dispid 56;
    function registerPresenceXML(const xml: WideString): WideString; dispid 57;
    procedure removePresenceXML(const ID: WideString); dispid 58;
    procedure trackWindowsMsg(Message: Integer); dispid 59;
    function addContactMenu(const Caption: WideString): WideString; dispid 60;
    procedure removeContactMenu(const ID: WideString); dispid 61;
    function getActiveContact: WideString; dispid 62;
    function getActiveGroup: WideString; dispid 63;
    function getActiveContacts(Online: WordBool): WideString; dispid 65;
    property LocalIP: WideString readonly dispid 64;
    procedure setPluginAuth(const AuthAgent: IANYQAuth); dispid 66;
    procedure setAuthenticated(Authed: WordBool; const xml: WideString); dispid 67;
    procedure setAuthJID(const Username: WideString; const Host: WideString; 
                         const resource: WideString); dispid 68;
    function addMessageMenu(const Caption: WideString): WideString; dispid 201;
    procedure SkinForm(aHandle: Integer); dispid 202;
  end;

// *********************************************************************//
// Interface: IANYQChat
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C4D5D3F6-97DC-42A1-9CF6-EFF48BC75042}
// *********************************************************************//
  IANYQChat = interface(IDispatch)
    ['{C4D5D3F6-97DC-42A1-9CF6-EFF48BC75042}']
    function Get_jid: WideString; safecall;
    function AddContextMenu(const Caption: WideString): WideString; safecall;
    function Get_MsgOutText: WideString; safecall;
    function RegisterPlugin(const Plugin: IANYQChatPlugin): Integer; safecall;
    function UnRegister(ID: Integer): WordBool; safecall;
    function getMagicInt(Part: ChatParts): Integer; safecall;
    procedure RemoveContextMenu(const ID: WideString); safecall;
    procedure AddMsgOut(const Value: WideString); safecall;
    function AddMsgOutMenu(const Caption: WideString): WideString; safecall;
    procedure RemoveMsgOutMenu(const MenuID: WideString); safecall;
    procedure SendMsg(const txt: WideString; rtf: PChar); safecall;
    property jid: WideString read Get_jid;
    property MsgOutText: WideString read Get_MsgOutText;
  end;

// *********************************************************************//
// DispIntf:  IANYQChatDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C4D5D3F6-97DC-42A1-9CF6-EFF48BC75042}
// *********************************************************************//
  IANYQChatDisp = dispinterface
    ['{C4D5D3F6-97DC-42A1-9CF6-EFF48BC75042}']
    property jid: WideString readonly dispid 1;
    function AddContextMenu(const Caption: WideString): WideString; dispid 2;
    property MsgOutText: WideString readonly dispid 4;
    function RegisterPlugin(const Plugin: IANYQChatPlugin): Integer; dispid 3;
    function UnRegister(ID: Integer): WordBool; dispid 5;
    function getMagicInt(Part: ChatParts): Integer; dispid 6;
    procedure RemoveContextMenu(const ID: WideString); dispid 7;
    procedure AddMsgOut(const Value: WideString); dispid 201;
    function AddMsgOutMenu(const Caption: WideString): WideString; dispid 202;
    procedure RemoveMsgOutMenu(const MenuID: WideString); dispid 203;
    procedure SendMsg(const txt: WideString; rtf: {??PChar}OleVariant); dispid 301;
  end;

// *********************************************************************//
// Interface: IANYQPlugin
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {BA532FC0-B027-44E1-80D8-13E7CB1D853E}
// *********************************************************************//
  IANYQPlugin = interface(IDispatch)
    ['{BA532FC0-B027-44E1-80D8-13E7CB1D853E}']
    procedure Startup(const ExodusController: IANYQController); safecall;
    procedure Shutdown; safecall;
    procedure Process(const xpath: WideString; const event: WideString; const xml: WideString); safecall;
    procedure NewChat(const jid: WideString; const Chat: IANYQChat); safecall;
    procedure NewRoom(const jid: WideString; const Room: IANYQChat); safecall;
    function NewIM(const jid: WideString; var Body: WideString; var Subject: WideString; 
                   const XTags: WideString): WideString; safecall;
    procedure Configure; safecall;
    procedure MenuClick(const ID: WideString); safecall;
    procedure MsgMenuClick(const ID: WideString; const jid: WideString; var Body: WideString; 
                           var Subject: WideString); safecall;
    procedure NewOutgoingIM(const jid: WideString; const InstantMsg: IANYQChat); safecall;
  end;

// *********************************************************************//
// DispIntf:  IANYQPluginDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {BA532FC0-B027-44E1-80D8-13E7CB1D853E}
// *********************************************************************//
  IANYQPluginDisp = dispinterface
    ['{BA532FC0-B027-44E1-80D8-13E7CB1D853E}']
    procedure Startup(const ExodusController: IANYQController); dispid 1;
    procedure Shutdown; dispid 2;
    procedure Process(const xpath: WideString; const event: WideString; const xml: WideString); dispid 3;
    procedure NewChat(const jid: WideString; const Chat: IANYQChat); dispid 4;
    procedure NewRoom(const jid: WideString; const Room: IANYQChat); dispid 5;
    function NewIM(const jid: WideString; var Body: WideString; var Subject: WideString; 
                   const XTags: WideString): WideString; dispid 8;
    procedure Configure; dispid 12;
    procedure MenuClick(const ID: WideString); dispid 201;
    procedure MsgMenuClick(const ID: WideString; const jid: WideString; var Body: WideString; 
                           var Subject: WideString); dispid 202;
    procedure NewOutgoingIM(const jid: WideString; const InstantMsg: IANYQChat); dispid 203;
  end;

// *********************************************************************//
// Interface: IANYQChatPlugin
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4388C621-18C8-4E4D-9DC2-D8DBA81757C8}
// *********************************************************************//
  IANYQChatPlugin = interface(IDispatch)
    ['{4388C621-18C8-4E4D-9DC2-D8DBA81757C8}']
    procedure onBeforeMessage(var Body: WideString); safecall;
    function onAfterMessage(var Body: WideString): WideString; safecall;
    procedure onKeyPress(const Key: WideString); safecall;
    procedure onContextMenu(const ID: WideString); safecall;
    procedure onRecvMessage(const Body: WideString; const xml: WideString); safecall;
    procedure onClose; safecall;
    procedure onMenu(const ID: WideString); safecall;
    procedure onNewWindow(HWND: Integer); safecall;
    procedure onAfterRecvMessage(const Body: WideString; const xml: WideString); safecall;
  end;

// *********************************************************************//
// DispIntf:  IANYQChatPluginDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {4388C621-18C8-4E4D-9DC2-D8DBA81757C8}
// *********************************************************************//
  IANYQChatPluginDisp = dispinterface
    ['{4388C621-18C8-4E4D-9DC2-D8DBA81757C8}']
    procedure onBeforeMessage(var Body: WideString); dispid 1;
    function onAfterMessage(var Body: WideString): WideString; dispid 2;
    procedure onKeyPress(const Key: WideString); dispid 3;
    procedure onContextMenu(const ID: WideString); dispid 4;
    procedure onRecvMessage(const Body: WideString; const xml: WideString); dispid 5;
    procedure onClose; dispid 6;
    procedure onMenu(const ID: WideString); dispid 201;
    procedure onNewWindow(HWND: Integer); dispid 202;
    procedure onAfterRecvMessage(const Body: WideString; const xml: WideString); dispid 301;
  end;

// *********************************************************************//
// Interface: IANYQRoster
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3F97A492-CCB2-40F3-9FBC-9BD6DAF32AB1}
// *********************************************************************//
  IANYQRoster = interface(IDispatch)
    ['{3F97A492-CCB2-40F3-9FBC-9BD6DAF32AB1}']
    procedure Fetch; safecall;
    procedure SaveBookmarks; safecall;
    procedure AddItem(const JabberID: WideString; const nickname: WideString; 
                      const Group: WideString; Subscribe: WordBool); safecall;
    procedure AddBookmark(const JabberID: WideString; const bmType: WideString; 
                          const bmName: WideString; const nickname: WideString; AutoJoin: WordBool); safecall;
    procedure RemoveBookmark(const JabberID: WideString); safecall;
    function Find(const JabberID: WideString): IANYQRosterItem; safecall;
    function Item(Index: Integer): IANYQRosterItem; safecall;
    function Count: Integer; safecall;
  end;

// *********************************************************************//
// DispIntf:  IANYQRosterDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {3F97A492-CCB2-40F3-9FBC-9BD6DAF32AB1}
// *********************************************************************//
  IANYQRosterDisp = dispinterface
    ['{3F97A492-CCB2-40F3-9FBC-9BD6DAF32AB1}']
    procedure Fetch; dispid 1;
    procedure SaveBookmarks; dispid 2;
    procedure AddItem(const JabberID: WideString; const nickname: WideString; 
                      const Group: WideString; Subscribe: WordBool); dispid 3;
    procedure AddBookmark(const JabberID: WideString; const bmType: WideString; 
                          const bmName: WideString; const nickname: WideString; AutoJoin: WordBool); dispid 4;
    procedure RemoveBookmark(const JabberID: WideString); dispid 5;
    function Find(const JabberID: WideString): IANYQRosterItem; dispid 6;
    function Item(Index: Integer): IANYQRosterItem; dispid 7;
    function Count: Integer; dispid 8;
  end;

// *********************************************************************//
// Interface: IANYQPPDB
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C89BC180-3B92-4C2F-B0C6-BBD86F0B0725}
// *********************************************************************//
  IANYQPPDB = interface(IDispatch)
    ['{C89BC180-3B92-4C2F-B0C6-BBD86F0B0725}']
    function Find(const JabberID: WideString; const resource: WideString): IANYQPresence; safecall;
    function Next(const JabberID: WideString; const resource: WideString): IANYQPresence; safecall;
    function Get_Count: Integer; safecall;
    function Get_LastPresence: IANYQPresence; safecall;
    property Count: Integer read Get_Count;
    property LastPresence: IANYQPresence read Get_LastPresence;
  end;

// *********************************************************************//
// DispIntf:  IANYQPPDBDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C89BC180-3B92-4C2F-B0C6-BBD86F0B0725}
// *********************************************************************//
  IANYQPPDBDisp = dispinterface
    ['{C89BC180-3B92-4C2F-B0C6-BBD86F0B0725}']
    function Find(const JabberID: WideString; const resource: WideString): IANYQPresence; dispid 1;
    function Next(const JabberID: WideString; const resource: WideString): IANYQPresence; dispid 2;
    property Count: Integer readonly dispid 3;
    property LastPresence: IANYQPresence readonly dispid 4;
  end;

// *********************************************************************//
// Interface: IANYQRosterItem
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {16EDAFFD-84A4-4813-9A41-076874BC9B3F}
// *********************************************************************//
  IANYQRosterItem = interface(IDispatch)
    ['{16EDAFFD-84A4-4813-9A41-076874BC9B3F}']
    function Get_JabberID: WideString; safecall;
    procedure Set_JabberID(const Value: WideString); safecall;
    function Get_Subscription: WideString; safecall;
    procedure Set_Subscription(const Value: WideString); safecall;
    function Get_Ask: WideString; safecall;
    function Get_GroupCount: Integer; safecall;
    function Group(Index: Integer): WideString; safecall;
    function xml: WideString; safecall;
    procedure Remove; safecall;
    procedure Update; safecall;
    function Get_nickname: WideString; safecall;
    procedure Set_nickname(const Value: WideString); safecall;
    function Get_RawNickname: WideString; safecall;
    property JabberID: WideString read Get_JabberID write Set_JabberID;
    property Subscription: WideString read Get_Subscription write Set_Subscription;
    property Ask: WideString read Get_Ask;
    property GroupCount: Integer read Get_GroupCount;
    property nickname: WideString read Get_nickname write Set_nickname;
    property RawNickname: WideString read Get_RawNickname;
  end;

// *********************************************************************//
// DispIntf:  IANYQRosterItemDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {16EDAFFD-84A4-4813-9A41-076874BC9B3F}
// *********************************************************************//
  IANYQRosterItemDisp = dispinterface
    ['{16EDAFFD-84A4-4813-9A41-076874BC9B3F}']
    property JabberID: WideString dispid 1;
    property Subscription: WideString dispid 2;
    property Ask: WideString readonly dispid 4;
    property GroupCount: Integer readonly dispid 5;
    function Group(Index: Integer): WideString; dispid 6;
    function xml: WideString; dispid 7;
    procedure Remove; dispid 8;
    procedure Update; dispid 9;
    property nickname: WideString dispid 10;
    property RawNickname: WideString readonly dispid 11;
  end;

// *********************************************************************//
// Interface: IANYQPresence
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C6121AC0-4B74-46BF-9FD6-0A73627B905E}
// *********************************************************************//
  IANYQPresence = interface(IDispatch)
    ['{C6121AC0-4B74-46BF-9FD6-0A73627B905E}']
    function Get_PresType: WideString; safecall;
    procedure Set_PresType(const Value: WideString); safecall;
    function Get_Status: WideString; safecall;
    procedure Set_Status(const Value: WideString); safecall;
    function Get_Show: WideString; safecall;
    procedure Set_Show(const Value: WideString); safecall;
    function Get_Priority: Integer; safecall;
    procedure Set_Priority(Value: Integer); safecall;
    function Get_ErrorString: WideString; safecall;
    procedure Set_ErrorString(const Value: WideString); safecall;
    function xml: WideString; safecall;
    function isSubscription: WordBool; safecall;
    function Get_toJid: WideString; safecall;
    procedure Set_toJid(const Value: WideString); safecall;
    function Get_fromJid: WideString; safecall;
    procedure Set_fromJid(const Value: WideString); safecall;
    property PresType: WideString read Get_PresType write Set_PresType;
    property Status: WideString read Get_Status write Set_Status;
    property Show: WideString read Get_Show write Set_Show;
    property Priority: Integer read Get_Priority write Set_Priority;
    property ErrorString: WideString read Get_ErrorString write Set_ErrorString;
    property toJid: WideString read Get_toJid write Set_toJid;
    property fromJid: WideString read Get_fromJid write Set_fromJid;
  end;

// *********************************************************************//
// DispIntf:  IANYQPresenceDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {C6121AC0-4B74-46BF-9FD6-0A73627B905E}
// *********************************************************************//
  IANYQPresenceDisp = dispinterface
    ['{C6121AC0-4B74-46BF-9FD6-0A73627B905E}']
    property PresType: WideString dispid 1;
    property Status: WideString dispid 2;
    property Show: WideString dispid 3;
    property Priority: Integer dispid 4;
    property ErrorString: WideString dispid 5;
    function xml: WideString; dispid 6;
    function isSubscription: WordBool; dispid 7;
    property toJid: WideString dispid 8;
    property fromJid: WideString dispid 9;
  end;

// *********************************************************************//
// Interface: IANYQAuth
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CCD663D9-D2F6-491D-B728-FA6645E359C7}
// *********************************************************************//
  IANYQAuth = interface(IDispatch)
    ['{CCD663D9-D2F6-491D-B728-FA6645E359C7}']
    procedure StartAuth; safecall;
    procedure CancelAuth; safecall;
    function StartRegistration: WordBool; safecall;
    procedure CancelRegistration; safecall;
  end;

// *********************************************************************//
// DispIntf:  IANYQAuthDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {CCD663D9-D2F6-491D-B728-FA6645E359C7}
// *********************************************************************//
  IANYQAuthDisp = dispinterface
    ['{CCD663D9-D2F6-491D-B728-FA6645E359C7}']
    procedure StartAuth; dispid 1;
    procedure CancelAuth; dispid 2;
    function StartRegistration: WordBool; dispid 3;
    procedure CancelRegistration; dispid 4;
  end;

// *********************************************************************//
// The Class CoANYQController provides a Create and CreateRemote method to          
// create instances of the default interface IANYQController exposed by              
// the CoClass ANYQController. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoANYQController = class
    class function Create: IANYQController;
    class function CreateRemote(const MachineName: string): IANYQController;
  end;

// *********************************************************************//
// The Class CoANYQChat provides a Create and CreateRemote method to          
// create instances of the default interface IANYQChat exposed by              
// the CoClass ANYQChat. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoANYQChat = class
    class function Create: IANYQChat;
    class function CreateRemote(const MachineName: string): IANYQChat;
  end;

// *********************************************************************//
// The Class CoANYQRoster provides a Create and CreateRemote method to          
// create instances of the default interface IANYQRoster exposed by              
// the CoClass ANYQRoster. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoANYQRoster = class
    class function Create: IANYQRoster;
    class function CreateRemote(const MachineName: string): IANYQRoster;
  end;

// *********************************************************************//
// The Class CoANYQPPDB provides a Create and CreateRemote method to          
// create instances of the default interface IANYQPPDB exposed by              
// the CoClass ANYQPPDB. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoANYQPPDB = class
    class function Create: IANYQPPDB;
    class function CreateRemote(const MachineName: string): IANYQPPDB;
  end;

// *********************************************************************//
// The Class CoANYQRosterItem provides a Create and CreateRemote method to          
// create instances of the default interface IANYQRosterItem exposed by              
// the CoClass ANYQRosterItem. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoANYQRosterItem = class
    class function Create: IANYQRosterItem;
    class function CreateRemote(const MachineName: string): IANYQRosterItem;
  end;

// *********************************************************************//
// The Class CoANYQPresence provides a Create and CreateRemote method to          
// create instances of the default interface IANYQPresence exposed by              
// the CoClass ANYQPresence. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoANYQPresence = class
    class function Create: IANYQPresence;
    class function CreateRemote(const MachineName: string): IANYQPresence;
  end;

implementation

uses ComObj;

class function CoANYQController.Create: IANYQController;
begin
  Result := CreateComObject(CLASS_ANYQController) as IANYQController;
end;

class function CoANYQController.CreateRemote(const MachineName: string): IANYQController;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ANYQController) as IANYQController;
end;

class function CoANYQChat.Create: IANYQChat;
begin
  Result := CreateComObject(CLASS_ANYQChat) as IANYQChat;
end;

class function CoANYQChat.CreateRemote(const MachineName: string): IANYQChat;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ANYQChat) as IANYQChat;
end;

class function CoANYQRoster.Create: IANYQRoster;
begin
  Result := CreateComObject(CLASS_ANYQRoster) as IANYQRoster;
end;

class function CoANYQRoster.CreateRemote(const MachineName: string): IANYQRoster;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ANYQRoster) as IANYQRoster;
end;

class function CoANYQPPDB.Create: IANYQPPDB;
begin
  Result := CreateComObject(CLASS_ANYQPPDB) as IANYQPPDB;
end;

class function CoANYQPPDB.CreateRemote(const MachineName: string): IANYQPPDB;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ANYQPPDB) as IANYQPPDB;
end;

class function CoANYQRosterItem.Create: IANYQRosterItem;
begin
  Result := CreateComObject(CLASS_ANYQRosterItem) as IANYQRosterItem;
end;

class function CoANYQRosterItem.CreateRemote(const MachineName: string): IANYQRosterItem;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ANYQRosterItem) as IANYQRosterItem;
end;

class function CoANYQPresence.Create: IANYQPresence;
begin
  Result := CreateComObject(CLASS_ANYQPresence) as IANYQPresence;
end;

class function CoANYQPresence.CreateRemote(const MachineName: string): IANYQPresence;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_ANYQPresence) as IANYQPresence;
end;

end.
