aboutsummaryrefslogtreecommitdiffstats
path: root/MetisForwarder/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'MetisForwarder/app/src/main')
-rw-r--r--MetisForwarder/app/src/main/AndroidManifest.xml32
-rw-r--r--MetisForwarder/app/src/main/c/metisForwarderWrap.c70
-rw-r--r--MetisForwarder/app/src/main/java/com/metis/ccnx/metisforwarder/MetisForwarderActivity.java233
-rw-r--r--MetisForwarder/app/src/main/java/com/metis/ccnx/service/MetisForwarderService.java145
-rw-r--r--MetisForwarder/app/src/main/java/com/metis/ccnx/supportlibrary/MetisForwarder.java42
-rw-r--r--MetisForwarder/app/src/main/java/com/metis/ccnx/utility/Constants.java34
-rw-r--r--MetisForwarder/app/src/main/java/com/metis/ccnx/utility/ResourcesEnumerator.java35
-rw-r--r--MetisForwarder/app/src/main/res/drawable/border.xml21
-rw-r--r--MetisForwarder/app/src/main/res/layout/activity_metis_forwarder.xml239
-rw-r--r--MetisForwarder/app/src/main/res/layout/spinner_layout.xml8
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher.pngbin3418 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher_round.pngbin4208 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher.pngbin2206 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher_round.pngbin2555 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher.pngbin4842 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher_round.pngbin6114 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher.pngbin7718 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.pngbin10056 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher.pngbin10486 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.pngbin14696 -> 0 bytes
-rw-r--r--MetisForwarder/app/src/main/res/values/colors.xml6
-rw-r--r--MetisForwarder/app/src/main/res/values/strings.xml3
-rw-r--r--MetisForwarder/app/src/main/res/values/styles.xml11
23 files changed, 0 insertions, 879 deletions
diff --git a/MetisForwarder/app/src/main/AndroidManifest.xml b/MetisForwarder/app/src/main/AndroidManifest.xml
deleted file mode 100644
index f50951dd..00000000
--- a/MetisForwarder/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="metisforwarder.metis.com.metisforwarder">
-
- <application
- android:allowBackup="true"
- android:configChanges="orientation|screenSize|keyboard"
- android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_launcher_round"
- android:supportsRtl="true"
- android:theme="@style/AppTheme">
- <activity android:name="com.metis.ccnx.metisforwarder.MetisForwarderActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
-
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <service
- android:name="com.metis.ccnx.service.MetisForwarderService"
- android:permission="android.permission.BIND_VPN_SERVICE">
- </service>
- </application>
-
- <uses-permission android:name="android.permission.INTERNET" />
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <uses-permission
- android:name="android.permission.READ_EXTERNAL_STORAGE"
- android:maxSdkVersion="21" />
-
-</manifest>
diff --git a/MetisForwarder/app/src/main/c/metisForwarderWrap.c b/MetisForwarder/app/src/main/c/metisForwarderWrap.c
deleted file mode 100644
index d0603d5c..00000000
--- a/MetisForwarder/app/src/main/c/metisForwarderWrap.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <jni.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <android/log.h>
-#include <stdbool.h>
-#include <ccnx/forwarder/metis/core/metis_Forwarder.h>
-
-
-static bool _isRunning = false;
-MetisForwarder *metis = NULL;
-
-JNIEXPORT void JNICALL
-Java_com_metis_ccnx_supportlibrary_MetisForwarder_start(JNIEnv *env, jobject instance,
- jstring path_) {
-
- if (!_isRunning) {
- metis = metisForwarder_Create(NULL);
-
- MetisConfiguration *configuration = metisForwarder_GetConfiguration(metis);
- metisConfiguration_SetObjectStoreSize(configuration, 0);
- metisConfiguration_StartCLI(configuration, 2001);
- if (path_) {
- const char *configFileName = (*env)->GetStringUTFChars(env, path_, 0);
- metisForwarder_SetupFromConfigFile(metis, configFileName);
- } else {
- metisForwarder_SetupAllListeners(metis, PORT_NUMBER, NULL);
- }
- MetisDispatcher *dispatcher = metisForwarder_GetDispatcher(metis);
- _isRunning = true;
- metisDispatcher_Run(dispatcher);
- }
-
-
-}
-
-JNIEXPORT void JNICALL
-Java_com_metis_ccnx_supportlibrary_MetisForwarder_stop(JNIEnv *env, jobject instance) {
-
- if (_isRunning) {
- __android_log_print(ANDROID_LOG_DEBUG, "MetisForwarderWrap", "stopping Metis...");
- metisDispatcher_Stop(metisForwarder_GetDispatcher(metis));
-
- sleep(2);
- metisForwarder_Destroy(&metis);
- _isRunning = false;
- }
-
-}
-
-JNIEXPORT jboolean JNICALL
-Java_com_metis_ccnx_supportlibrary_MetisForwarder_isRunning(JNIEnv *env, jobject instance) {
-
- return _isRunning;
-
-}
diff --git a/MetisForwarder/app/src/main/java/com/metis/ccnx/metisforwarder/MetisForwarderActivity.java b/MetisForwarder/app/src/main/java/com/metis/ccnx/metisforwarder/MetisForwarderActivity.java
deleted file mode 100644
index 82e833bc..00000000
--- a/MetisForwarder/app/src/main/java/com/metis/ccnx/metisforwarder/MetisForwarderActivity.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.metis.ccnx.metisforwarder;
-
-import android.Manifest;
-import android.annotation.SuppressLint;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import android.content.res.Configuration;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
-import android.support.v7.app.AppCompatActivity;
-import android.os.Bundle;
-import android.view.View;
-import android.widget.AdapterView;
-import android.widget.EditText;
-import android.widget.TextView;
-import android.util.Log;
-import android.widget.Switch;
-import android.widget.CompoundButton;
-import android.widget.Spinner;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-
-import java.net.Inet4Address;
-import java.net.Inet6Address;
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-
-import metisforwarder.metis.com.metisforwarder.R;
-
-import com.metis.ccnx.service.MetisForwarderService;
-import com.metis.ccnx.supportlibrary.MetisForwarder;
-import com.metis.ccnx.utility.Constants;
-import com.metis.ccnx.utility.ResourcesEnumerator;
-
-
-public class MetisForwarderActivity extends AppCompatActivity {
- private Spinner sourceIpSpinner;
- private EditText sourcePortEditText;
- private EditText nextHopIpEditText;
- private EditText nextHopPortEditText;
- private EditText configurationEditText;
- private EditText prefixEditText;
- private Switch metisForwarderSwitch;
- private Button sourceIpRefreshButton;
- private List<String> sourceIpArrayList = new ArrayList<String>();
- private List<String> sourceNetworkInterfaceArrayList = new ArrayList<>();
- private HashMap<String, String> addressesMap = new HashMap<String, String>();
- private SharedPreferences sharedPreferences;
- private View _selectedItemView;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_metis_forwarder);
- checkEnabledPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
- checkEnabledPermission(Manifest.permission.READ_EXTERNAL_STORAGE);
- init();
- }
-
- public HashMap<String, String> getLocalIpAddress() {
- HashMap<String, String> addressesMap = new HashMap<String, String>();
- try {
- for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
- NetworkInterface intf = en.nextElement();
- for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
- InetAddress inetAddress = enumIpAddr.nextElement();
- if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
- String[] addressSplitted = inetAddress.getHostAddress().toString().split("%");
- //addressesMap.put(addressSplitted[1], addressSplitted[0]);
- addressesMap.put(intf.getName(), addressSplitted[0]);
- }
- }
- }
- } catch (SocketException ex) {
- String LOG_TAG = null;
- Log.e(LOG_TAG, ex.toString());
- }
- return addressesMap;
- }
-
- private void checkEnabledPermission(String permission) {
- if (ContextCompat.checkSelfPermission(this,
- permission)
- != PackageManager.PERMISSION_GRANTED) {
- if (ActivityCompat.shouldShowRequestPermissionRationale(this,
- permission)) {
- } else {
- ActivityCompat.requestPermissions(this,
- new String[]{permission},
- 1);
- }
- }
- }
-
- private void init() {
- sourceIpSpinner = (Spinner) findViewById(R.id.sourceIpSpinner);
- sharedPreferences = getSharedPreferences(Constants.METIS_FORWARDER_PREFERENCES, MODE_PRIVATE);
- addressesMap = getLocalIpAddress();
- for (String networkInterface : addressesMap.keySet()) {
- sourceIpArrayList.add(networkInterface + ": " + addressesMap.get(networkInterface));
- sourceNetworkInterfaceArrayList.add(networkInterface);
- }
- if (addressesMap.size() > 0) {
- ArrayAdapter<String> sourceIpSpinnerArrayAdapter = new ArrayAdapter<String>(this,
- android.R.layout.simple_spinner_item, sourceIpArrayList);
- sourceIpSpinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- sourceIpSpinnerArrayAdapter.setDropDownViewResource(R.layout.spinner_layout);
- sourceIpSpinner.setAdapter(sourceIpSpinnerArrayAdapter);
- if (sourceNetworkInterfaceArrayList.indexOf(sharedPreferences.getString(ResourcesEnumerator.SOURCE_NETWORK_INTERFACE.key(), Constants.DEFAULT_SOURCE_INTERFACE)) > -1) {
- sourceIpSpinner.setSelection(sourceNetworkInterfaceArrayList.indexOf(sharedPreferences.getString(ResourcesEnumerator.SOURCE_NETWORK_INTERFACE.key(), Constants.DEFAULT_SOURCE_INTERFACE)));
- } else {
- sourceIpSpinner.setSelection(0);
- }
- }
- sourcePortEditText = (EditText) findViewById(R.id.sourcePortEditText);
- sourcePortEditText.setText(sharedPreferences.getString(ResourcesEnumerator.SOURCE_PORT.key(), Constants.DEFAULT_SOURCE_PORT));
- sourceIpRefreshButton = (Button) findViewById(R.id.sourceIpRefreshButton);
- sourceIpRefreshButton.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View v) {
- addressesMap = getLocalIpAddress();
- sourceIpArrayList.clear();
- sourceNetworkInterfaceArrayList.clear();
- for (String networkInterface : addressesMap.keySet()) {
- sourceIpArrayList.add(networkInterface + ": " + addressesMap.get(networkInterface));
- sourceNetworkInterfaceArrayList.add(networkInterface);
- }
- if (addressesMap.size() > 0) {
- ArrayAdapter<String> sourceIpComboArrayAdapter = new ArrayAdapter<String>(v.getContext(),
- android.R.layout.simple_spinner_item, sourceIpArrayList);
- sourceIpComboArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- sourceIpComboArrayAdapter.setDropDownViewResource(R.layout.spinner_layout);
- sourceIpSpinner.setAdapter(sourceIpComboArrayAdapter);
- if (sourceNetworkInterfaceArrayList.indexOf(sharedPreferences.getString(ResourcesEnumerator.SOURCE_NETWORK_INTERFACE.key(), Constants.DEFAULT_SOURCE_INTERFACE)) > -1) {
- sourceIpSpinner.setSelection(sourceNetworkInterfaceArrayList.indexOf(sharedPreferences.getString(ResourcesEnumerator.SOURCE_NETWORK_INTERFACE.key(), Constants.DEFAULT_SOURCE_INTERFACE)));
- } else {
- sourceIpSpinner.setSelection(0);
- }
- }
- }
- });
- nextHopIpEditText = (EditText) findViewById(R.id.nextHopIpEditText);
- nextHopIpEditText.setText(sharedPreferences.getString(ResourcesEnumerator.NEXT_HOP_IP.key(), Constants.DEFAULT_NEXT_HOP_IP));
- nextHopPortEditText = (EditText) findViewById(R.id.nextHopPortEditText);
- nextHopPortEditText.setText(sharedPreferences.getString(ResourcesEnumerator.NEXT_HOP_PORT.key(), Constants.DEFAULT_NEXT_HOP_PORT));
-
- configurationEditText = (EditText) findViewById(R.id.configurationEditText);
- //configurationEditText.setText(sharedPreferences.getString(ResourcesEnumerator.CONFIGURATION.key(), Constants.DEFAULT_CONFIGURATION));
- configurationEditText.setText(Constants.DEFAULT_CONFIGURATION);
- prefixEditText = (EditText) findViewById(R.id.prefixEditText);
- prefixEditText.setText(sharedPreferences.getString(ResourcesEnumerator.PREFIX.key(), Constants.DEFAULT_PREFIX));
- metisForwarderSwitch = (Switch) findViewById(R.id.metisForwarderSwitch);
- metisForwarderSwitch.setText(Constants.DISABLED);
- metisForwarderSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- Log.v("Switch State=", "" + isChecked);
- if (isChecked) {
- metisForwarderSwitch.setText(Constants.ENABLED);
- SharedPreferences.Editor sharedPreferencesEditor = getSharedPreferences(Constants.METIS_FORWARDER_PREFERENCES, MODE_PRIVATE).edit();
- sharedPreferencesEditor.putString(ResourcesEnumerator.SOURCE_NETWORK_INTERFACE.key(), sourceNetworkInterfaceArrayList.get(sourceIpSpinner.getSelectedItemPosition()));
- sharedPreferencesEditor.putString(ResourcesEnumerator.SOURCE_IP.key(), addressesMap.get(sourceNetworkInterfaceArrayList.get(sourceIpSpinner.getSelectedItemPosition())));
- sharedPreferencesEditor.putString(ResourcesEnumerator.SOURCE_PORT.key(), sourcePortEditText.getText().toString());
- sharedPreferencesEditor.putString(ResourcesEnumerator.NEXT_HOP_IP.key(), nextHopIpEditText.getText().toString());
- sharedPreferencesEditor.putString(ResourcesEnumerator.NEXT_HOP_PORT.key(), nextHopPortEditText.getText().toString());
- sharedPreferencesEditor.putString(ResourcesEnumerator.CONFIGURATION.key(), configurationEditText.getText().toString());
- sharedPreferencesEditor.putString(ResourcesEnumerator.PREFIX.key(), prefixEditText.getText().toString());
- sharedPreferencesEditor.commit();
- sourceIpSpinner.setEnabled(false);
- sourceIpRefreshButton.setEnabled(false);
- sourcePortEditText.setEnabled(false);
- nextHopIpEditText.setEnabled(false);
- nextHopPortEditText.setEnabled(false);
- prefixEditText.setEnabled(false);
- configurationEditText.setEnabled(false);
- startMetisForwarder();
-
- } else {
- metisForwarderSwitch.setText(Constants.DISABLED);
- sourceIpSpinner.setEnabled(true);
- sourceIpRefreshButton.setEnabled(true);
- sourcePortEditText.setEnabled(true);
- nextHopIpEditText.setEnabled(true);
- nextHopPortEditText.setEnabled(true);
- prefixEditText.setEnabled(true);
- configurationEditText.setEnabled(true);
- stopMetisForwarder();
- }
- }
-
- });
-
-
- }
-
- private void startMetisForwarder() {
- Intent intent = new Intent(this, MetisForwarderService.class);
- startService(intent);
- }
-
- private void stopMetisForwarder() {
- Intent intent = new Intent(this, MetisForwarderService.class);
-
- stopService(intent);
- }
-
- @Override
- public void onConfigurationChanged(Configuration newConfig) {
- super.onConfigurationChanged(newConfig);
- }
-}
diff --git a/MetisForwarder/app/src/main/java/com/metis/ccnx/service/MetisForwarderService.java b/MetisForwarder/app/src/main/java/com/metis/ccnx/service/MetisForwarderService.java
deleted file mode 100644
index 25d7c68a..00000000
--- a/MetisForwarder/app/src/main/java/com/metis/ccnx/service/MetisForwarderService.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.metis.ccnx.service;
-
-import android.app.Notification;
-import android.app.Service;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import android.os.IBinder;
-import android.util.Log;
-
-import com.metis.ccnx.supportlibrary.MetisForwarder;
-import com.metis.ccnx.utility.Constants;
-import com.metis.ccnx.utility.ResourcesEnumerator;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-public class MetisForwarderService extends Service {
- private final static String TAG = "MetisForwarderService";
-
- private static Thread sForwarderThread = null;
-
- public MetisForwarderService() {
- }
-
- private String path;
-
- @Override
- public IBinder onBind(Intent intent) {
- return null;
- }
-
-
- @Override
- public int onStartCommand(Intent intent, int flags, int startId) {
-
- MetisForwarder metisForwarder = MetisForwarder.getInstance();
- if (!metisForwarder.isRunning()) {
- Log.d(TAG, "Starting Metis Forwarder");
- SharedPreferences sharedPreferences = getSharedPreferences(Constants.METIS_FORWARDER_PREFERENCES, MODE_PRIVATE);
- String configuration = sharedPreferences.getString(ResourcesEnumerator.CONFIGURATION.key(), Constants.DEFAULT_CONFIGURATION);
- String sourceIp = sharedPreferences.getString(ResourcesEnumerator.SOURCE_IP.key(), null);
- String sourcePort = sharedPreferences.getString(ResourcesEnumerator.SOURCE_PORT.key(), null);
- String nextHopIp = sharedPreferences.getString(ResourcesEnumerator.NEXT_HOP_IP.key(), null);
- String nextHopPort = sharedPreferences.getString(ResourcesEnumerator.NEXT_HOP_PORT.key(), null);
- String prefix = sharedPreferences.getString(ResourcesEnumerator.PREFIX.key(), null);
- configuration = configuration.replace(Constants.SOURCE_IP, sourceIp);
- configuration = configuration.replace(Constants.SOURCE_PORT, sourcePort);
- configuration = configuration.replace(Constants.NEXT_HOP_IP, nextHopIp);
- configuration = configuration.replace(Constants.NEXT_HOP_PORT, nextHopPort);
- configuration = configuration.replace(Constants.PREFIX, prefix);
- try {
- String configurationDir = getPackageManager().getPackageInfo(getPackageName(), 0).applicationInfo.dataDir +
- File.separator + Constants.CONFIGURATION_PATH;
- File folder = new File(configurationDir);
- if (!folder.exists()) {
- folder.mkdirs();
- }
-
- writeToFile(configuration, configurationDir + File.separator + Constants.CONFIGURATION_FILE_NAME);
- startForwarder(intent, configurationDir + File.separator + Constants.CONFIGURATION_FILE_NAME);
- } catch (PackageManager.NameNotFoundException e) {
- Log.w(TAG, "Error Package name not found ", e);
- }
-
-
- } else {
- Log.d(TAG, "Metis Forwarder already running.");
- }
- return Service.START_STICKY;
- }
-
-
- @Override
- public void onDestroy() {
- MetisForwarder metisForwarder = MetisForwarder.getInstance();
- Log.d(TAG, "Destroying Metis Forwarder");
- if (metisForwarder.isRunning()) {
- metisForwarder.stop();
- stopForeground(true);
- }
- super.onDestroy();
- }
-
- protected Runnable mForwarderRunner = new Runnable() {
-
- //private String path;
- @Override
- public void run() {
- MetisForwarder metisForwarder = MetisForwarder.getInstance();
- metisForwarder.start(path);
- }
-
-
- };
-
- private boolean writeToFile(String data, String path) {
- Log.v(TAG, path + " " + data);
- try (Writer writer = new BufferedWriter(new OutputStreamWriter(
- new FileOutputStream(path), "utf-8"))) {
- writer.write(data);
- return true;
- } catch (IOException e) {
- Log.e(TAG, "File write failed: " + e.toString());
- return false;
- }
- }
-
-
- private void startForwarder(Intent intent, String path) {
-
- int NOTIFICATION_ID = 12345;
- startForeground(Constants.FOREGROUND_SERVICE, new Notification.Builder(this).build());
- MetisForwarder metisForwarder = MetisForwarder.getInstance();
- if (!metisForwarder.isRunning()) {
- this.path = path;
- sForwarderThread = new Thread(mForwarderRunner, "MetisForwarderRunner");
- sForwarderThread.start();
- }
-
-
-
- }
-
-
-
-}
diff --git a/MetisForwarder/app/src/main/java/com/metis/ccnx/supportlibrary/MetisForwarder.java b/MetisForwarder/app/src/main/java/com/metis/ccnx/supportlibrary/MetisForwarder.java
deleted file mode 100644
index 45932cfa..00000000
--- a/MetisForwarder/app/src/main/java/com/metis/ccnx/supportlibrary/MetisForwarder.java
+++ /dev/null
@@ -1,42 +0,0 @@
-
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-package com.metis.ccnx.supportlibrary;
-
-public class MetisForwarder {
-
- private static MetisForwarder sInstance = null;
-
- static {
- System.loadLibrary("metisForwarderWrap");
- }
-
- public static MetisForwarder getInstance() {
- if (sInstance == null) {
- sInstance = new MetisForwarder();
- }
- return sInstance;
- }
-
- private MetisForwarder() {
-
- }
-
- public native boolean isRunning();
- public native void start(String path);
- public native void stop();
-}
diff --git a/MetisForwarder/app/src/main/java/com/metis/ccnx/utility/Constants.java b/MetisForwarder/app/src/main/java/com/metis/ccnx/utility/Constants.java
deleted file mode 100644
index f25bc825..00000000
--- a/MetisForwarder/app/src/main/java/com/metis/ccnx/utility/Constants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.metis.ccnx.utility;
-
-/**
- * Created by angelomantellini on 18/05/2017.
- */
-
-public class Constants {
- public static final String DEFAULT_NEXT_HOP_IP = "10.60.17.200";
- public static final String DEFAULT_NEXT_HOP_PORT = "11111";
- public static final String DEFAULT_PREFIX = "ccnx:/webserver";
- public static final String ENABLED = "Enabled";
- public static final String DISABLED = "Disabled";
- public static final String METIS_FORWARDER_PREFERENCES = "metisForwarderPreferences";
- public static final String DEFAULT_SOURCE_INTERFACE = "eth0";
- public static final String DEFAULT_SOURCE_PORT = "11111";
- public static final String DEFAULT_CONFIGURATION = "add listener tcp local0 127.0.0.1 9695\n" +
- "add listener udp remote0 %%source_ip%% %%source_port%%\n" +
- "add connection udp conn0 %%next_hop_ip%% %%next_hop_port%% %%source_ip%% %%source_port%%\n" +
- "add route conn0 %%prefix%% 1";
-
-
-
- //"add connection udp conn0 %%next_ip%% %%next_port_ip%% %%source_ip%% %%source_port%%\n" +
- //"add route conn0 %%prefix%%";
- public static final String SOURCE_IP = "%%source_ip%%";
- public static final String SOURCE_PORT = "%%source_port%%";
- public static final String NEXT_HOP_IP = "%%next_hop_ip%%";
- public static final String NEXT_HOP_PORT = "%%next_hop_port%%";
- public static final String PREFIX = "%%prefix%%";
- public static final String NETMASK = "%%netmask%%";
- public static final String CONFIGURATION_PATH = "Configuration";
- public static final String CONFIGURATION_FILE_NAME = "metis_forwarder.conf";
- public static final int FOREGROUND_SERVICE = 101;
-}
diff --git a/MetisForwarder/app/src/main/java/com/metis/ccnx/utility/ResourcesEnumerator.java b/MetisForwarder/app/src/main/java/com/metis/ccnx/utility/ResourcesEnumerator.java
deleted file mode 100644
index 85284f86..00000000
--- a/MetisForwarder/app/src/main/java/com/metis/ccnx/utility/ResourcesEnumerator.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.metis.ccnx.utility;
-
-public enum ResourcesEnumerator {
- SOURCE_IP("sourceIp"),
- SOURCE_PORT("sourcePort"),
- NEXT_HOP_IP("nextHopIp"),
- NEXT_HOP_PORT("nextHopPort"),
- CONFIGURATION("configuration"),
- SOURCE_NETWORK_INTERFACE("sourceNetworkInterface"),
- PREFIX("prefix");
-
- private String key;
-
- ResourcesEnumerator(String key) {
- this.key = key;
- }
-
- public String key() {
- return key;
- }
-}
diff --git a/MetisForwarder/app/src/main/res/drawable/border.xml b/MetisForwarder/app/src/main/res/drawable/border.xml
deleted file mode 100644
index c1f839b3..00000000
--- a/MetisForwarder/app/src/main/res/drawable/border.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
- <stroke
- android:width="1dp"
- android:color="#000000" />
- <solid
- android:color="#00FFFFFF"
- android:paddingLeft="10dp"
- android:paddingTop="10dp"/>
-
- <padding
- android:left="10dp"
- android:top="10dp"
- android:right="10dp"
- android:bottom="10dp" />
- <corners
- android:bottomRightRadius="15dp"
- android:bottomLeftRadius="15dp"
- android:topLeftRadius="15dp"
- android:topRightRadius="15dp"/>
-</shape> \ No newline at end of file
diff --git a/MetisForwarder/app/src/main/res/layout/activity_metis_forwarder.xml b/MetisForwarder/app/src/main/res/layout/activity_metis_forwarder.xml
deleted file mode 100644
index ce9cc47c..00000000
--- a/MetisForwarder/app/src/main/res/layout/activity_metis_forwarder.xml
+++ /dev/null
@@ -1,239 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context="com.metis.ccnx.metisforwarder.MetisForwarderActivity">
-
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintHorizontal_bias="0.099"
- app:layout_constraintLeft_toLeftOf="parent"
- app:layout_constraintRight_toRightOf="parent"
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.029999971">
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/sourceTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Source"
- android:textSize="30sp"
- android:textStyle="bold" />
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:orientation="horizontal"
- android:paddingLeft="30dp">
-
- <TextView
- android:id="@+id/sourceIpTextView"
- android:layout_width="130dp"
- android:layout_height="wrap_content"
- android:text="IP"
- android:textAlignment="textEnd"
- android:textSize="24sp"
- android:textStyle="bold" />
-
- <Spinner
- android:id="@+id/sourceIpSpinner"
- android:layout_width="500dp"
- android:layout_height="wrap_content"
- android:paddingLeft="200dp" />
-
- <Button
- android:id="@+id/sourceIpRefreshButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Refresh" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:orientation="horizontal"
- android:paddingLeft="30dp">
-
- <TextView
- android:id="@+id/sourcePortTextView"
- android:layout_width="130dp"
- android:layout_height="wrap_content"
- android:text="Port"
- android:textAlignment="textEnd"
- android:textSize="24sp"
- android:textStyle="bold" />
-
- <EditText
- android:id="@+id/sourcePortEditText"
- android:layout_width="80dp"
- android:layout_height="wrap_content"
- android:ems="10"
- android:inputType="number"
- android:text="88888"
- android:textSize="24sp" />
-
- </LinearLayout>
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/nextHopTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Next Hop"
- android:textSize="30sp"
- android:textStyle="bold" />
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:orientation="horizontal"
- android:paddingLeft="30dp">
-
- <TextView
- android:id="@+id/destinationIpTextView"
- android:layout_width="130dp"
- android:layout_height="wrap_content"
- android:text="IP"
- android:textAlignment="textEnd"
- android:textSize="24sp"
- android:textStyle="bold" />
-
- <EditText
- android:id="@+id/nextHopIpEditText"
- android:layout_width="500dp"
- android:layout_height="wrap_content"
- android:ems="10"
- android:inputType="textUri"
- android:text="8888:8888:8888:8888:8888:8888:8888:8888"
- android:textSize="24sp" />
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:orientation="horizontal"
- android:paddingLeft="30dp">
-
- <TextView
- android:id="@+id/nextHopPortTextView"
- android:layout_width="130dp"
- android:layout_height="wrap_content"
- android:text="Port"
- android:textAlignment="textEnd"
- android:textSize="24sp"
- android:textStyle="bold" />
-
- <EditText
- android:id="@+id/nextHopPortEditText"
- android:layout_width="80dp"
- android:layout_height="wrap_content"
- android:ems="10"
- android:inputType="number"
- android:text="88888"
- android:textSize="24sp" />
-
-
- </LinearLayout>
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/routeTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Route"
- android:textSize="30sp"
- android:textStyle="bold" />
-
- <LinearLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="0.25"
- android:orientation="horizontal"
- android:paddingLeft="30dp">
-
- <TextView
- android:id="@+id/prefixTextView"
- android:layout_width="130dp"
- android:layout_height="wrap_content"
- android:text="Prefix"
- android:textAlignment="textEnd"
- android:textSize="24sp"
- android:textStyle="bold" />
-
- <EditText
- android:id="@+id/prefixEditText"
- android:layout_width="500dp"
- android:layout_height="wrap_content"
- android:ems="10"
- android:inputType="textUri"
- android:text="8888:8888:8888:8888:8888:8888:8888:8888"
- android:textSize="24sp" />
- </LinearLayout>
-
- </LinearLayout>
-
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical">
-
- <TextView
- android:id="@+id/configurationTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="Configuration"
- android:textSize="30sp"
- android:textStyle="bold" />
-
- <ScrollView
- android:layout_width="fill_parent"
- android:layout_height="200dp"
- android:background="@drawable/border">
-
- <EditText
- android:id="@+id/configurationEditText"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:background="@android:color/transparent"
- android:ems="10"
- android:inputType="textMultiLine"
- android:text="# Local listeners add listener tcp local0 127.0.0.1 9695 add listener udp local1 127.0.0.1 9695 # Remote face add listener udp remote0 %%source_ip%% %%source_port%% add connection udp conn0 %%destination_ip%% %%destination_port%% %%source_ip%% %%source_port%% # Route add route conn0 ccnx:/webserver 1# Local listeners add listener tcp local0 127.0.0.1 9695 add listener udp local1 127.0.0.1 9695 # Remote face add listener udp remote0 %%source_ip%% %%source_port%% add connection udp conn0 %%destination_ip%% %%destination_port%% %%source_ip%% %%source_port%% # Route add route conn0 ccnx:/webserver 1# Local listeners add listener tcp local0 127.0.0.1 9695 add listener udp local1 127.0.0.1 9695 # Remote face add listener udp remote0 %%source_ip%% %%source_port%% add connection udp conn0 %%destination_ip%% %%destination_port%% %%source_ip%% %%source_port%% # Route add route conn0 ccnx:/webserver 1# Local listeners add listener tcp local0 127.0.0.1 9695 add listener udp local1 127.0.0.1 9695 # Remote face add listener udp remote0 %%source_ip%% %%source_port%% add connection udp conn0 %%destination_ip%% %%destination_port%% %%source_ip%% %%source_port%% # Route add route conn0 ccnx:/webserver 1# Local listeners add listener tcp local0 127.0.0.1 9695 add listener udp local1 127.0.0.1 9695 # Remote face add listener udp remote0 %%source_ip%% %%source_port%% add connection udp conn0 %%destination_ip%% %%destination_port%% %%source_ip%% %%source_port%% # Route add route conn0 ccnx:/webserver 1"
- app:layout_constraintVertical_bias="0.33999997" />
- </ScrollView>
-
- </LinearLayout>
-
- <Switch
- android:id="@+id/metisForwarderSwitch"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:text="Disabled"
- android:textSize="30sp" />
- </LinearLayout>
-</android.support.constraint.ConstraintLayout>
diff --git a/MetisForwarder/app/src/main/res/layout/spinner_layout.xml b/MetisForwarder/app/src/main/res/layout/spinner_layout.xml
deleted file mode 100644
index c73af27b..00000000
--- a/MetisForwarder/app/src/main/res/layout/spinner_layout.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<TextView
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:textSize="24sp"
- android:padding="5dp"
- /> \ No newline at end of file
diff --git a/MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher.png b/MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index cde69bcc..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
deleted file mode 100644
index 9a078e3e..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher.png b/MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index c133a0cb..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
deleted file mode 100644
index efc028a6..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index bfa42f0e..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
deleted file mode 100644
index 3af2608a..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 324e72cd..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
deleted file mode 100644
index 9bec2e62..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index aee44e13..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
deleted file mode 100644
index 34947cd6..00000000
--- a/MetisForwarder/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
+++ /dev/null
Binary files differ
diff --git a/MetisForwarder/app/src/main/res/values/colors.xml b/MetisForwarder/app/src/main/res/values/colors.xml
deleted file mode 100644
index 3ab3e9cb..00000000
--- a/MetisForwarder/app/src/main/res/values/colors.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
- <color name="colorPrimary">#3F51B5</color>
- <color name="colorPrimaryDark">#303F9F</color>
- <color name="colorAccent">#FF4081</color>
-</resources>
diff --git a/MetisForwarder/app/src/main/res/values/strings.xml b/MetisForwarder/app/src/main/res/values/strings.xml
deleted file mode 100644
index 8be706b0..00000000
--- a/MetisForwarder/app/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<resources>
- <string name="app_name">MetisForwarder</string>
-</resources>
diff --git a/MetisForwarder/app/src/main/res/values/styles.xml b/MetisForwarder/app/src/main/res/values/styles.xml
deleted file mode 100644
index 5885930d..00000000
--- a/MetisForwarder/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<resources>
-
- <!-- Base application theme. -->
- <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
- <!-- Customize your theme here. -->
- <item name="colorPrimary">@color/colorPrimary</item>
- <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
- <item name="colorAccent">@color/colorAccent</item>
- </style>
-
-</resources>