#1559 Simplify tr_sessionInitFull - Mac client
This commit is contained in:
parent
78a68337fd
commit
2707962707
|
@ -91,10 +91,10 @@ typedef tr_handle tr_session;
|
|||
/**
|
||||
* @addtogroup tr_session Session
|
||||
*
|
||||
* A libtransmission session is created by calling either tr_sessionInit()
|
||||
* or tr_sessionInit(). libtransmission creates a thread for itself so that
|
||||
* it can operate independently of the caller's event loop. The session will
|
||||
* continue until tr_sessionClose() is called.
|
||||
* A libtransmission session is created by calling tr_sessionInit().
|
||||
* libtransmission creates a thread for itself so that it can operate
|
||||
* independently of the caller's event loop. The session will continue
|
||||
* until tr_sessionClose() is called.
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
@ -236,7 +236,7 @@ void tr_sessionSaveSettings( tr_session * session,
|
|||
* tr_bencFree( &settings );
|
||||
* @encode
|
||||
*
|
||||
* @param tag "gtk", "mac", "daemon", etc... this is only for pre-1.30 resume files
|
||||
* @param tag "gtk", "macosx", "daemon", etc... this is only for pre-1.30 resume files
|
||||
* @param configDir where Transmission will look for resume files, blocklists, etc.
|
||||
* @param messageQueueingEnabled if false, messages will be dumped to stderr
|
||||
* @param settings libtransmission settings
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#import "ExpandedPathToPathTransformer.h"
|
||||
#import "ExpandedPathToIconTransformer.h"
|
||||
#import "SpeedLimitToTurtleIconTransformer.h"
|
||||
#import "bencode.h"
|
||||
#import "utils.h"
|
||||
|
||||
#import "UKKQueue.h"
|
||||
|
@ -207,38 +208,44 @@ static void sleepCallback(void * controller, io_service_t y, natural_t messageTy
|
|||
{
|
||||
fDefaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
fLib = tr_sessionInitFull(NULL, /* use default config directory (Application Support) */
|
||||
"macosx",
|
||||
#warning update when changing in prefs
|
||||
[[[fDefaults stringForKey: @"DownloadFolder"] stringByExpandingTildeInPath] UTF8String],
|
||||
[fDefaults boolForKey: @"PEXGlobal"],
|
||||
[fDefaults boolForKey: @"NatTraversal"],
|
||||
[fDefaults boolForKey: @"RandomPort"] ? -1 : [fDefaults integerForKey: @"BindPort"],
|
||||
TR_DEFAULT_ENCRYPTION, /* reset in prefs */
|
||||
TR_DEFAULT_LAZY_BITFIELD_ENABLED,
|
||||
NO, /* reset in prefs */
|
||||
-1, /* reset in prefs */
|
||||
NO, /* reset in prefs */
|
||||
-1, /* reset in prefs */
|
||||
[fDefaults integerForKey: @"PeersTotal"],
|
||||
[fDefaults integerForKey: @"MessageLevel"],
|
||||
YES,
|
||||
[fDefaults boolForKey: @"Blocklist"],
|
||||
[fDefaults integerForKey: @"PeerSocketTOS"], /* hidden pref - default is TR_DEFAULT_PEER_SOCKET_TOS */
|
||||
[fDefaults boolForKey: @"RPC"],
|
||||
[fDefaults integerForKey: @"RPCPort"],
|
||||
[fDefaults boolForKey: @"RPCUseWhitelist"],
|
||||
NULL, /* reset in prefs */
|
||||
[fDefaults boolForKey: @"RPCAuthorize"],
|
||||
[[fDefaults stringForKey: @"RPCUsername"] UTF8String],
|
||||
"", /* reset in prefs - from Keychain */
|
||||
[fDefaults boolForKey: @"Proxy"],
|
||||
[[fDefaults stringForKey: @"ProxyAddress"] UTF8String],
|
||||
[fDefaults integerForKey: @"ProxyPort"],
|
||||
TR_DEFAULT_PROXY_TYPE, /* reset in prefs */
|
||||
[fDefaults boolForKey: @"ProxyAuthorize"],
|
||||
[[fDefaults stringForKey: @"ProxyUsername"] UTF8String],
|
||||
""); /* reset in prefs - from Keychain */
|
||||
tr_benc settings;
|
||||
tr_bencInitDict(&settings, 21);
|
||||
tr_sessionGetDefaultSettings(&settings);
|
||||
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_BLOCKLIST_ENABLED, [fDefaults boolForKey: @"Blocklist"]);
|
||||
|
||||
#warning update when changing in prefs
|
||||
tr_bencDictAddStr(&settings, TR_PREFS_KEY_DOWNLOAD_DIR, [[[fDefaults stringForKey: @"DownloadFolder"]
|
||||
stringByExpandingTildeInPath] UTF8String]);
|
||||
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_MSGLEVEL, [fDefaults boolForKey: @"MessageLevel"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PEER_LIMIT_GLOBAL, [fDefaults integerForKey: @"PeersTotal"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PEER_LIMIT_TORRENT, [fDefaults integerForKey: @"PeersTorrent"]);
|
||||
|
||||
const BOOL randomPort = [fDefaults boolForKey: @"RandomPort"];
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PEER_PORT_RANDOM_ENABLED, randomPort);
|
||||
if (!randomPort)
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PEER_PORT, [fDefaults integerForKey: @"BindPort"]);
|
||||
|
||||
//hidden pref
|
||||
if ([fDefaults objectForKey: @"PeerSocketTOS"])
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PEER_SOCKET_TOS, [fDefaults integerForKey: @"PeerSocketTOS"]);
|
||||
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PEX_ENABLED, [fDefaults boolForKey: @"PEXGlobal"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PORT_FORWARDING, [fDefaults boolForKey: @"NatTraversal"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PROXY_AUTH_ENABLED, [fDefaults boolForKey: @"ProxyAuthorize"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PROXY_ENABLED, [fDefaults boolForKey: @"Proxy"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_PROXY_PORT, [fDefaults integerForKey: @"ProxyPort"]);
|
||||
tr_bencDictAddStr(&settings, TR_PREFS_KEY_PROXY, [[fDefaults stringForKey: @"ProxyAddress"] UTF8String]);
|
||||
tr_bencDictAddStr(&settings, TR_PREFS_KEY_PROXY_USERNAME, [[fDefaults stringForKey: @"ProxyUsername"] UTF8String]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_RPC_AUTH_REQUIRED, [fDefaults boolForKey: @"RPCAuthorize"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_RPC_ENABLED, [fDefaults boolForKey: @"RPC"]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_RPC_PORT, [fDefaults integerForKey: @"RPCPort"]);
|
||||
tr_bencDictAddStr(&settings, TR_PREFS_KEY_RPC_USERNAME, [[fDefaults stringForKey: @"RPCUsername"] UTF8String]);
|
||||
tr_bencDictAddInt(&settings, TR_PREFS_KEY_RPC_WHITELIST_ENABLED, [fDefaults boolForKey: @"RPCUseWhitelist"]);
|
||||
|
||||
fLib = tr_sessionInit("macosx", tr_getDefaultConfigDir("Transmission"), YES, &settings);
|
||||
tr_bencFree(&settings);
|
||||
|
||||
[NSApp setDelegate: self];
|
||||
|
||||
|
|
|
@ -86,8 +86,6 @@
|
|||
<true/>
|
||||
<key>PEXGlobal</key>
|
||||
<true/>
|
||||
<key>PeerSocketTOS</key>
|
||||
<integer>8</integer>
|
||||
<key>PeersTorrent</key>
|
||||
<integer>60</integer>
|
||||
<key>PeersTotal</key>
|
||||
|
|
Loading…
Reference in New Issue