private final static String TAG = "Sample_Service : MainActivity";
private final CharSequence[] mNetworkCheckBoxItems = { Network.IP.name(),
- Network.LE.name(), Network.EDR.name()};
+ Network.LE.name(), Network.EDR.name(), Network.TCP.name() };
private final CharSequence[] mDTLSCheckBoxItems = { DTLS.UNSECURED.name(),
DTLS.SECURED.name() };
};
private enum Network {
- IP, LE, EDR
+ IP, LE, EDR, TCP
};
private enum DTLS {
false, false, false, false
};
- private int mSelectedItems[] = { 0, 0, 0 };
+ private int mSelectedItems[] = { 0, 0, 0, 0, 0 };
- private int mUnSelectedItems[] = { 0, 0, 0 };
+ private int mUnSelectedItems[] = { 0, 0, 0, 0, 0 };
private Mode mCurrentMode = Mode.UNKNOWN;
/**
* Defined ConnectivityType in cacommon.c
*
- * CA_IP = (1 << 0) CA_LE = (1 << 2) CA_EDR = (1 << 3)
+ * CA_IP = (1 << 0) CA_LE = (1 << 1) CA_EDR = (1 << 2) CA_TCP = (1 << 4)
*/
private int CA_IP = (1 << 0);
private int CA_LE = (1 << 1);
private int CA_EDR = (1 << 2);
+ private int CA_TCP = (1 << 4);
private int isSecured = 0;
private int msgType = 1;
private int responseValue = 0;
private void showModeView() {
+ mReceiveLayout.setVisibility(View.VISIBLE);
+ mSendRequestToAllLayout.setVisibility(View.VISIBLE);
+ mSendRequestToAllSettingLayout.setVisibility(View.VISIBLE);
+ mRequestToAllTitleLayout.setVisibility(View.VISIBLE);
+ mHandleTitleLayout.setVisibility(View.VISIBLE);
+
if (mCurrentMode == Mode.SERVER) {
mSendNotificationLayout.setVisibility(View.VISIBLE);
mSendRequestLayout.setVisibility(View.INVISIBLE);
- mSendRequestToAllLayout.setVisibility(View.VISIBLE);
mSendRequestSettingLayout.setVisibility(View.INVISIBLE);
- mSendRequestToAllSettingLayout.setVisibility(View.VISIBLE);
- mReceiveLayout.setVisibility(View.VISIBLE);
mRequestTitleLayout.setVisibility(View.INVISIBLE);
- mRequestToAllTitleLayout.setVisibility(View.VISIBLE);
- mHandleTitleLayout.setVisibility(View.VISIBLE);
mResponseNotificationTitleLayout.setVisibility(View.VISIBLE);
mSendResponseNotiSettingLayout.setVisibility(View.VISIBLE);
- mNetwork_tv.setText("");
-
} else if (mCurrentMode == Mode.CLIENT) {
mSendNotificationLayout.setVisibility(View.INVISIBLE);
mSendRequestLayout.setVisibility(View.VISIBLE);
- mSendRequestToAllLayout.setVisibility(View.VISIBLE);
mSendRequestSettingLayout.setVisibility(View.VISIBLE);
- mSendRequestToAllSettingLayout.setVisibility(View.VISIBLE);
- mReceiveLayout.setVisibility(View.VISIBLE);
mRequestTitleLayout.setVisibility(View.VISIBLE);
- mRequestToAllTitleLayout.setVisibility(View.VISIBLE);
- mHandleTitleLayout.setVisibility(View.VISIBLE);
mResponseNotificationTitleLayout.setVisibility(View.INVISIBLE);
mSendResponseNotiSettingLayout.setVisibility(View.INVISIBLE);
-
- mNetwork_tv.setText("");
}
+ mNetwork_tv.setText("");
}
@Override
public void onClick(DialogInterface dialog,
int which, boolean isChecked) {
+ // in case of TCP increase value,
+ // because CASample not support RA.
+ // which: 0(IP), 1(BT), 2(BLE), 3(TCP)
+ if (which == 3) {
+ which = 4;
+ }
if (isChecked) {
-
mSelectedItems[which] = 1;
mUnSelectedItems[which] = 0;
} else if (selectedNetworkType == Network.EDR.ordinal()) {
selectedNetwork = CA_EDR;
DLog.v(TAG, "Selected Network is EDR");
+ } else if (selectedNetworkType == Network.TCP.ordinal()) {
+ selectedNetwork = CA_TCP;
+ DLog.v(TAG, "Selected Network is TCP");
} else {
DLog.v(TAG, "Selected Network is NULL");
selectedNetwork = -1;
static const char COAP_PREFIX[] = "coap://";
static const char COAPS_PREFIX[] = "coaps://";
+static const char COAP_TCP_PREFIX[] = "coap+tcp://";
+
static const uint16_t COAP_PREFIX_LEN = sizeof(COAP_PREFIX) - 1;
static const uint16_t COAPS_PREFIX_LEN = sizeof(COAPS_PREFIX) - 1;
+static const uint16_t COAP_TCP_PREFIX_LEN = sizeof(COAP_TCP_PREFIX) - 1;
static const char RECEIVED_FILE_PATH[] = "/storage/emulated/0/Download/%d%s.txt";
CAResult_t get_network_type(uint32_t selectedNetwork, CATransportFlags_t *flags)
{
-
uint32_t number = selectedNetwork;
- if (!(number & 0xf))
- {
- return CA_NOT_SUPPORTED;
- }
- if (number & CA_ADAPTER_IP)
- {
- *flags = CA_IPV4;
- g_selectedNwType = CA_ADAPTER_IP;
- return CA_STATUS_OK;
- }
- if (number & CA_ADAPTER_RFCOMM_BTEDR)
+ switch (number)
{
- g_selectedNwType = CA_ADAPTER_RFCOMM_BTEDR;
- return CA_STATUS_OK;
- }
- if (number & CA_ADAPTER_GATT_BTLE)
- {
- g_selectedNwType = CA_ADAPTER_GATT_BTLE;
- return CA_STATUS_OK;
+ case CA_ADAPTER_IP:
+ *flags = CA_IPV4;
+ case CA_ADAPTER_GATT_BTLE:
+ case CA_ADAPTER_RFCOMM_BTEDR:
+ case CA_ADAPTER_TCP:
+ g_selectedNwType = number;
+ return CA_STATUS_OK;
+ default:
+ return CA_NOT_SUPPORTED;
}
-
- return CA_NOT_SUPPORTED;
}
void callback(char *subject, char *receivedData)
LOGI("uri has '%s' prefix", COAP_PREFIX);
startIndex = COAP_PREFIX_LEN;
}
+ else if (strncmp(COAP_TCP_PREFIX, uri, COAP_TCP_PREFIX_LEN) == 0)
+ {
+ LOGI("uri has '%s' prefix\n", COAP_TCP_PREFIX);
+ startIndex = COAP_TCP_PREFIX_LEN;
+ *flags = CA_IPV4;
+ }
// #2. copy uri for parse
size_t len = strlen(uri) - startIndex;