gtalk 支持 multi-chat
2007-06-23 23:49:37
// Generated .IDL file (by the OLE/COM Object Viewer)
//
// typelib filename: googletalk.exe
[
uuid(7B29C130-826A-4070-BA18-EC01E703D244),
version(1.0),
helpstring("Google Talk API 1.0 Type Library"),
custom(DE77BA64-517C-11D1-A2DA-0000F8773CE9, 100663657),
custom(DE77BA63-517C-11D1-A2DA-0000F8773CE9, 1167684000),
custom(DE77BA65-517C-11D1-A2DA-0000F8773CE9, Created by MIDL version 6.00.0361 at Mon Jan 01 12:39:59 2007
)
]
library GoogleTalkAPILib
{
// TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// Forward declare all types defined in this typelib
interface ITalkAPI;
interface IMUCTalkAPI;
interface IChatRoom;
interface IMUCTalkPlugin;
interface IChatRoomContact;
interface ITalkFriend;
interface ITalkPlugin;
interface ITalkTunnelExp;
[
odl,
uuid(4A1527F6-C11F-4131-82BC-FE891D4E3B70),
helpstring("ITalkAPI Interface"),
dual,
oleautomation
]
interface ITalkAPI : IUnknown {
[id(0x60010000)]
HRESULT RegisterPlugin(
[in] BSTR plugin_guid,
[in] BSTR plugin_name,
[in] BSTR plugin_description,
[in] BSTR plugin_url,
[in] BSTR capability,
[out, retval] BSTR* token);
[id(0x60010001)]
HRESULT UnregisterPlugin(BSTR plugin_guid_or_progid);
[id(0x60010002)]
HRESULT SendMessage(
[in] BSTR token,
[in] BSTR user_id,
[in] SAFEARRAY(unsigned char) data);
[id(0x60010003)]
HRESULT SendTextMessage(
[in] BSTR token,
[in] BSTR user_id,
[in] BSTR message);
[id(0x60010004)]
HRESULT GetFriends(
[in] BSTR token,
[out, retval] SAFEARRAY(VARIANT)* friends);
};
[
odl,
uuid(7A9D1480-C6A1-11DA-95AB-00E08161165F),
helpstring("IMUCTalkAPI Interface"),
dual,
oleautomation
]
interface IMUCTalkAPI : ITalkAPI {
[id(0x60020000)]
HRESULT OpenChatRoom(
[in] BSTR room_jid,
[in] BSTR user_nickname,
[in] BSTR user_resource,
[in] BSTR user_app_capability,
[in] BSTR user_app_presence,
[out, retval] IChatRoom** chatroom_interface);
};
[
odl,
uuid(74C992C7-BA13-4E6A-A469-B43AE8FD557A),
helpstring("IChatRoom Interface"),
dual,
oleautomation
]
interface IChatRoom : IUnknown {
[id(0x60010000)]
HRESULT GetContacts([out, retval] SAFEARRAY(VARIANT)* contacts);
[id(0x60010001)]
HRESULT SetUserNickname([in] BSTR nickname);
[id(0x60010002)]
HRESULT SetUserPresenceState(
[in] BSTR capability,
[in] BSTR presence);
[id(0x60010003)]
HRESULT LeaveRoom();
[id(0x60010004)]
HRESULT BroadcastMessage(
[in] BSTR token,
[in] SAFEARRAY(unsigned char) data);
};
[
odl,
uuid(4C9DC108-C73F-11DA-95AB-00E08161165F),
helpstring("IMUCTalkPlugin Interface"),
dual,
oleautomation
]
interface IMUCTalkPlugin : IUnknown {
[id(0x60010000)]
HRESULT OnNewContact([in] IChatRoomContact* chatroom_contact);
[id(0x60010001)]
HRESULT OnDeleteContact([in] IChatRoomContact* chatroom_contact);
[id(0x60010002)]
HRESULT OnPresenceUpdate([in] IChatRoomContact* chatroom_contact);
};
[
odl,
uuid(2C876D28-FB0C-11DA-9804-B622A1EF5492),
helpstring("IChatRoomContact Interface"),
dual,
oleautomation
]
interface IChatRoomContact : IUnknown {
[id(0x60010000)]
HRESULT GetNickname([out, retval] BSTR* nickname);
[id(0x60010001)]
HRESULT GetResource([out, retval] BSTR* resource);
[id(0x60010002)]
HRESULT GetCapability([out, retval] BSTR* capability);
[id(0x60010003)]
HRESULT GetPresenceState([out, retval] BSTR* presence);
[id(0x60010004)]
HRESULT GetRoomJid([out, retval] BSTR* room_jid);
};
[
odl,
uuid(38FDD2C4-9164-4EAF-8C74-24D764FF613E),
helpstring("ITalkFriend Interface"),
dual,
oleautomation
]
interface ITalkFriend : IUnknown {
[id(0x60010000)]
HRESULT GetName([out, retval] BSTR* name);
[id(0x60010001)]
HRESULT GetUserId([out, retval] BSTR* user_id);
[id(0x60010002)]
HRESULT GetCapabilities([out, retval] SAFEARRAY(BSTR)* capabilities);
[id(0x60010003)]
HRESULT GetStatus([out, retval] unsigned long* status);
};
[
odl,
uuid(5A9FF74C-53D0-4513-9481-0F61EDEEFFE2),
helpstring("ITalkPlugin Interface"),
dual,
oleautomation
]
interface ITalkPlugin : IUnknown {
[id(0x60010000)]
HRESULT OnReceiveMessage(
[in] IUnknown* talk_friend,
[in] SAFEARRAY(unsigned char) data);
[id(0x60010001)]
HRESULT OnDropDataOverFriend(
[in] IUnknown* talk_friend,
[in] BSTR token);
};
[
odl,
uuid(65D12388-C5E9-468C-83B9-60AEA2E658DF),
helpstring("ITalkTunnelExp Interface"),
dual,
oleautomation
]
interface ITalkTunnelExp : IUnknown {
[id(0x60010000)]
HRESULT RelayUrl(
[in] BSTR token,
[in] BSTR user_id,
[in] BSTR url);
};
[
uuid(0507EEDE-3AE7-49C7-BF37-0EB4A62D8638),
helpstring("TalkAPI Class")
]
coclass TalkAPI {
[default] interface IMUCTalkAPI;
interface ITalkAPI;
};
[
uuid(D33F3CED-D7D5-44F1-A9FE-6927DABB1934),
helpstring("ChatRoom Class")
]
coclass ChatRoom {
[default] interface IChatRoom;
};
[
uuid(33B07FD4-5917-43E1-968D-4C79231836BF),
helpstring("ChatRoomContact Class")
]
coclass ChatRoomContact {
[default] interface IChatRoomContact;
interface ITalkTunnelExp;
};
[
uuid(A8F086C3-2497-4229-82FE-586F2D326F95),
helpstring("TalkFriend Class")
]
coclass TalkFriend {
[default] interface ITalkFriend;
};
};