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
RevLine 
[2829]1/*
[4404]2 * This file Copyright (C) 2007-2008 Charles Kerr <charles@rebelbase.com>
[2829]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)
[6795]6 * so that the bulk of its code can remain under the MIT license.
[2829]7 * This exemption does not extend to derived works not owned by
8 * the Transmission project.
[2843]9 *
[2846]10 * $Id: trevent.h 7151 2008-11-24 20:17:36Z charles $
[2829]11 */
12
[7151]13#ifndef __TRANSMISSION__
14#error only libtransmission should #include this header.
15#endif
16
[2829]17#ifndef TR_EVENT_H
[7151]18#define TR_EVENT_H
[2829]19
[3457]20#include <stddef.h> /* size_t */
21#include <inttypes.h> /* uint64_t */
[2975]22
[2829]23/**
24**/
25
[6795]26void      tr_eventInit( struct tr_handle * tr_handle );
[2829]27
[6795]28void      tr_eventClose( struct tr_handle * tr_handle );
[2829]29
[6811]30struct event_base * tr_eventGetBase( struct tr_handle * tr_handle );
[2829]31
[6811]32
[3105]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 */
[6795]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 );
[3105]46
47/**
48 * Frees a timer and sets the timer pointer to NULL.
49 */
[6795]50void      tr_timerFree( tr_timer ** timer );
[3105]51
[3833]52
[6795]53int       tr_amInEventThread( struct tr_handle * handle );
[3833]54
[6795]55void      tr_runInEventThread( struct tr_handle *       handle,
56                               void               func( void* ),
57                               void *                   user_data );
[3105]58
[2829]59#endif
Note: See TracBrowser for help on using the repository browser.