aboutsummaryrefslogtreecommitdiff
path: root/vendor/voclient/libsamp/samp.i
blob: b1267cfa91e2110f4d5c404e4678e68ecb35bc27 (plain) (blame)
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
/**
 *  SAMP.I -- SWIG Interface definition file for SAMP library.
 *
 *  @brief      SWIG Interface definition file for SAMP library.
 *
 *  @file       samp.i
 *  @author     Mike FItzpatrick
 *  @date       7/20/11
 */


%module libsamp
%{
#define handle_t        int
#define Param           int
#define Map             int
#define Msg             int
#define List            int


/*  samp.c
 */
extern handle_t sampInit (char *appName, char *description);
extern void 	sampClose (handle_t handle);
extern int  	sampStartup (handle_t handle);
extern int  	sampShutdown (handle_t handle);

extern void 	samp_setMetadata (handle_t handle, char *field, char *value);
extern void 	samp_setSubscription(handle_t handle, char *mtype, void *func);
extern void 	samp_Unsubscribe (handle_t handle, char *mtype);
extern void 	samp_setCallMode (handle_t handle, int mode);
extern void 	samp_setReplyCallback (handle_t handle, int *func);
extern void 	samp_setResponseCallback (handle_t handle, int *func);
extern void 	samp_defaultReplyHandler (handle_t handle);
extern void 	samp_deaultfResponseHandler (handle_t handle);
extern int 	samp_replyStatus (handle_t handle);

/*  sampHub.c
 */
extern handle_t samp_hubOpen (Samp *samp);
extern int 	samp_hubClose (handle_t handle);
extern List 	samp_getAvailableHubs (handle_t handle);
extern char    *samp_getActiveHubName (handle_t handle);
extern int 	samp_getActiveHub (handle_t handle);
extern int 	samp_hubInit (handle_t samp, char *appName, char *descr);

extern int 	samp_hubRegister (Hub *hub);
extern int 	samp_hubUnRegister (Hub *hub);
extern int	samp_hubSetXmlrpcCallback (Hub *hub);
extern int 	samp_hubPing (Hub *hub);
extern int 	samp_hubDeclareMetadata (Hub *hub);
extern int 	samp_hubDeclareSubscriptions (Hub *hub);

/*  sampCommands.c
 */
extern int 	samp_Register (handle_t samp);
extern int 	samp_UnRegister (handle_t samp);
extern int 	samp_DeclareMetadata (handle_t samp);
extern int 	samp_Ping (handle_t samp, char *appName);
extern Map 	samp_GetMetadata (handle_t samp, char * pubId);
extern void 	samp_DeclareSubscriptions (handle_t samp, Map subscriptions);
extern Map 	samp_GetSubscriptions (handle_t samp, char * pubId);
extern List 	samp_GetRegisteredClients (handle_t samp);

extern int 	samp_tableLoadVOTable (handle_t samp, char *recip, char *url, 
		    char *tableId, char *name);
extern int 	samp_tableLoadFITS (handle_t samp, char *recip, char *url, 
		    char *tableId, char *name);
extern int 	samp_imageLoadFITS (handle_t samp, char *recip, char *url, 
		    char *imageId, char *name);

extern int 	samp_tableHighlightRow (handle_t samp, char *recip, 
		    char *tableId, char *url, int row);
extern int 	samp_tableSelectRowList (handle_t samp, char *recip, 
		    char *tableId, char *url, List rows);
extern int 	samp_coordPointAtSky (handle_t samp, char *recip, float ra, 
		    float dec);
extern int 	samp_specLoadSSAGeneric (handle_t samp, char *recip, char *url, 
		    Map meta, char *spectrumId, char *name);

/*  sampClient.c
 */
extern void    	samp_notify (handle_t samp, char * recipId, Map msg);
extern List    	samp_notifyAll (handle_t samp, Map msg);
extern char *  	samp_call (handle_t samp, char * recipId, char * tag, Map msg);
extern Map     	samp_callAll (handle_t samp, char * msg_tag, Map msg);
extern Map     	samp_callAndWait (handle_t samp, char * recipId, 
		    char * msg_tag, Map msg);

extern char * 	samp_clientName (handle_t samp, char * pubId);
extern int	samp_setErr (handle_t samp, Map resp);
extern char *  	samp_getErr (handle_t samp);

/*  sampHandlers.c
 */
extern int 	samp_receiveCall (void *data);
extern int 	samp_receiveNotification (void *data);
extern int 	samp_receiveResponse (void *data);

extern int 	samp_PingHandler (void *data);

extern int 	samp_Reply (handle_t samp, char *msg_id, Map response);

/* sampList.c
*/
extern handle_t	samp_newList ();
extern void 	samp_freeList (List list);
extern int 	samp_listLen (List list);

extern void 	samp_setchar *InList (List list, char *value);
extern void 	samp_setMapInList (List list, Map map);
extern void 	samp_setListInList (List list1, List list2);

extern char    *samp_getchar *FromList (List list, int index);
extern Map 	samp_getMapFromList (List list, int index);
extern List 	samp_getListFromList (List list, int index);

/* sampMap.c
*/
extern handle_t samp_newMap (void);
extern void 	samp_freeMap (Map map);

extern void 	samp_setchar *InMap (Map map, char *key, char *value);
extern void 	samp_setMapInMap (Map map1, char *key, Map map2);
extern void 	samp_setListInMap (Map map, char *key, List list);

extern char    *samp_getchar *FromMap (Map map, char *key);
extern Map 	samp_getMapFromMap (Map map, char *key);
extern List 	samp_getListFromMap (Map map, char *key);

/* sampMsg.c
 */
extern Msg 	samp_newMsg (void);
extern void 	samp_freeMsg (Msg msg);
extern void 	samp_msgMType (Msg msg, char * mtype);
extern void 	samp_msgParam (Msg msg, Param param);
extern char    *samp_msgTag (void);

/* sampParam.c
 */
extern Param	samp_newParam (void);
extern void 	samp_freeParam (Param param);
extern Param 	samp_paramInit (Msg msg);
extern void 	samp_addchar *Param (Msg msg, char *keyw, char * val);
extern void 	samp_addMapParam (Msg msg, char *keyw, Map val);
extern void 	samp_addListParam (Msg msg, char *keyw, List val);
extern int 	samp_paramLen (Msg msg);

/* sampLog.c
*/
extern void 	sampLog (handle_t handle, char *format, ...);
extern void 	sampTrace (handle_t handle, char *format, ...);

/*  sampUtil.c
 */
extern handle_t samp_newHandle (void *ptr);
extern void 	samp_freeHandle (handle_t handle);
extern handle_t samp_P2H (void *ptr);
extern void    *samp_H2P (handle_t handle); 
%}




#define handle_t        int
#define Param           int
#define Map             int
#define Msg             int
#define List            int


/*  samp.c
 */
extern handle_t sampInit (char *appName, char *description);
extern void 	sampClose (handle_t handle);
extern int  	sampStartup (handle_t handle);
extern int  	sampShutdown (handle_t handle);

extern void 	samp_setMetadata (handle_t handle, char *field, char *value);
extern void 	samp_setSubscription(handle_t handle, char *mtype, void *func);
extern void 	samp_Unsubscribe (handle_t handle, char *mtype);
extern void 	samp_setCallMode (handle_t handle, int mode);
extern void 	samp_setReplyCallback (handle_t handle, int *func);
extern void 	samp_setResponseCallback (handle_t handle, int *func);
extern void 	samp_defaultReplyHandler (handle_t handle);
extern void 	samp_deaultfResponseHandler (handle_t handle);
extern int 	samp_replyStatus (handle_t handle);

/*  sampHub.c
 */
extern handle_t samp_hubOpen (Samp *samp);
extern int 	samp_hubClose (handle_t handle);
extern List 	samp_getAvailableHubs (handle_t handle);
extern char    *samp_getActiveHubName (handle_t handle);
extern int 	samp_getActiveHub (handle_t handle);
extern int 	samp_hubInit (handle_t samp, char *appName, char *descr);

extern int 	samp_hubRegister (Hub *hub);
extern int 	samp_hubUnRegister (Hub *hub);
extern int	samp_hubSetXmlrpcCallback (Hub *hub);
extern int 	samp_hubPing (Hub *hub);
extern int 	samp_hubDeclareMetadata (Hub *hub);
extern int 	samp_hubDeclareSubscriptions (Hub *hub);

/*  sampCommands.c
 */
extern int 	samp_Register (handle_t samp);
extern int 	samp_UnRegister (handle_t samp);
extern int 	samp_DeclareMetadata (handle_t samp);
extern int 	samp_Ping (handle_t samp, char *appName);
extern Map 	samp_GetMetadata (handle_t samp, char * pubId);
extern void 	samp_DeclareSubscriptions (handle_t samp, Map subscriptions);
extern Map 	samp_GetSubscriptions (handle_t samp, char * pubId);
extern List 	samp_GetRegisteredClients (handle_t samp);

extern int 	samp_tableLoadVOTable (handle_t samp, char *recip, char *url, 
		    char *tableId, char *name);
extern int 	samp_tableLoadFITS (handle_t samp, char *recip, char *url, 
		    char *tableId, char *name);
extern int 	samp_imageLoadFITS (handle_t samp, char *recip, char *url, 
		    char *imageId, char *name);

extern int 	samp_tableHighlightRow (handle_t samp, char *recip, 
		    char *tableId, char *url, int row);
extern int 	samp_tableSelectRowList (handle_t samp, char *recip, 
		    char *tableId, char *url, List rows);
extern int 	samp_coordPointAtSky (handle_t samp, char *recip, float ra, 
		    float dec);
extern int 	samp_specLoadSSAGeneric (handle_t samp, char *recip, char *url, 
		    Map meta, char *spectrumId, char *name);

/*  sampClient.c
 */
extern void    	samp_notify (handle_t samp, char * recipId, Map msg);
extern List    	samp_notifyAll (handle_t samp, Map msg);
extern char *  	samp_call (handle_t samp, char * recipId, char * tag, Map msg);
extern Map     	samp_callAll (handle_t samp, char * msg_tag, Map msg);
extern Map     	samp_callAndWait (handle_t samp, char * recipId, 
		    char * msg_tag, Map msg);

extern char * 	samp_clientName (handle_t samp, char * pubId);
extern int	samp_setErr (handle_t samp, Map resp);
extern char *  	samp_getErr (handle_t samp);

/*  sampHandlers.c
 */
extern int 	samp_receiveCall (void *data);
extern int 	samp_receiveNotification (void *data);
extern int 	samp_receiveResponse (void *data);

extern int 	samp_PingHandler (void *data);

extern int 	samp_Reply (handle_t samp, char *msg_id, Map response);

/* sampList.c
*/
extern handle_t	samp_newList ();
extern void 	samp_freeList (List list);
extern int 	samp_listLen (List list);

extern void 	samp_setchar *InList (List list, char *value);
extern void 	samp_setMapInList (List list, Map map);
extern void 	samp_setListInList (List list1, List list2);

extern char    *samp_getchar *FromList (List list, int index);
extern Map 	samp_getMapFromList (List list, int index);
extern List 	samp_getListFromList (List list, int index);

/* sampMap.c
*/
extern handle_t samp_newMap (void);
extern void 	samp_freeMap (Map map);

extern void 	samp_setchar *InMap (Map map, char *key, char *value);
extern void 	samp_setMapInMap (Map map1, char *key, Map map2);
extern void 	samp_setListInMap (Map map, char *key, List list);

extern char    *samp_getchar *FromMap (Map map, char *key);
extern Map 	samp_getMapFromMap (Map map, char *key);
extern List 	samp_getListFromMap (Map map, char *key);

/* sampMsg.c
 */
extern Msg 	samp_newMsg (void);
extern void 	samp_freeMsg (Msg msg);
extern void 	samp_msgMType (Msg msg, char * mtype);
extern void 	samp_msgParam (Msg msg, Param param);
extern char    *samp_msgTag (void);

/* sampParam.c
 */
extern Param	samp_newParam (void);
extern void 	samp_freeParam (Param param);
extern Param 	samp_paramInit (Msg msg);
extern void 	samp_addchar *Param (Msg msg, char *keyw, char * val);
extern void 	samp_addMapParam (Msg msg, char *keyw, Map val);
extern void 	samp_addListParam (Msg msg, char *keyw, List val);
extern int 	samp_paramLen (Msg msg);

/* sampLog.c
*/
extern void 	sampLog (handle_t handle, char *format, ...);
extern void 	sampTrace (handle_t handle, char *format, ...);

/*  sampUtil.c
 */
extern handle_t samp_newHandle (void *ptr);
extern void 	samp_freeHandle (handle_t handle);
extern handle_t samp_P2H (void *ptr);
extern void    *samp_H2P (handle_t handle);