view sources/engine.cpp @ 2:19227b0b7cc1

.h => .hpp for the headers added year 2008 to copyright notes renamed some functions for better meaning prepared parser module for rewriting added showHelp() function some code clean up
author Vlad Glagolev <enqlave@gmail.com>
date Mon, 21 Jan 2008 01:14:10 +0300
parents bafff9de2a76
children a7051ac7118b
line wrap: on
line source

/**
 * engine.cpp (2007-03-05)
 *
 * -- CABAL -- engine (useful functions)
 *
 * Copyright (c) 2007-2008 Vlad Glagolev <enqlave@gmail.com>
 * All rights reserved.
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#include "engine.hpp"

bool daemonize()
{
	if (daemon (1, 1) != 0) {
		cout << "Error: unable to daemonize into background\n";
		exit (1);
	} else {
		cout << "ENGINE: successfully daemonized into background\n";
		return daemon (1, 1) == 0;
	}
}

time_t gettime()
{
	time_t t;
	return time (&t);
}

char *eTime(time_t t)
{
	char *nt = asctime(localtime(&t));

	nt[strlen(nt) - 1] = 0;

	return nt;
}

string getCountry(string c)
{
	if (c == "")
		return "Enter the correct code of country";

	struct countries {
		string code;
		string country;
	} countries[] = {
		{"AC", "Ascension Island"},
		{"AD", "Andorra"},
		{"AE", "United Arab Emirates"},
		{"AF", "Afghanistan"},
		{"AG", "Antigua and Barbuda"},
		{"AI", "Anguilla"},
		{"AL", "Albania"},
		{"AM", "Armenia"},
		{"AN", "Netherlands Antilles"},
		{"AO", "Angola"},
		{"AQ", "Antarctica"},
		{"AR", "Argentina"},
		{"AS", "American Samoa"},
		{"AT", "Austria"},
		{"AU", "Australia"},
		{"AW", "Aruba"},
		{"AX", "Aland Islands"},
		{"AZ", "Azerbaijan"},
		{"BA", "Bosnia and Herzegovina"},
		{"BB", "Barbados"},
		{"BD", "Bangladesh"},
		{"BE", "Belgium"},
		{"BF", "Burkina Faso"},
		{"BG", "Bulgaria"},
		{"BH", "Bahrain"},
		{"BI", "Burundi"},
		{"BJ", "Benin"},
		{"BM", "Bermuda"},
		{"BN", "Brunei Darussalam"},
		{"BO", "Bolivia"},
		{"BR", "Brazil"},
		{"BS", "Bahamas"},
		{"BT", "Bhutan"},
		{"BU", "Burma"},
		{"BV", "Bouvet Island"},
		{"BW", "Botswana"},
		{"BY", "Belarus"},
		{"BZ", "Belize"},
		{"CA", "Canada"},
		{"CC", "Cocos (Keeling) Islands"},
		{"CD", "The Democratic Republic of the Congo"},
		{"CF", "Central African Republic"},
		{"CG", "Congo"},
		{"CH", "Switzerland"},
		{"CI", "Cote d'Ivoire (Ivory Coast)"},
		{"CK", "Cook Islands"},
		{"CL", "Chile"},
		{"CM", "Cameroon"},
		{"CN", "China"},
		{"CO", "Colombia"},
		{"CR", "Costa Rica"},
		{"CS", "Serbia and Montenegro"},
		{"CU", "Cuba"},
		{"CV", "Cape Verde"},
		{"CX", "Christmas Island"},
		{"CY", "Cyprus"},
		{"CZ", "Czech Republic"},
		{"DE", "Germany"},
		{"DJ", "Djibouti"},
		{"DK", "Denmark"},
		{"DM", "Dominica"},
		{"DO", "Dominican Republic"},
		{"DZ", "Algeria"},
		{"EC", "Ecuador"},
		{"EE", "Estonia"},
		{"EG", "Egypt"},
		{"EH", "Western Sahara"},
		{"ER", "Eritrea"},
		{"ES", "Spain (inc. Canary Islands, Ceuta and Melilla)"},
		{"ET", "Ethiopia"},
		{"EU", "European Union"},
		{"FI", "Finland"},
		{"FJ", "Fiji"},
		{"FK", "Falkland Islands (Malvinas)"},
		{"FM", "Federated States of Micronesia"},
		{"FO", "Faroe Islands"},
		{"FR", "France"},
		{"GA", "Gabon"},
		{"GD", "Grenada"},
		{"GE", "Georgia"},
		{"GF", "French Guiana"},
		{"GG", "Guernsey"},
		{"GH", "Ghana"},
		{"GI", "Gibraltar"},
		{"GL", "Greenland"},
		{"GM", "Gambia"},
		{"GN", "Guinea"},
		{"GP", "Guadeloupe"},
		{"GQ", "Equatorial Guinea"},
		{"GR", "Greece"},
		{"GS", "South Georgia and the South Sandwich Islands"},
		{"GT", "Guatemala"},
		{"GU", "Guam"},
		{"GW", "Guinea-Bissau"},
		{"GY", "Guyana"},
		{"HK", "Hong Kong"},
		{"HM", "Heard Island and McDonald Islands"},
		{"HN", "Honduras"},
		{"HR", "Croatia"},
		{"HT", "Haiti"},
		{"HU", "Hungary"},
		{"ID", "Indonesia"},
		{"IE", "Ireland"},
		{"IL", "Israel"},
		{"IM", "Isle of Man"},
		{"IN", "India"},
		{"IO", "British Indian Ocean Territory (inc. Diego Garcia)"},
		{"IQ", "Iraq"},
		{"IR", "Islamic Republic of Iran"},
		{"IS", "Iceland"},
		{"IT", "Italy"},
		{"JE", "Jersey"},
		{"JM", "Jamaica"},
		{"JO", "Jordan"},
		{"JP", "Japan"},
		{"KE", "Kenya"},
		{"KG", "Kyrgyzstan"},
		{"KH", "Cambodia"},
		{"KI", "Kiribati"},
		{"KM", "Comoros"},
		{"KN", "Saint Kitts and Nevis"},
		{"KP", "Democratic People's Republic of Korea (North Korea)"},
		{"KR", "Republic of Korea (South Korea)"},
		{"KW", "Kuwait"},
		{"KY", "Cayman Islands"},
		{"KZ", "Kazakhstan"},
		{"LA", "Lao People's Democratic Republic"},
		{"LB", "Lebanon"},
		{"LC", "Saint Lucia"},
		{"LI", "Liechtenstein"},
		{"LK", "Sri Lanka"},
		{"LR", "Liberia"},
		{"LS", "Lesotho"},
		{"LT", "Lithuania"},
		{"LU", "Luxembourg"},
		{"LV", "Latvia"},
		{"LY", "Libyan Arab Jamahiriya"},
		{"MA", "Morocco"},
		{"MC", "Monaco"},
		{"MD", "Republic of Moldova"},
		{"MG", "Madagascar"},
		{"MH", "Marshall Islands"},
		{"MK", "Macedonia"},
		{"ML", "Mali"},
		{"MM", "Myanmar"},
		{"MN", "Mongolia"},
		{"MO", "Macao"},
		{"MP", "Northern Mariana Islands"},
		{"MQ", "Martinique"},
		{"MR", "Mauritania"},
		{"MS", "Montserrat"},
		{"MT", "Malta"},
		{"MU", "Mauritius"},
		{"MV", "Maldives"},
		{"MW", "Malawi"},
		{"MX", "Mexico"},
		{"MY", "Malaysia"},
		{"MZ", "Mozambique"},
		{"NA", "Namibia"},
		{"NC", "New Caledonia"},
		{"NE", "Niger"},
		{"NF", "Norfolk Island"},
		{"NG", "Nigeria"},
		{"NI", "Nicaragua"},
		{"NL", "Netherlands"},
		{"NO", "Norway"},
		{"NP", "Nepal"},
		{"NR", "Nauru"},
		{"NU", "Niue"},
		{"NZ", "New Zealand"},
		{"OM", "Oman"},
		{"PA", "Panama"},
		{"PE", "Peru"},
		{"PF", "French Polynesia (inc. Clipperton Island)"},
		{"PG", "Papua New Guinea"},
		{"PH", "Philippines"},
		{"PK", "Pakistan"},
		{"PL", "Poland"},
		{"PM", "Saint Pierre and Miquelon"},
		{"PN", "Pitcairn"},
		{"PR", "Puerto Rico"},
		{"PS", "Palestinian Territory, Occupied"},
		{"PT", "Portugal"},
		{"PW", "Palau"},
		{"PY", "Paraguay"},
		{"QA", "Qatar"},
		{"RE", "Reunion"},
		{"RO", "Romania"},
		{"RU", "Russian Federation"},
		{"RW", "Rwanda"},
		{"SA", "Saudi Arabia"},
		{"SB", "Solomon Islands"},
		{"SC", "Seychelles"},
		{"SD", "Sudan"},
		{"SE", "Sweden"},
		{"SG", "Singapore"},
		{"SH", "Saint Helena (inc. Ascension Island and Tristan da Cunha)"},
		{"SI", "Slovenia"},
		{"SJ", "Svalbard and Jan Mayen consisting of Svalbard and Jan Mayen"},
		{"SK", "Slovakia"},
		{"SL", "Sierra Leone"},
		{"SM", "San Marino"},
		{"SN", "Senegal"},
		{"SO", "Somalia"},
		{"SR", "Suriname"},
		{"ST", "Sao Tome and Principe"},
		{"SU", "Soviet Union"},
		{"SV", "El Salvador"},
		{"SY", "Syrian Arab Republic"},
		{"SZ", "Swaziland"},
		{"TC", "Turks and Caicos Islands"},
		{"TD", "Chad"},
		{"TF", "French Southern Territories"},
		{"TG", "Togo"},
		{"TH", "Thailand"},
		{"TJ", "Tajikistan"},
		{"TK", "Tokelau"},
		{"TL", "Timor-Leste (East Timor)"},
		{"TM", "Turkmenistan"},
		{"TN", "Tunisia"},
		{"TO", "Tonga"},
		{"TR", "Turkey"},
		{"TT", "Trinidad and Tobago"},
		{"TV", "Tuvalu"},
		{"TW", "Taiwan, Province of China"},
		{"TZ", "United Republic of Tanzania"},
		{"UA", "Ukraine"},
		{"UG", "Uganda"},
		{"UK", "United Kingdom"},
		{"UM", "United States Minor Outlying Islands"},
		{"US", "United States"},
		{"UY", "Uruguay"},
		{"UZ", "Uzbekistan"},
		{"VA", "Holy See (Vatican City State)"},
		{"VC", "Saint Vincent and the Grenadines"},
		{"VE", "Venezuela"},
		{"VG", "Virgin Islands, British"},
		{"VI", "Virgin Islands, U.S."},
		{"VN", "Viet Nam"},
		{"VU", "Vanuatu"},
		{"WF", "Wallis and Futuna"},
		{"WS", "Samoa"},
		{"YE", "Yemen"},
		{"YT", "Mayotte"},
		{"ZA", "South Africa"},
		{"ZM", "Zambia"},
		{"ZW", "Zimbabwe"},
	};

	for (int e = 0; countries[e].code != ""; e++)
		if (countries[e].code == c)
			return countries[e].country;

	return "Incorrect country code, try again";
}