1 /*
2  * This file is part of Arduino.
3  *
4  * Copyright 2015 Arduino LLC (http://www.arduino.cc/)
5  *
6  * Arduino is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  * As a special exception, you may use this file as part of a free software
21  * library without restriction.  Specifically, if other files instantiate
22  * templates or use macros or inline functions from this file, or you compile
23  * this file and link it with other files to produce an executable, this
24  * file does not by itself cause the resulting executable to be covered by
25  * the GNU General Public License.  This exception does not however
26  * invalidate any other reasons why the executable file might be covered by
27  * the GNU General Public License.
28  */
29 
30 package cc.arduino;
31 
32 import java.util.Arrays;
33 import java.util.List;
34 
35 public class Constants {
36 
37   public static final String PREF_REMOVE_PLACEHOLDER = "___REMOVE___";
38   public static final String PREF_BOARDS_MANAGER_ADDITIONAL_URLS = "boardsmanager.additional.urls";
39   public static final String PREF_CONTRIBUTIONS_TRUST_ALL = "contributions.trust.all";
40 
41   public static final String DEFAULT_INDEX_FILE_NAME = "package_index.json";
42   public static final String BUNDLED_INDEX_FILE_NAME = "package_index_bundled.json";
43   public static final List<String> PROTECTED_PACKAGE_NAMES = Arrays.asList("arduino", "Intel");
44 
45   public static final String LIBRARY_DEVELOPMENT_FLAG_FILE = ".development";
46 
47   public static final long BOARDS_LIBS_UPDATABLE_CHECK_START_PERIOD = 60000;
48   public static final long NOTIFICATION_POPUP_AUTOCLOSE_DELAY = 10000;
49 
50   public static final String PROXY_TYPE_NONE = "none";
51   public static final String PROXY_TYPE_AUTO = "auto";
52   public static final String PROXY_TYPE_MANUAL = "manual";
53   public static final String PROXY_MANUAL_TYPE_HTTP = "HTTP";
54   public static final String PROXY_MANUAL_TYPE_SOCKS = "SOCKS";
55   public static final String PREF_PROXY_MANUAL_TYPE = "proxy.manual.type";
56   public static final String PREF_PROXY_TYPE = "proxy.type";
57   public static final String PREF_PROXY_PAC_URL = "proxy.pac.url";
58   public static final String PREF_PROXY_MANUAL_HOSTNAME = "proxy.manual.hostname";
59   public static final String PREF_PROXY_MANUAL_PORT = "proxy.manual.port";
60   public static final String PREF_PROXY_MANUAL_USERNAME = "proxy.manual.username";
61   public static final String PREF_PROXY_MANUAL_PASSWORD = "proxy.manual.password";
62   public static final String PREF_PROXY_AUTO_USERNAME = "proxy.manual.username";
63   public static final String PREF_PROXY_AUTO_PASSWORD = "proxy.manual.password";
64 
65   public static final String PACKAGE_INDEX_URL;
66   public static final String LIBRARY_INDEX_URL;
67   public static final String LIBRARY_INDEX_URL_GZ;
68 
69   public static final List<String> LIBRARY_CATEGORIES = Arrays.asList("Display", "Communication", "Signal Input/Output", "Sensors", "Device Control", "Timing", "Data Storage", "Data Processing", "Other", "Uncategorized");
70   public static final List<String> LIBRARY_MANDATORY_PROPERTIES = Arrays.asList("name", "version", "author", "maintainer", "sentence", "paragraph", "url");
71 
72   static {
73     String extenalPackageIndexUrl = System.getProperty("PACKAGE_INDEX_URL");
74     if (extenalPackageIndexUrl != null && !"".equals(extenalPackageIndexUrl)) {
75       PACKAGE_INDEX_URL = extenalPackageIndexUrl;
76     } else {
77       PACKAGE_INDEX_URL = "http://downloads.arduino.cc/packages/package_index.json";
78     }
79 
80     String externalLibraryIndexUrl = System.getProperty("LIBRARY_INDEX_URL");
81     if (externalLibraryIndexUrl != null && !"".equals(externalLibraryIndexUrl)) {
82       LIBRARY_INDEX_URL = externalLibraryIndexUrl;
83     } else {
84       LIBRARY_INDEX_URL = "http://downloads.arduino.cc/libraries/library_index.json";
85     }
86     LIBRARY_INDEX_URL_GZ = "http://downloads.arduino.cc/libraries/library_index.json.gz";
87   }
88 
89 }
90