#include "caadapterutils.h"
#include "caremotehandler.h"
-//#define DEBUG_MODE
#define TAG PCF("OIC_CA_EDR_CLIENT")
static const char METHODID_CONTEXTNONPARAM[] = "()Landroid/content/Context;";
static const char CLASSPATH_CONTEXT[] = "android/content/Context";
static const char CLASSPATH_OUTPUT[] = "java/io/OutputStream";
-static ca_thread_pool_t g_threadPoolHandle = NULL;
-
static JavaVM *g_jvm;
static jobject g_context;
return CA_STATUS_OK;
}
-void CAEDRInitialize(ca_thread_pool_t handle)
+CAResult_t CAEDRInitialize()
{
OIC_LOG(DEBUG, TAG, "CAEDRInitialize");
- g_threadPoolHandle = handle;
-
CAEDRCoreJniInit();
CAEDRJniInitContext();
// init mutex
- CAEDRCreateMutex();
+ CAResult_t result = CAEDRCreateMutex();
+ if(CA_STATUS_OK != result)
+ {
+ OIC_LOG(ERROR, TAG, "CAEDRInitialize - Could not create mutex");
+ return result;
+ }
bool isAttached = false;
JNIEnv* env;
if (JNI_OK != res)
{
OIC_LOG(ERROR, TAG, "AttachCurrentThread failed");
- return;
+ return CA_STATUS_NOT_INITIALIZED;
}
isAttached = true;
}
}
OIC_LOG(DEBUG, TAG, "OUT");
+
+ return result;
}
void CAEDRTerminate()
if (!CAEDRNativeIsEnableBTAdapter(env))
{
- OIC_LOG(ERROR, TAG, "BT adpater is not enable");
- return CA_STATUS_INVALID_PARAM;
+ OIC_LOG(INFO, TAG, "BT adapter is not enabled");
+ return CA_ADAPTER_NOT_ENABLED;
}
if (STATE_DISCONNECTED == CAEDRIsConnectedDevice(address))
return CA_STATUS_FAILED;
}
- OIC_LOG_V(INFO, TAG, "EDR sendTo is successful: %ld bytes, to %s",
+ OIC_LOG_V(INFO, TAG, "EDR sendTo is successful: %u bytes, to %s",
dataLength, address);
}
else
if (!CAEDRNativeIsEnableBTAdapter(env))
{
- OIC_LOG(ERROR, TAG, "BT adpater is not enable");
- return CA_STATUS_INVALID_PARAM;
+ OIC_LOG(INFO, TAG, "BT adapter is not enabled");
+ return CA_ADAPTER_NOT_ENABLED;
}
jclass jni_cid_BTAdapter = (*env)->FindClass(env, CLASSPATH_BT_ADPATER);
OIC_LOG(DEBUG, TAG, "disconnected");
}
-void CAEDRInitializeClient(ca_thread_pool_t handle)
+CAResult_t CAEDRClientInitialize()
{
- CAEDRInitialize(handle);
+ CAResult_t result = CAEDRInitialize();
+ return result;
}
void CAEDRSetErrorHandler(CAEDRErrorHandleCallback errorHandleCallback)