Files
transshift/TransmissionRPCClient/RPCConfigValues.h
2015-07-26 21:46:21 +03:00

197 lines
13 KiB
C

//
// RPCConfigValues.h
// TransmissionRPCClient
//
// RPC config values using in JSON requests/answers
//
#ifndef TransmissionRPCClient_RPCConfigValues_h
#define TransmissionRPCClient_RPCConfigValues_h
// -- common rpc json values
#define TR_METHOD @"method"
#define TR_METHOD_ARGS @"arguments"
#define TR_RETURNED_ARGS @"arguments"
#define TR_RESULT @"result"
#define TR_RESULT_SUCCEED @"success"
#define TR_METHODNAME_TORRENTRESUME @"torrent-start"
#define TR_METHODNAME_TORRENTSTOP @"torrent-stop"
#define TR_METHODNAME_TORRENTREANNOUNCE @"torrent-reannounce"
#define TR_METHODNAME_TORRENTVERIFY @"torrent-verify"
#define TR_METHODNAME_TORRENTREMOVE @"torrent-remove"
#define TR_METHODNAME_TORRENTADD @"torrent-add"
#define TR_METHODNAME_TORRENTADDURL @"torrent-add-url"
#define TR_METHODNAME_TORRENTGET @"torrent-get"
#define TR_METHODNAME_TORRENTSET @"torrent-set"
#define TR_METHODNAME_SESSIONGET @"session-get"
#define TR_METHODNAME_SESSIONSET @"session-set"
#define TR_METHODNAME_FREESPACE @"free-space"
#define TR_METHODNAME_TESTPORT @"port-test"
#define TR_RETURNED_ARG_TORRENTS @"torrents"
#define TR_ARG_DELETELOCALDATA @"delete-local-data"
#define TR_ARG_METAINFO @"metainfo" /* Base64 encoded info */
#define TR_ARG_MAGNETFILENAME @"filename"
#define TR_ARG_BANDWIDTHPRIORITY @"bandwidthPriority"
#define TR_ARG_PAUSEONADD @"paused"
#define TR_ARG_FREESPACEPATH @"path"
#define TR_ARG_FREESPACESIZE @"size-bytes"
#define TR_ARG_PORTTESTPORTISOPEN @"port-is-open"
// ---- TORRENT GET --- arguments
#define TR_ARG_FIELDS @"fields"
#define TR_ARG_IDS @"ids"
#define TR_ARG_FIELDS_ID @"id"
#define TR_ARG_FIELDS_NAME @"name"
#define TR_ARG_FIELDS_STATUS @"status"
#define TR_ARG_FIELDS_ETA @"eta"
// torrent statuses
#define TR_STATUS_STOPPED 0 /* Torrent is stopped */
#define TR_STATUS_CHECK_WAIT 1 /* Queued to check files */
#define TR_STATUS_CHECK 2 /* Checking files */
#define TR_STATUS_DOWNLOAD_WAIT 3 /* Queued to download */
#define TR_STATUS_DOWNLOAD 4 /* Downloading */
#define TR_STATUS_SEED_WAIT 5 /* Queued to seed */
#define TR_STATUS_SEED 6 /* Seeding */
// -----
#define TR_ARG_FIELDS_PERCENTDONE @"percentDone"
#define TR_ARG_FIELDS_RATEDOWNLOAD @"rateDownload"
#define TR_ARG_FIELDS_RATEUPLOAD @"rateUpload"
#define TR_ARG_FIELDS_TOTALSIZE @"totalSize"
// peers
#define TR_ARG_FIELDS_PEERSCONNECTED @"peersConnected"
#define TR_ARG_FIELDS_PEERSGETTINGFROMUS @"peersGettingFromUs"
#define TR_ARG_FIELDS_PEERSSENDINGTOUS @"peersSendingToUs"
// tracker stats
#define TR_ARG_FIELDS_TRACKERSTATS @"trackerStats"
// peers object fields
#define TR_ARG_FIELDS_PEERS @"peers"
#define TR_ARG_FIELDS_PEER_ADDRESS @"address"
#define TR_ARG_FIELDS_PEER_PORT @"port"
#define TR_ARG_FIELDS_PEER_CLIENTNAME @"clientName"
#define TR_ARG_FIELDS_PEER_FLAGSTR @"flagStr"
#define TR_ARG_FIELDS_PEER_RATETOCLIENT @"rateToClient" /* download rate */
#define TR_ARG_FIELDS_PEER_RATETOPEER @"rateToPeer" /* upload rate */
#define TR_ARG_FIELDS_PEER_PROGRESS @"progress"
#define TR_ARG_FIELDS_PEER_ISENCRYPTED @"isEncrypted"
#define TR_ARG_FIELDS_PEER_ISUTP @"isUTP"
#define TR_ARG_FIELDS_UPLOADEDEVER @"uploadedEver"
#define TR_ARG_FIELDS_UPLOADRATIO @"uploadRatio"
#define TR_ARG_FIELDS_COMMENT @"comment"
#define TR_ARG_FIELDS_CREATOR @"creator"
#define TR_ARG_FIELDS_DATECREATED @"dateCreated"
#define TR_ARG_FIELDS_ERRORNUM @"error"
#define TR_ARG_FIELDS_ERRORSTRING @"errorString"
#define TR_ARG_FIELDS_HASHSTRING @"hashString"
#define TR_ARG_FIELDS_DONEDATE @"doneDate"
#define TR_ARG_FIELDS_PIECECOUNT @"pieceCount"
#define TR_ARG_FIELDS_PIECESIZE @"pieceSize"
#define TR_ARG_FIELDS_SECONDSDOWNLOADING @"secondsDownloading"
#define TR_ARG_FIELDS_SECONDSSEEDING @"secondsSeeding"
#define TR_ARG_FIELDS_STARTDATE @"startDate"
#define TR_ARG_FIELDS_ACTIVITYDATE @"activityDate"
#define TR_ARG_FIELDS_HAVEVALID @"haveValid"
#define TR_ARG_FIELDS_HAVEUNCHECKED @"haveUnchecked"
#define TR_ARG_FIELDS_RECHECKPROGRESS @"recheckProgress"
#define TR_ARG_FIELDS_DOWNLOADEDEVER @"downloadedEver"
#define TR_ARG_FIELDS_TRACKERREMOVE @"trackerRemove"
#define TR_ARG_FIELDS_HONORSSESSIONLIMITS @"honorsSessionLimits"
#define TR_ARG_FIELDS_BANDWIDTHPRIORITY @"bandwidthPriority"
#define TR_ARG_FIELDS_QUEUEPOSITION @"queuePosition"
#define TR_ARG_FIELDS_SEEDIDLEMODE @"seedIdleMode"
#define TR_ARG_FIELDS_SEEDIDLELIMIT @"seedIdleLimit"
#define TR_ARG_FIELDS_SEEDRATIOMODE @"seedRatioMode"
#define TR_ARG_FIELDS_SEEDRATIOLIMIT @"seedRatioLimit"
#define TR_ARG_FIELDS_UPLOADLIMITED @"uploadLimited"
#define TR_ARG_FIELDS_UPLOADLIMIT @"uploadLimit"
#define TR_ARG_FIELDS_DOWNLOADLIMITED @"downloadLimited"
#define TR_ARG_FIELDS_DOWNLOADLIMIT @"downloadLimit"
// FileInfo values
#define TR_ARG_FIELDS_FILES @"files"
#define TR_ARG_FIELDS_FILESTATS @"fileStats"
#define TR_ARG_FILEINFO_NAME @"name"
#define TR_ARG_FILEINFO_WANTED @"wanted"
#define TR_ARG_FILEINFO_PRIORITY @"priority"
#define TR_ARG_FILEINFO_LENGTH @"length"
#define TR_ARG_FILEINFO_BYTESCOMPLETED @"bytesCompleted"
// set torrent
#define TR_ARG_FIELDS_FILES_WANTED @"files-wanted"
#define TR_ARG_FIELDS_FILES_UNWANTED @"files-unwanted"
// priorities
#define TR_ARG_FIELDS_FILES_PRIORITY_HIGH @"priority-high" /* 1 */
#define TR_ARG_FIELDS_FILES_PRIORITY_LOW @"priority-low" /* -1 */
#define TR_ARG_FIELDS_FILES_PRIORITY_NORMAL @"priority-normal" /* 0 */
// tracker stats params
#define TR_ARG_TRACKER_ANNOUNCE @"announce"
#define TR_ARG_TRACKER_ANNOUNCESTATE @"announceState"
#define TR_ARG_TRACKER_DOWNLOADCOUNT @"downloadCount"
#define TR_ARG_TRACKER_HASANNOUNCED @"hasAnnounced"
#define TR_ARG_TRACKER_HASSCRAPED @"hasScraped"
#define TR_ARG_TRACKER_HOST @"host"
#define TR_ARG_TRACKER_LASTANNOUNCEPEERCOUNT @"lastAnnouncePeerCount"
#define TR_ARG_TRACKER_LASTANNOUNCERESULT @"lastAnnounceResult"
#define TR_ARG_TRACKER_LASTANNOUNCESTARTTIME @"lastAnnounceStartTime"
#define TR_ARG_TRACKER_LASTANNOUNCESUCCEEDED @"lastAnnounceSucceeded"
#define TR_ARG_TRACKER_LASTANNOUNCETIME @"lastAnnounceTime"
#define TR_ARG_TRACKER_LASTANNOUNCETIMEOUT @"lastAnnounceTimedOut"
#define TR_ARG_TRACKER_LASTSCRAPERESULT @"lastScrapeResult"
#define TR_ARG_TRACKER_LASTSCRAPESTARTTIME @"lastScrapeStartTime"
#define TR_ARG_TRACKER_LASTSCRAPESUCCEEDED @"lastScrapeSucceeded"
#define TR_ARG_TRACKER_LASTSCRAPETIME @"lastScrapeTime"
#define TR_ARG_TRACKER_LASTSCRAPETIMEOUT @"lastScrapeTimedOut"
#define TR_ARG_TRACKER_LEECHERCOUNT @"leecherCount"
#define TR_ARG_TRACKER_NEXTANNOUNCETIME @"nextAnnounceTime"
#define TR_ARG_TRACKER_NEXTSCRAPETIME @"nextScrapeTime"
#define TR_ARG_TRACKER_SCRAPE @"scrape"
#define TR_ARG_TRACKER_SCRAPESTATE @"scrapeState"
#define TR_ARG_TRACKER_SEEDERCOUNT @"seederCount"
#define TR_ARG_TRACKER_TIER @"tier"
#define TR_ARG_TRACKER_ID @"id"
// session params
#define TR_ARG_SESSION_ALTLIMIDOWNRATE @"alt-speed-down" // number | max global download speed (KBps)
#define TR_ARG_SESSION_ALTLIMITRATEENABLED @"alt-speed-enabled" // boolean | true means use the alt speeds
#define TR_ARG_SESSION_ALTLIMITTIMEBEGIN @"alt-speed-time-begin" // number | when to turn on alt speeds (units: minutes after midnight)
#define TR_ARG_SESSION_ALTLIMITTIMEENABLED @"alt-speed-time-enabled" // boolean | true means the scheduled on/off times are used
#define TR_ARG_SESSION_ALTLIMITTIMEEND @"alt-speed-time-end" // number | when to turn off alt speeds (units: same)
#define TR_ARG_SESSION_ALTLIMITTIMEDAY @"alt-speed-time-day" // number | what day(s) to turn on alt speeds (look at tr_sched_day)
#define TR_ARG_SESSION_ALTLIMITUPRATE @"alt-speed-up" // number | max global upload speed (KBps)
#define TR_ARG_SESSION_DOWNLOADDIR @"download-dir" // string | default path to download torrents
#define TR_ARG_SESSION_DHTENABLED @"dht-enabled" // boolean | true means allow dht in public torrents
#define TR_ARG_SESSION_ENRYPTION @"encryption" // string | "required", "preferred", "tolerated"
#define TR_ARG_SESSION_IDLESEEDLIMIT @"idle-seeding-limit" // number | torrents we're seeding will be stopped if they're idle for this long
#define TR_ARG_SESSION_IDLELIMITENABLED @"idle-seeding-limit-enabled" // boolean | true if the seeding inactivity limit is honored by default
#define TR_ARG_SESSION_LPDENABLED @"lpd-enabled" // boolean | true means allow Local Peer Discovery in public torrents
#define TR_ARG_SESSION_PEERLIMITTOTAL @"peer-limit-global" // number | maximum global number of peers
#define TR_ARG_SESSION_PEERLIMITPERTORRENT @"peer-limit-per-torrent" // number | maximum global number of peers
#define TR_ARG_SESSION_PEXENABLED @"pex-enabled" // boolean | true means allow pex in public torrents
#define TR_ARG_SESSION_PORT @"peer-port" // number | port number
#define TR_ARG_SESSION_PORTRANDOMONSTART @"peer-port-random-on-start" // boolean | true means pick a random peer port on launch
#define TR_ARG_SESSION_PORTFORWARDENABLED @"port-forwarding-enabled" // boolean | true means enabled
#define TR_ARG_SESSION_RENAMEPARTIAL @"rename-partial-files" // boolean | true means append ".part" to incomplete files
#define TR_ARG_SESSION_RPCVER @"rpc-version" // number | the current RPC API version
#define TR_ARG_SESSION_RPCVERMIN @"rpc-version-minimum" // number | the minimum RPC API version supported
#define TR_ARG_SESSION_SEEDRATIOLIMIT @"seedRatioLimit" // double | the default seed ratio for torrents to use
#define TR_ARG_SESSION_SEEDRATIOLIMITENABLED @"seedRatioLimited" // boolean | true if seedRatioLimit is honored by default
#define TR_ARG_SESSION_LIMITDOWNRATE @"speed-limit-down" // number | max global download speed (KBps)
#define TR_ARG_SESSION_LIMITDOWNRATEENABLED @"speed-limit-down-enabled" // boolean | true means enabled
#define TR_ARG_SESSION_LIMITUPRATE @"speed-limit-up" // number | max global upload speed (KBps)
#define TR_ARG_SESSION_LIMITUPRATEENABLED @"speed-limit-up-enabled" // boolean | true means enabled
#define TR_ARG_SESSION_STARTONADD @"start-added-torrents" // boolean | true means added torrents will be started right away
#define TR_ARG_SESSION_TRASHFILES @"trash-original-torrent-files" // boolean | true means the .torrent file of added torrents will be deleted
#define TR_ARG_SESSION_UTPENABLED @"utp-enabled" // boolean | true means allow utp
#define TR_ARG_SESSION_VERSION @"version" // string | long v
#endif