Mercurial > kinput2.yaz
comparison include/IMProtoP.h @ 0:92745d501b9a
initial import from kinput2-v3.1
author | Yoshiki Yazawa <yaz@honeyplanet.jp> |
---|---|
date | Mon, 08 Mar 2010 04:44:30 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:92745d501b9a |
---|---|
1 /* $Id: IMProtoP.h,v 1.6 1995/05/17 09:15:02 ishisone Exp $ */ | |
2 /* | |
3 * Copyright (c) 1994 Software Research Associates, Inc. | |
4 * | |
5 * Permission to use, copy, modify, and distribute this software and its | |
6 * documentation for any purpose and without fee is hereby granted, provided | |
7 * that the above copyright notice appear in all copies and that both that | |
8 * copyright notice and this permission notice appear in supporting | |
9 * documentation, and that the name of Software Research Associates not be | |
10 * used in advertising or publicity pertaining to distribution of the | |
11 * software without specific, written prior permission. Software Research | |
12 * Associates makes no representations about the suitability of this software | |
13 * for any purpose. It is provided "as is" without express or implied | |
14 * warranty. | |
15 * | |
16 * Author: Makoto Ishisone, Software Research Associates, Inc., Japan | |
17 */ | |
18 | |
19 #ifndef _IMProtocolP_h | |
20 #define _IMProtocolP_h | |
21 | |
22 #include "IMProto.h" | |
23 #include "im.h" | |
24 #include "FontBank.h" | |
25 #include "ConvCtrl.h" | |
26 #include "IOECall.h" | |
27 | |
28 typedef struct { | |
29 int dummy; | |
30 } IMProtocolClassPart; | |
31 | |
32 typedef struct _IMProtocolClassRec { | |
33 CoreClassPart core_class; | |
34 IMProtocolClassPart imProtocol_class; | |
35 } IMProtocolClassRec; | |
36 | |
37 extern IMProtocolClassRec imProtocolClassRec; | |
38 | |
39 | |
40 typedef struct { | |
41 /* resources */ | |
42 String server_name; | |
43 | |
44 /* | |
45 * It is not difficult to handle multiple languages in a | |
46 * protocol widget, but we've determined not to do so | |
47 * for simplicity (at least for now). | |
48 */ | |
49 String language; | |
50 String locales; | |
51 WidgetClass input_object_class; | |
52 WidgetClass display_object_class; | |
53 String default_fontlist; /* default font list to be used */ | |
54 | |
55 Pixel foreground; /* default fg pixel */ | |
56 String conversion_start_keys; /* conversion start/end keys */ | |
57 Dimension status_width; /* default width of status area */ | |
58 String transport_list; /* transports to be used */ | |
59 | |
60 /* private state */ | |
61 Boolean use_tcp_transport; | |
62 Boolean use_unix_transport; | |
63 Boolean use_x_transport; | |
64 int tcp_port; /* TCP port number */ | |
65 int tcp_sock; /* TCP socket descriptor */ | |
66 XtInputId tcp_id; | |
67 String unix_path; /* Unix domain socket pathname */ | |
68 int unix_sock; /* Unix domain socket descriptor */ | |
69 XtInputId unix_id; | |
70 Boolean no_more_connections; | |
71 IMConnection *connection_list; | |
72 IMConverter converter; | |
73 long last_imid; | |
74 long last_icid; | |
75 IMIM *im_hash[IM_HASH_SIZE]; | |
76 IMIC *ic_hash[IC_HASH_SIZE]; | |
77 IMConnection *scheduler_queue; | |
78 IMTriggerKey *trigger_keys; /* conversion start trigger keys */ | |
79 int num_trigger_keys; | |
80 FontBank font_bank; | |
81 XFontStruct **default_fonts; | |
82 int num_default_fonts; | |
83 XIOEHandle ioe_handle; | |
84 | |
85 /* atoms */ | |
86 Atom xim_xconnect; /* "_XIM_XCONNECT" */ | |
87 Atom xim_protocol; /* "_XIM_PROTOCOL" */ | |
88 Atom xim_moredata; /* "_XIM_MOREDATA" */ | |
89 Atom ctext_atom; /* "COMPOUND_TEXT" */ | |
90 Atom locales_atom; /* "LOCALES" */ | |
91 Atom transport_atom; /* "TRANSPORT" */ | |
92 Atom ki2comm_atom; /* "_KINPUT2_COMM" */ | |
93 Atom server_atom; /* atom stored in XIM_SERVERS prop. */ | |
94 } IMProtocolPart; | |
95 | |
96 typedef struct _IMProtocolRec { | |
97 CorePart core; | |
98 IMProtocolPart imp; | |
99 } IMProtocolRec; | |
100 | |
101 #define IM_IMHASH(w) (((IMProtocolWidget)(w))->imp.im_hash) | |
102 #define IM_ICHASH(w) (((IMProtocolWidget)(w))->imp.ic_hash) | |
103 #define IM_LASTIMID(w) (((IMProtocolWidget)(w))->imp.last_imid) | |
104 #define IM_LASTICID(w) (((IMProtocolWidget)(w))->imp.last_icid) | |
105 #define IM_QUEUE(w) (((IMProtocolWidget)(w))->imp.scheduler_queue) | |
106 | |
107 #define ATOM_CTEXT(w) (((IMProtocolWidget)(w))->imp.ctext_atom) | |
108 #define ATOM_LOCALES(w) (((IMProtocolWidget)(w))->imp.locales_atom) | |
109 #define ATOM_TRANSPORT(w) (((IMProtocolWidget)(w))->imp.transport_atom) | |
110 #define ATOM_KI2COMM(w) (((IMProtocolWidget)(w))->imp.ki2comm_atom) | |
111 #define ATOM_XCONNECT(w) (((IMProtocolWidget)(w))->imp.xim_xconnect) | |
112 #define ATOM_PROTOCOL(w) (((IMProtocolWidget)(w))->imp.xim_protocol) | |
113 #define ATOM_MOREDATA(w) (((IMProtocolWidget)(w))->imp.xim_moredata) | |
114 | |
115 #endif |