Created
August 11, 2012 16:32
-
-
Save tshirtman/3325614 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # ------------------------------------------------------------------- | |
| # Bluetooth | |
| class class Bluetooth(object): | |
| """ | |
| Bluetooth service class, used to manage global state of bluetooth | |
| device and create connections | |
| """ | |
| cdef JNIEnv *j_env | |
| cdef jclass j_class | |
| cdef jobject j_self | |
| cdef jclass adapter | |
| cdef __cinit__(self): | |
| self.j_env = SDL_ANDROID_GetJNIEnv() | |
| self.adapter = self.j_env.FindClass(self.j_env, "android/bluetooth/BluetoothAdapter") | |
| cdef __init__(self): | |
| self.connections = [] | |
| self.local_name = "" | |
| cdef bluetooth_connect(address): | |
| # TODO | |
| pass | |
| cdef remote_name(self, address): | |
| # TODO | |
| pass | |
| cdef get_scan_mode(self): | |
| # TODO | |
| pass | |
| cdef enabled(self): | |
| # TODO | |
| pass | |
| cdef toggle(self): | |
| # TODO | |
| pass | |
| cdef close(self, connection): | |
| # TODO | |
| pass | |
| cdef class BluetoothConnection(object): | |
| cdef JNIEnv *j_env | |
| cdef jclass j_class | |
| cdef jobject j_self | |
| def __cinit__(self): | |
| self.j_env = SDL_ANDROID_GetJNIEnv() | |
| self.j_class = self.j_env.FindClass(self.j_env, | |
| "org/renpy/android/BluetoothConnection") | |
| def __init__(self, msocket=None): | |
| cdef jmethodID constructor = self.j_env.GetMethodID( | |
| self.j_env, self.j_class, "<init>", "(C)V") | |
| self.j_self = self.j_env.NewObject( | |
| self.j_env, self.j_class, constructor) | |
| cdef void setUUID(self, bytes uuid): | |
| cdef jmethodID j_method = self.j_env.GetMethodID( | |
| self.j_env, self.j_class, | |
| "setUUID", | |
| "(Ljava/lang/String;)V") | |
| self.j_env.CallVoidMethod( | |
| self.j_env, self.j_class, self.j_self, j_method, | |
| self.j_env.NewStringUTF(self.j_env, <const_char *><char *>uuid)) | |
| cdef getUUID(self): | |
| cdef jmethodID j_method = self.j_env.GetMethodID(self.j_env, self.j_class, | |
| "getUUID", | |
| "()Ljava/lang/String;") | |
| cdef jstring result = <jstring>self.j_env.CallObjectMethod( | |
| self.j_env, self.j_class, self.j_self, j_method) | |
| # get the char* from the string | |
| cdef char *j_uuid = <char *>self.j_env.GetStringUTFChars(self.j_env, result, NULL) | |
| # create a python string | |
| cdef str py_uuid = <str><bytes>j_uuid | |
| # release the original | |
| self.j_env.ReleaseStringUTFChars(self.j_env, result, <const_char *>j_uuid) | |
| return py_uuid | |
| cdef read(self, buffsize): | |
| # TODO | |
| pass | |
| cdef write(self, ascii): | |
| # TODO | |
| pass | |
| cdef read_line(self): | |
| # TODO | |
| pass | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment