source: filezilla/trunk/fuentes/src/include/optionsbase.h @ 130

Last change on this file since 130 was 130, checked in by jrpelegrina, 3 years ago

First release to xenial

File size: 2.3 KB
Line 
1#ifndef __OPTIONSBASE_H__
2#define __OPTIONSBASE_H__
3
4// The engine of FileZilla 3 can be configured using a few settings.
5// In order to read and set the settings, the engine has to be passed
6// a pointer to a COptionsBase object.
7// Since COptionsBase is virtual, the user of the engine has to create a
8// derived class which handles settings-reading and writing.
9
10enum engineOptions
11{
12        OPTION_USEPASV,                 // Use passive mode unless overridden by
13                                                        // server settings
14        OPTION_LIMITPORTS,
15        OPTION_LIMITPORTS_LOW,
16        OPTION_LIMITPORTS_HIGH,
17        OPTION_LIMITPORTS_OFFSET,
18        OPTION_EXTERNALIPMODE,          /* External IP Address mode for use in active mode
19                                                                   Values: 0: ask operating system
20                                                                                   1: use provided IP
21                                                                                   2: use provided resolver
22                                                                */
23        OPTION_EXTERNALIP,
24        OPTION_EXTERNALIPRESOLVER,
25        OPTION_LASTRESOLVEDIP,
26        OPTION_NOEXTERNALONLOCAL,       // Don't use external IP address if connection is
27                                                                // coming from a local unroutable address
28        OPTION_PASVREPLYFALLBACKMODE,
29        OPTION_TIMEOUT,
30        OPTION_LOGGING_DEBUGLEVEL,
31        OPTION_LOGGING_RAWLISTING,
32
33        OPTION_FZSFTP_EXECUTABLE,       // full path to fzsftp executable
34
35        OPTION_ALLOW_TRANSFERMODEFALLBACK, // If PORT fails, allow PASV and vice versa
36
37        OPTION_RECONNECTCOUNT,
38        OPTION_RECONNECTDELAY,
39
40        OPTION_SPEEDLIMIT_ENABLE,
41        OPTION_SPEEDLIMIT_INBOUND,
42        OPTION_SPEEDLIMIT_OUTBOUND,
43        OPTION_SPEEDLIMIT_BURSTTOLERANCE,
44
45        OPTION_PREALLOCATE_SPACE,
46
47        OPTION_VIEW_HIDDEN_FILES,
48
49        OPTION_PRESERVE_TIMESTAMPS,
50
51        OPTION_SOCKET_BUFFERSIZE_RECV,
52        OPTION_SOCKET_BUFFERSIZE_SEND,
53
54        OPTION_FTP_SENDKEEPALIVE,
55
56        OPTION_FTP_PROXY_TYPE,
57        OPTION_FTP_PROXY_HOST,
58        OPTION_FTP_PROXY_USER,
59        OPTION_FTP_PROXY_PASS,
60        OPTION_FTP_PROXY_CUSTOMLOGINSEQUENCE,
61
62        OPTION_SFTP_KEYFILES,
63        OPTION_SFTP_COMPRESSION,
64
65        OPTION_PROXY_TYPE,
66        OPTION_PROXY_HOST,
67        OPTION_PROXY_PORT,
68        OPTION_PROXY_USER,
69        OPTION_PROXY_PASS,
70
71        OPTION_LOGGING_FILE,
72        OPTION_LOGGING_FILE_SIZELIMIT,
73        OPTION_LOGGING_SHOW_DETAILED_LOGS,
74
75        OPTION_SIZE_FORMAT,
76        OPTION_SIZE_USETHOUSANDSEP,
77        OPTION_SIZE_DECIMALPLACES,
78
79        OPTIONS_ENGINE_NUM
80};
81
82class COptionsBase
83{
84public:
85        inline virtual ~COptionsBase() {};
86        virtual int GetOptionVal(unsigned int nID) = 0;
87        virtual wxString GetOption(unsigned int nID) = 0;
88
89        virtual bool SetOption(unsigned int nID, int value) = 0;
90        virtual bool SetOption(unsigned int nID, wxString const& value) = 0;
91};
92
93#endif
Note: See TracBrowser for help on using the repository browser.