summaryrefslogtreecommitdiff
path: root/icqj_mod/guids.h
blob: f28d4b11653092e5f4b5ab14b447b81a55914198 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// ---------------------------------------------------------------------------80
//                ICQ plugin for Miranda Instant Messenger
//                ________________________________________
// 
// Copyright © 2000,2001 Richard Hughes, Roland Rabien, Tristan Van de Vreede
// Copyright © 2001,2002 Jon Keating, Richard Hughes
// Copyright © 2002,2003,2004 Martin Öberg, Sam Kothari, Robert Rainwater
// Copyright © 2004,2005 Joe Kucera
// 
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//
// -----------------------------------------------------------------------------
//
// File name      : $Source: /cvsroot/miranda/miranda/protocols/IcqOscarJ/guids.h,v $
// Revision       : $Revision: 2874 $
// Last change on : $Date: 2006-05-16 23:38:00 +0200 (Tue, 16 May 2006) $
// Last change by : $Author: ghazan $
//
// DESCRIPTION:
//
//  Contains helper functions to handle oscar message GUIDs.
//
// -----------------------------------------------------------------------------


#ifndef __GUIDS_H
#define __GUIDS_H


typedef DWORD plugin_guid[4];

// Message Capability GUIDs
static plugin_guid MCAP_TLV2711_FMT      = {MCAP_TLV2711_FMT_s};
static plugin_guid MCAP_REVERSE_REQ      = {MCAP_REVERSE_REQ_s};

// Plugin GUIDs
static plugin_guid PSIG_MESSAGE          = {PSIG_MESSAGE_s};
static plugin_guid PSIG_INFO_PLUGIN      = {PSIG_INFO_PLUGIN_s};
static plugin_guid PSIG_STATUS_PLUGIN    = {PSIG_STATUS_PLUGIN_s};

// Plugin Message GUIDs
static plugin_guid PMSG_QUERY_INFO       = {PMSG_QUERY_INFO_s};
static plugin_guid PMSG_QUERY_STATUS     = {PMSG_QUERY_STATUS_s};

// Message GUIDs
static plugin_guid MGTYPE_MESSAGE        = {MGTYPE_MESSAGE_s};
static plugin_guid MGTYPE_STATUSMSGEXT   = {MGTYPE_STATUSMSGEXT_s};
static plugin_guid MGTYPE_FILE           = {MGTYPE_FILE_s};
static plugin_guid MGTYPE_WEBURL         = {MGTYPE_WEBURL_s};
static plugin_guid MGTYPE_CONTACTS       = {MGTYPE_CONTACTS_s};
static plugin_guid MGTYPE_GREETING_CARD  = {MGTYPE_GREETING_CARD_s};
static plugin_guid MGTYPE_CHAT           = {MGTYPE_CHAT_s};
static plugin_guid MGTYPE_XTRAZ_SCRIPT   = {MGTYPE_XTRAZ_SCRIPT_s};


// make GUID checks easy
static BOOL CompareGUIDs(DWORD q1,DWORD q2,DWORD q3,DWORD q4, plugin_guid guid)
{
  return ((q1 == guid[0]) && (q2 == guid[1]) && (q3 == guid[2]) && (q4 == guid[3]))?TRUE:FALSE;
}


// pack entire GUID into icq packet
static __inline void packGUID(icq_packet* packet, plugin_guid guid)
{
  packDWord(packet, guid[0]);
  packDWord(packet, guid[1]);
  packDWord(packet, guid[2]);
  packDWord(packet, guid[3]);
}


// capabilities
typedef unsigned char capstr[0x10];

capstr* MatchCap(char* buf, int bufsize, const capstr* cap, int capsize);


#endif /* __GUIDS_H */