summaryrefslogtreecommitdiff
path: root/protocols/AimOscar/chat.h
blob: 5b819544aa765f68b04416d4ae80166cd0d12f6a (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
#ifndef CHAT_H
#define CHAT_H

struct chatnav_param
{
    char* id;
    unsigned short exchange;
    unsigned short instance;

    char* message;
    char* sn;
    char* icbm_cookie;

    bool isroom;

    chatnav_param(char* tid, unsigned short ex, unsigned short in, char* msg, char* nm, char* icki)
    { id = tid; exchange = ex; instance = in; isroom = false; 
      message = mir_strdup(msg); sn = mir_strdup(nm); icbm_cookie = (char*)mir_alloc(8); memcpy(icbm_cookie, icki, 8); }

    chatnav_param(char* tid, unsigned short ex)
    { id = mir_strdup(tid); exchange = ex; isroom = true; 
      message = NULL; sn = NULL; icbm_cookie = NULL; }

    ~chatnav_param()
    { 
        mir_free(id); 
        mir_free(message);
        mir_free(sn);
        mir_free(icbm_cookie);
    }
}; 

struct chat_list_item
{
    char* id;
    char* cookie;
    HANDLE hconn;
    unsigned short cid;
	unsigned short seqno;
    unsigned short exchange;
    unsigned short instance;
	char* CHAT_COOKIE;
	int CHAT_COOKIE_LENGTH;

    chat_list_item(char* tid, char* tcookie, unsigned short ex, unsigned short in)
    { id = mir_strdup(tid); cid = get_random(); seqno = 0; hconn = NULL;
      cookie = mir_strdup(tcookie); exchange = ex; instance = in; }

    ~chat_list_item()
    { mir_free(id); mir_free(cookie); }
};

#endif