source: trunk/libtransmission/trevent.h @ 7151

Last change on this file since 7151 was 7151, checked in by charles, 13 years ago

(libT) add #ifdefs to ensure that client apps don't #include private libtransmission headers.

  • Property svn:keywords set to Date Rev Author Id
File size: 1.6 KB
Line 
1/*
2 * This file Copyright (C) 2007-2008 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 7151 2008-11-24 20:17:36Z charles $
11 */
12
13#ifndef __TRANSMISSION__
14#error only libtransmission should #include this header.
15#endif
16
17#ifndef TR_EVENT_H
18#define TR_EVENT_H
19
20#include <stddef.h> /* size_t */
21#include <inttypes.h> /* uint64_t */
22
23/**
24**/
25
26void      tr_eventInit( struct tr_handle * tr_handle );
27
28void      tr_eventClose( struct tr_handle * tr_handle );
29
30struct event_base * tr_eventGetBase( struct tr_handle * tr_handle );
31
32
33typedef struct tr_timer  tr_timer;
34
35/**
36 * Calls timer_func(user_data) after the specified interval.
37 * The timer is freed if timer_func returns zero.
38 * Otherwise, it's called again after the same interval.
39 */
40tr_timer* tr_timerNew(
41    struct tr_handle *               handle,
42    int                 func( void * user_data ),
43    void *                           user_data,
44    uint64_t
45                                     timeout_milliseconds );
46
47/**
48 * Frees a timer and sets the timer pointer to NULL.
49 */
50void      tr_timerFree( tr_timer ** timer );
51
52
53int       tr_amInEventThread( struct tr_handle * handle );
54
55void      tr_runInEventThread( struct tr_handle *       handle,
56                               void               func( void* ),
57                               void *                   user_data );
58
59#endif
Note: See TracBrowser for help on using the repository browser.