Mercurial > cabal
diff sources/engine.cpp @ 0:bafff9de2a76
Initial commit since summer'07
| author | Vlad Glagolev <enqlave@gmail.com> |
|---|---|
| date | Sun, 20 Jan 2008 19:25:25 +0300 |
| parents | |
| children | 19227b0b7cc1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sources/engine.cpp Sun Jan 20 19:25:25 2008 +0300 @@ -0,0 +1,316 @@ +/** + * engine.cpp (2007-03-05) + * + * -- CABAL -- engine (useful functions) + * + * Copyright (c) 2007 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.h" + +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; +} + +char *eCountry (char *c) +{ + if (!*c) + return "Enter the correct code of country"; + else + sscanf (c, "%s", c); + + struct countries { + char *code; + char *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 (including 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 (including 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 (including 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 (including 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", + 0 + }; + + for (int e = 0; countries[e].code; e++) + if (!strcasecmp (countries[e].code, c)) + return countries[e].country; + + return "Incorrect country code, try again"; +}
