summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'request/settings.h')
-rw-r--r--request/settings.h130
1 files changed, 130 insertions, 0 deletions
diff --git a/request/settings.h b/request/settings.h
new file mode 100644
index 0000000..097969a
--- /dev/null
+++ b/request/settings.h
@@ -0,0 +1,130 @@
+/*
+* Copyright (C) 2010 Robin H.Johnson, Ovechko Kostyantyn <fastinetserver@gmail.com>.
+*
+* Project: IDFetch.
+* Developer: Ovechko Kostyantyn Olexandrovich (Kharkiv State Technical University of Construction and Architecture, Ukraine).
+* Mentor: Robin H. Johnson (Gentoo Linux: Developer, Trustee & Infrastructure Lead).
+* Mentoring organization: Gentoo Linux.
+* Sponsored by GSOC 2010.
+*
+* This file is part of Segget.
+*
+* Segget is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation; either
+* version 2.1 of the License, or (at your option) any later version.
+*
+* Segget is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with Segget; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+#ifndef __SETTINGS_H__
+#define __SETTINGS_H__
+
+#include <string>
+#include "config.h"
+//#include "tui.cpp"
+#define MAX_CONNECTS 20 /* number of simultaneous transfers */
+
+using namespace std;
+
+class Tsettings{
+ public:
+ string conf_dir;
+ bool no_daemon_flag;
+ //folders
+ string distfiles_dir;
+ string segments_dir;
+ //pkg_list
+ string pkg_list_dir;
+ bool del_pkg_list_when_dld_finished;
+ //distfiles
+ ulong max_connection_num_per_distfile;
+ //segments
+ ulong max_segment_size;
+ bool resume_on;
+ ulong max_tries;
+ //connections
+ ulong max_connections;
+ ulong connection_timeout;
+ ulong ftp_response_timeout;
+ ulong time_out;
+ ulong low_connection_speed_limit;
+ ulong low_connection_speed_time;
+ ulong max_connection_speed;
+ ulong current_speed_time_interval_msecs;
+ string bind_interface;
+ //mirrors
+ ulong max_connections_num_per_mirror;
+ ulong benchmark_oblivion;
+ //provide_mirror_to_others
+ string provide_mirror_dir;
+ bool provide_mirror_files_restrict_list_on;
+ //provide_proxy_fether_to_others
+ string provide_proxy_fetcher_ip;
+ ulong provide_proxy_fetcher_port;
+ //ui_server
+ string request_ip;
+ ulong request_port;
+ //logs
+ string logs_dir;
+ string general_log_file;
+ string error_log_file;
+ string debug_log_file;
+
+ Tsettings():
+ conf_dir("/etc/seggetd"),
+ no_daemon_flag(false),
+ //folders
+ distfiles_dir("./distfiles"),
+ segments_dir("./tmp"),
+ //pkg_list
+ pkg_list_dir("./"),
+ del_pkg_list_when_dld_finished(1),
+ //distfiles
+ max_connection_num_per_distfile(3),
+ //segments
+ max_segment_size(500000),
+ resume_on(1),
+ max_tries(10),
+ //connections
+ max_connections(6),
+ connection_timeout(15),
+ ftp_response_timeout(180),
+ time_out(500),
+ low_connection_speed_limit(1000),
+ low_connection_speed_time(10),
+ max_connection_speed(0),
+ current_speed_time_interval_msecs(1000),
+ bind_interface("none"),
+ //mirrors
+ max_connections_num_per_mirror(1),
+ benchmark_oblivion(5),
+ //provide_mirror_to_others
+ provide_mirror_dir("none"),
+ provide_mirror_files_restrict_list_on(0),
+ //provide_proxy_fether_to_others
+ provide_proxy_fetcher_ip("127.0.0.1"),
+ provide_proxy_fetcher_port(9888),
+ //ui_server
+ request_ip("127.0.0.1"),
+ request_port(10000),
+ //logs
+ logs_dir("./logs"),
+ general_log_file("segget.log"),
+ error_log_file("error.log"),
+ debug_log_file("debug.log")
+ {};
+ void set_resume(bool resume_setting){resume_on=resume_setting;};
+ bool get_resume(){return resume_on;};
+ void init();
+};
+
+extern Tsettings settings;
+#endif \ No newline at end of file