source: trunk/libtransmission/trevent.h @ 3833

Last change on this file since 3833 was 3833, checked in by charles, 14 years ago

fix r3830 bug reported by Gimp_

  • Property svn:keywords set to Date Rev Author Id
File size: 1.8 KB
Line 
1/*
2 * This file Copyright (C) 2007 Charles Kerr <charles@rebelbase.com>
3 *
4 * This file is licensed by the GPL version 2.  Works owned by the
5 * Transmission project are granted a special exemption to clause 2(b)
6 * so that the bulk of its code can remain under the MIT license.
7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
9 *
10 * $Id: trevent.h 3833 2007-11-16 05:43:47Z charles $
11 */
12
13#ifndef TR_EVENT_H
14
15#include <stddef.h> /* size_t */
16#include <inttypes.h> /* uint64_t */
17
18/**
19**/
20
21void tr_eventInit( struct tr_handle * tr_handle );
22
23void tr_eventClose( struct tr_handle * tr_handle );
24
25/**
26**/
27
28struct event;
29enum evhttp_cmd_type;
30struct evhttp_request;
31struct evhttp_connection;
32struct bufferevent;
33
34void tr_evhttp_make_request (struct tr_handle          * tr_handle,
35                             struct evhttp_connection  * evcon,
36                             struct evhttp_request     * req,
37                             enum evhttp_cmd_type        type,
38                             char                      * uri);
39
40/**
41***
42**/
43
44typedef struct tr_timer  tr_timer;
45
46/**
47 * Calls timer_func(user_data) after the specified interval.
48 * The timer is freed if timer_func returns zero.
49 * Otherwise, it's called again after the same interval.
50 */
51tr_timer* tr_timerNew( struct tr_handle  * handle,
52                       int                 func( void * user_data ),
53                       void              * user_data,
54                       uint64_t            timeout_milliseconds );
55
56/**
57 * Frees a timer and sets the timer pointer to NULL.
58 */
59void tr_timerFree( tr_timer ** timer );
60
61
62int tr_amInEventThread( struct tr_handle * handle );
63
64void tr_runInEventThread( struct tr_handle * handle,
65                          void               func( void* ),
66                          void             * user_data );
67
68#endif
Note: See TracBrowser for help on using the repository browser.