Ignore:
Timestamp:
Jul 24, 2010, 2:57:39 AM (12 years ago)
Author:
charles
Message:

(trunk) #2560: rename "inactive limit" to "idle limit". Add support in GTK+ client and preliminary support to Qt client

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/torrent.c

    r11041 r11044  
    329329
    330330void
    331 tr_torrentSetInactiveMode( tr_torrent *  tor, tr_inactivelimit mode )
    332 {
    333     assert( tr_isTorrent( tor ) );
    334     assert( mode==TR_INACTIVELIMIT_GLOBAL || mode==TR_INACTIVELIMIT_SINGLE || mode==TR_INACTIVELIMIT_UNLIMITED  );
    335 
    336     if( mode != tor->inactiveLimitMode )
    337     {
    338         tor->inactiveLimitMode = mode;
     331tr_torrentSetIdleMode( tr_torrent *  tor, tr_idlelimit mode )
     332{
     333    assert( tr_isTorrent( tor ) );
     334    assert( mode==TR_IDLELIMIT_GLOBAL || mode==TR_IDLELIMIT_SINGLE || mode==TR_IDLELIMIT_UNLIMITED  );
     335
     336    if( mode != tor->idleLimitMode )
     337    {
     338        tor->idleLimitMode = mode;
    339339
    340340        tr_torrentSetDirty( tor );
     
    342342}
    343343
    344 tr_inactivelimit
    345 tr_torrentGetInactiveMode( const tr_torrent * tor )
    346 {
    347     assert( tr_isTorrent( tor ) );
    348 
    349     return tor->inactiveLimitMode;
    350 }
    351 
    352 void
    353 tr_torrentSetInactiveLimit( tr_torrent * tor, uint64_t inactiveMinutes)
    354 {
    355     assert( tr_isTorrent( tor ) );
    356 
    357     if( inactiveMinutes > 0 )
    358     {
    359         tor->inactiveLimitMinutes = inactiveMinutes;
     344tr_idlelimit
     345tr_torrentGetIdleMode( const tr_torrent * tor )
     346{
     347    assert( tr_isTorrent( tor ) );
     348
     349    return tor->idleLimitMode;
     350}
     351
     352void
     353tr_torrentSetIdleLimit( tr_torrent * tor, uint16_t idleMinutes )
     354{
     355    assert( tr_isTorrent( tor ) );
     356
     357    if( idleMinutes > 0 )
     358    {
     359        tor->idleLimitMinutes = idleMinutes;
    360360
    361361        tr_torrentSetDirty( tor );
     
    363363}
    364364
    365 uint64_t
    366 tr_torrentGetInactiveLimit( const tr_torrent * tor )
    367 {
    368     assert( tr_isTorrent( tor ) );
    369 
    370     return tor->inactiveLimitMinutes;
     365uint16_t
     366tr_torrentGetIdleLimit( const tr_torrent * tor )
     367{
     368    assert( tr_isTorrent( tor ) );
     369
     370    return tor->idleLimitMinutes;
    371371}
    372372
    373373tr_bool
    374 tr_torrentGetSeedInactive( const tr_torrent * tor, uint64_t * inactiveMinutes )
     374tr_torrentGetSeedIdle( const tr_torrent * tor, uint16_t * idleMinutes )
    375375{
    376376    tr_bool isLimited;
    377377
    378     switch( tr_torrentGetInactiveMode( tor ) )
    379     {
    380         case TR_INACTIVELIMIT_SINGLE:
     378    switch( tr_torrentGetIdleMode( tor ) )
     379    {
     380        case TR_IDLELIMIT_SINGLE:
    381381            isLimited = TRUE;
    382             if( inactiveMinutes )
    383                 *inactiveMinutes = tr_torrentGetInactiveLimit( tor );
     382            if( idleMinutes )
     383                *idleMinutes = tr_torrentGetIdleLimit( tor );
    384384            break;
    385385
    386         case TR_INACTIVELIMIT_GLOBAL:
    387             isLimited = tr_sessionIsInactivityLimited( tor->session );
    388             if( isLimited && inactiveMinutes )
    389                 *inactiveMinutes = tr_sessionGetInactiveLimit( tor->session );
     386        case TR_IDLELIMIT_GLOBAL:
     387            isLimited = tr_sessionIsIdleLimited( tor->session );
     388            if( isLimited && idleMinutes )
     389                *idleMinutes = tr_sessionGetIdleLimit( tor->session );
    390390            break;
    391391
    392         default: /* TR_INACTIVELIMIT_UNLIMITED */
     392        default: /* TR_IDLELIMIT_UNLIMITED */
    393393            isLimited = FALSE;
    394394            break;
     
    399399
    400400static tr_bool
    401 tr_torrentIsSeedInactiveLimitDone( tr_torrent * tor )
    402 {
    403     uint64_t inactiveMinutes;
     401tr_torrentIsSeedIdleLimitDone( tr_torrent * tor )
     402{
     403    uint16_t idleMinutes;
    404404#warning can this use the idleSecs from tr_stat?
    405     return tr_torrentGetSeedInactive( tor, &inactiveMinutes )
    406         && difftime(tr_time(), MAX(tor->startDate, tor->activityDate)) >= inactiveMinutes * 60;
     405    return tr_torrentGetSeedIdle( tor, &idleMinutes )
     406        && difftime(tr_time(), MAX(tor->startDate, tor->activityDate)) >= idleMinutes * 60u;
    407407}
    408408
     
    431431    }
    432432    /* if we're seeding and reach our inactiviy limit, stop the torrent */
    433     else if( tr_torrentIsSeedInactiveLimitDone( tor ) )
     433    else if( tr_torrentIsSeedIdleLimitDone( tor ) )
    434434    {
    435435        tr_torinf( tor, "Seeding inactivity limit reached; pausing torrent" );
     
    438438
    439439        /* maybe notify the client */
    440         if( tor->inactive_limit_hit_func != NULL )
    441             tor->inactive_limit_hit_func( tor, tor->inactive_limit_hit_func_user_data );
     440        if( tor->idle_limit_hit_func != NULL )
     441            tor->idle_limit_hit_func( tor, tor->idle_limit_hit_func_user_data );
    442442    }
    443443}
     
    809809    }
    810810
    811     if( !( loaded & TR_FR_INACTIVELIMIT ) )
    812     {
    813         tr_torrentSetInactiveMode( tor, TR_INACTIVELIMIT_GLOBAL );
    814         tr_torrentSetInactiveLimit( tor, tr_sessionGetInactiveLimit( tor->session ) );
     811    if( !( loaded & TR_FR_IDLELIMIT ) )
     812    {
     813        tr_torrentSetIdleMode( tor, TR_IDLELIMIT_GLOBAL );
     814        tr_torrentSetIdleLimit( tor, tr_sessionGetIdleLimit( tor->session ) );
    815815    }
    816816
     
    17831783}
    17841784
    1785 void
    1786 tr_torrentSetInactiveLimitHitCallback( tr_torrent                        * tor,
    1787                                        tr_torrent_inactive_limit_hit_func  func,
    1788                                        void                              * user_data )
    1789 {
    1790     assert( tr_isTorrent( tor ) );
    1791 
    1792     tor->inactive_limit_hit_func = func;
    1793     tor->inactive_limit_hit_func_user_data = user_data;
    1794 }
    1795 
    1796 void
    1797 tr_torrentClearInactiveLimitHitCallback( tr_torrent * torrent )
    1798 {
    1799     tr_torrentSetInactiveLimitHitCallback( torrent, NULL, NULL );
     1785static void
     1786tr_torrentSetIdleLimitHitCallback( tr_torrent                    * tor,
     1787                                   tr_torrent_idle_limit_hit_func  func,
     1788                                   void                          * user_data )
     1789{
     1790    assert( tr_isTorrent( tor ) );
     1791
     1792    tor->idle_limit_hit_func = func;
     1793    tor->idle_limit_hit_func_user_data = user_data;
     1794}
     1795
     1796void
     1797tr_torrentClearIdleLimitHitCallback( tr_torrent * torrent )
     1798{
     1799    tr_torrentSetIdleLimitHitCallback( torrent, NULL, NULL );
    18001800}
    18011801
Note: See TracChangeset for help on using the changeset viewer.