comparison src/structs.h @ 8210:b717dae2f26d v7.4.1398

commit https://github.com/vim/vim/commit/4e221c99e85ed40c98892068a01270b9e7492d98 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 23 13:20:22 2016 +0100 patch 7.4.1398 Problem: The close-cb option is not implemented yet. Solution: Implemente close-cb. (Yasuhiro Matsumoto)
author Christian Brabandt <cb@256bit.org>
date Tue, 23 Feb 2016 13:30:07 +0100
parents 477c1d855698
children 05b88224cea1
comparison
equal deleted inserted replaced
8209:30b7880d7522 8210:b717dae2f26d
1364 * giving pages full of error messages when 1364 * giving pages full of error messages when
1365 * the other side has exited, only mention the 1365 * the other side has exited, only mention the
1366 * first error until the connection works 1366 * first error until the connection works
1367 * again. */ 1367 * again. */
1368 1368
1369 void (*ch_close_cb)(void); /* callback for when channel is closed */ 1369 void (*ch_nb_close_cb)(void);
1370 /* callback for Netbeans when channel is
1371 * closed */
1370 1372
1371 char_u *ch_callback; /* call when any msg is not handled */ 1373 char_u *ch_callback; /* call when any msg is not handled */
1374 char_u *ch_close_cb; /* call when channel is closed */
1372 1375
1373 job_T *ch_job; /* Job that uses this channel; this does not 1376 job_T *ch_job; /* Job that uses this channel; this does not
1374 * count as a reference to avoid a circular 1377 * count as a reference to avoid a circular
1375 * reference. */ 1378 * reference. */
1376 1379
1377 int ch_refcount; /* reference count */ 1380 int ch_refcount; /* reference count */
1378 }; 1381 };
1379 1382
1380 #define JO_MODE 0x0001 /* channel mode */ 1383 #define JO_MODE 0x0001 /* channel mode */
1381 #define JO_IN_MODE 0x0002 /* stdin mode */ 1384 #define JO_IN_MODE 0x0002 /* stdin mode */
1382 #define JO_OUT_MODE 0x0004 /* stdout mode */ 1385 #define JO_OUT_MODE 0x0004 /* stdout mode */
1383 #define JO_ERR_MODE 0x0008 /* stderr mode */ 1386 #define JO_ERR_MODE 0x0008 /* stderr mode */
1384 #define JO_CALLBACK 0x0010 /* channel callback */ 1387 #define JO_CALLBACK 0x0010 /* channel callback */
1385 #define JO_OUT_CALLBACK 0x0020 /* stdout callback */ 1388 #define JO_OUT_CALLBACK 0x0020 /* stdout callback */
1386 #define JO_ERR_CALLBACK 0x0040 /* stderr callback */ 1389 #define JO_ERR_CALLBACK 0x0040 /* stderr callback */
1387 #define JO_WAITTIME 0x0080 /* only for ch_open() */ 1390 #define JO_CLOSE_CALLBACK 0x0080 /* close callback */
1388 #define JO_TIMEOUT 0x0100 /* all timeouts */ 1391 #define JO_WAITTIME 0x0100 /* only for ch_open() */
1389 #define JO_OUT_TIMEOUT 0x0200 /* stdout timeouts */ 1392 #define JO_TIMEOUT 0x0200 /* all timeouts */
1390 #define JO_ERR_TIMEOUT 0x0400 /* stderr timeouts */ 1393 #define JO_OUT_TIMEOUT 0x0400 /* stdout timeouts */
1391 #define JO_PART 0x0800 /* "part" */ 1394 #define JO_ERR_TIMEOUT 0x0800 /* stderr timeouts */
1392 #define JO_ID 0x1000 /* "id" */ 1395 #define JO_PART 0x1000 /* "part" */
1393 #define JO_STOPONEXIT 0x2000 /* "stoponexit" */ 1396 #define JO_ID 0x2000 /* "id" */
1394 #define JO_EXIT_CB 0x4000 /* "exit-cb" */ 1397 #define JO_STOPONEXIT 0x4000 /* "stoponexit" */
1395 #define JO_ALL 0xffffff 1398 #define JO_EXIT_CB 0x8000 /* "exit-cb" */
1399 #define JO_ALL 0xffffff
1396 1400
1397 #define JO_MODE_ALL (JO_MODE + JO_IN_MODE + JO_OUT_MODE + JO_ERR_MODE) 1401 #define JO_MODE_ALL (JO_MODE + JO_IN_MODE + JO_OUT_MODE + JO_ERR_MODE)
1398 #define JO_CB_ALL (JO_CALLBACK + JO_OUT_CALLBACK + JO_ERR_CALLBACK) 1402 #define JO_CB_ALL \
1403 (JO_CALLBACK + JO_OUT_CALLBACK + JO_ERR_CALLBACK + JO_CLOSE_CALLBACK)
1399 #define JO_TIMEOUT_ALL (JO_TIMEOUT + JO_OUT_TIMEOUT + JO_ERR_TIMEOUT) 1404 #define JO_TIMEOUT_ALL (JO_TIMEOUT + JO_OUT_TIMEOUT + JO_ERR_TIMEOUT)
1400 1405
1401 /* 1406 /*
1402 * Options for job and channel commands. 1407 * Options for job and channel commands.
1403 */ 1408 */
1410 ch_mode_T jo_out_mode; 1415 ch_mode_T jo_out_mode;
1411 ch_mode_T jo_err_mode; 1416 ch_mode_T jo_err_mode;
1412 char_u *jo_callback; /* not allocated! */ 1417 char_u *jo_callback; /* not allocated! */
1413 char_u *jo_out_cb; /* not allocated! */ 1418 char_u *jo_out_cb; /* not allocated! */
1414 char_u *jo_err_cb; /* not allocated! */ 1419 char_u *jo_err_cb; /* not allocated! */
1420 char_u *jo_close_cb; /* not allocated! */
1415 int jo_waittime; 1421 int jo_waittime;
1416 int jo_timeout; 1422 int jo_timeout;
1417 int jo_out_timeout; 1423 int jo_out_timeout;
1418 int jo_err_timeout; 1424 int jo_err_timeout;
1419 int jo_part; 1425 int jo_part;