Skip to content
Josh Miller edited this page Mar 15, 2016 · 34 revisions

#com.mindaptiv.saul

###Controller.java Controller.java contains the class translation of the pre-existing controllerStruct found in Cylon.h. In this context Controller refers exclusively to gamepads.

###Cylon.java cylon
Cylon.java contains the Java version of the native code cylonStruct structure found in Cylon.h. All variables are represented using Java versions of classes to allow for fast interface between this class and the Android/Java API's. This file contains methods to retrieve and fill all of the fields for a given Cylon class via Android/Java API's.

###Device.java Device.java contains the class declaration of a Java version of the deviceStruct found in Cylon.h, similar to how Cylon.java contains a Java version of cylonStruct. Multiple constructors are present to allow the building of a Device object based on different types of Android objects.

###Display.java Display.java contains the class translation of the pre-existing displayStruct found in Cylon.h.

###Mouse.java Mouse.java contains the class translation of the pre-existing mouseStruct found in Cylon.h. This file is currently unused as the mouseStruct is used exclusively in the UWP/Windows 10 version of the Centurion Project (see Foster).

###Midi.java Midi.java contains the class translation of the pre-existing midiStruct and midiPortStruct structures found in Cylon.h. These objects are currently only used for the Android version of the Centurion Project, and only on devices running Android M or later. The C version of the structs are maintained in all versions of the cylon.h file so that all Centurion code bases use the same cylon.h header.

###package-info.java Traditional package-info file that declares the name for com.mindaptiv.saul with some minor documentation explaining the purpose of the package, and the authorship.

###Sensor.java Sensor.java contains the class definition of a simple container for holding properties of an existing sensor available for use by the current device. It is based on the sensorStruct structure in cylon.h and is currently only used for the Saul version of the Centurion project as it is designed specifically to deal with Android Sensor devices.

###Storage.java Storage.java contains the class definition of a simple container for holding properties of an existing storage drive available for use by the current device. It is based on the storageStruct structure in cylon.h.

#Native Code ###Android.mk Android.mk defines the local files and gives instructions for the compiler to help it build the native code in the JNI directory.

###Application.mk Application.mk sets various settings for the build process that tell the compiler which Android API level to target, which ABI to use, and which STL to use for the C++ code.

###Cylon.h centurion
"By your command," - Cylon Centurion
The Cylon header contains structure definitions for several container types, and is meant to be platform agnostic and duplicated across all platforms for the Centurion Project. For that reason, this header avoids utilizing any Android specific class definitions or includes.

###Native.c Native.c contains example code to illustrate how to interact with the Java side of the library when using plain C files (as the process is slightly different when using C++).

###Saul.cpp
saul
"I'll save it for a special occasion," - Saul Tigh
Saul.cpp contains methods to port Java specific Cylon data into a native environment, convert these values, and store them in the structures defined in Cylon.h. This file also has code for the filling of fields in a cylonStruct that are only obtainable via native methods (like operating system word size).

#Saul ###.gitignore Traditional .gitignore for a Java/Android project.

###LICENSE.txt Traditional MIT license file, added via addalicense.com

###README.md steve-jobs-in-south-park-3
"Why won't it read!?" - Steve Jobs, South Park
Standard Github generated readme file with a basic mission statement and links to documentation and contact information.

Final Five Projects:
Saul
Foster
Ellen
Hellos

Clone this wiki locally