err, neardal_error_get_text(err));
/* No Neard daemon, destroying neardal object... */
- if (err == NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY) {
+ if (err == NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY)
neardal_tools_prv_free_gerror(&neardalMgr);
- }
}
} else {
NEARDAL_TRACE_ERR("Unable to connect to dbus: %s\n",
errorCode_t neardal_set_cb_adapter_added(adapter_cb cb_adp_added,
void *user_data)
{
- neardalMgr.cb_adp_added = cb_adp_added;
- neardalMgr.cb_adp_added_ud = user_data;
+ neardalMgr.cb_adp_added = cb_adp_added;
+ neardalMgr.cb_adp_added_ud = user_data;
return NEARDAL_SUCCESS;
}
adapter_prop_cb cb_adp_property_changed,
void *user_data)
{
- neardalMgr.cb_adp_prop_changed = cb_adp_property_changed;
+ neardalMgr.cb_adp_prop_changed = cb_adp_property_changed;
neardalMgr.cb_adp_prop_changed_ud = user_data;
return NEARDAL_SUCCESS;
neardal_prv_construct(&err);
if (err != NEARDAL_SUCCESS)
return err;
-
+
err = neardal_mgr_prv_get_adapter(adpName, &adpProp);
err = NEARDAL_ERROR_NO_ADAPTER;
goto exit;
if (!adpProp->polling) {
- org_neard_adp__call_start_poll_sync(adpProp->proxy, NULL,
- &neardalMgr.gerror);
+ org_neard_adp__call_start_poll_sync(adpProp->proxy, NULL,
+ &neardalMgr.gerror);
err = NEARDAL_SUCCESS;
if (neardalMgr.gerror != NULL) {
rcd.name = (gchar *) record->name;
rcd.action = (gchar *) record->action;
rcd.encoding = (gchar *) record->encoding;
- rcd.handOver = (gboolean) record->handOver;
rcd.language = (gchar *) record->language;
rcd.type = (gchar *) record->type;
rcd.representation = (gchar *) record->representation;
/******************************************************************************
* neardal_get_record_properties: Get values of a specific target record
*****************************************************************************/
-errorCode_t neardal_get_record_properties( const char *recordName,
+errorCode_t neardal_get_record_properties(const char *recordName,
neardal_record *record)
{
errorCode_t err = NEARDAL_SUCCESS;
record->name = (const char *) rcdProp->name;
record->encoding = (const char *) rcdProp->encoding;
- record->handOver = (short) rcdProp->handOver;
record->language = (const char *) rcdProp->language;
record->action = (const char *) rcdProp->action;
typedef struct {
/*! @brief DBus interface name (as identifier) */
const char *name;
-/*! @brief character encoding */
+/*! @brief The character encoding */
const char *encoding;
-/*! @brief connection established using other wireless communication
-technologies */
- short handOver;
-/*! @brief internation language used */
+/*! @brief The ISO/IANA language code (For example "en" or "jp") */
const char *language;
/*! @brief 'Action' Save, Edit, Download... */
const char *action;
-/*! @brief tag type: 'Text', 'Uri', 'MIME Type' */
+/*! @brief The NDEF record type name ("SmartPoster", "Text", "URI",
+ * "HandoverRequest", "HandoverSelect", "HandoverCarrier" */
const char *type;
-/*! @brief Text datas */
+/*! @brief human readable representation of a text or title record. */
const char *representation;
-/*! @brief Uri datas */
+/*! @brief the complete URI, including the scheme and the resource */
const char *uri;
-//*! @brief Uri datas */
+/*! @brief URI object size */
unsigned int uriObjSize;
-/*! @brief MIME Type datas */
+/*! @brief The URI object MIME type */
const char *mime;
} neardal_record;
NEARDAL_TRACEIN();
(void) proxy; /* remove warning */
-
+
g_assert(arg_unnamed_arg0 != NULL);
g_assert(adpProp != NULL);
errCode = NEARDAL_ERROR_GENERAL_ERROR;
goto exit;
}
-
+
tmp = g_variant_get_variant(arg_unnamed_arg1);
if (tmp == NULL) {
errCode = NEARDAL_ERROR_GENERAL_ERROR;
goto exit;
}
-
+
if (!strcmp(arg_unnamed_arg0, "Polling")) {
- adpProp->polling = g_variant_get_boolean (tmp);
+ adpProp->polling = g_variant_get_boolean(tmp);
clientValue = GUINT_TO_POINTER(adpProp->polling);
NEARDAL_TRACEF("neardalMgr.polling=%d\n", adpProp->polling);
}
if (!strcmp(arg_unnamed_arg0, "Targets")) {
guint tmpLen;
- tgtArray = g_variant_dup_objv (tmp, &tmpLen);
+ tgtArray = g_variant_dup_objv(tmp, &tmpLen);
adpProp->tgtNb = tmpLen;
if (tmpLen == 0) {
NEARDAL_TRACEF(
tgtProp->parent);
}
g_strfreev(tgtArray);
-
+
errCode = NEARDAL_SUCCESS;
goto exit;
}
-
+
/* Extract the targets arrays List from the GValue */
errCode = NEARDAL_ERROR_NO_ADAPTER;
tmpLen = 0;
while (tmpLen < adpProp->tgtNb) {
/* Getting last target (targets list not updated with
* targets lost */
-
- tgtName = g_strdup(tgtArray[tmpLen++]);
-
+ tgtName = g_strdup(tgtArray[tmpLen++]);
+
/* TODO : for Neard Workaround, emulate 'TargetFound'
* signals */
errCode = neardal_mgr_prv_get_target(adpProp,
NEARDAL_TRACE_LOG("Reading:\n%s\n", g_variant_print(tmp, TRUE));
tmpOut = g_variant_lookup_value(tmp, "Targets", G_VARIANT_TYPE_ARRAY);
if (tmpOut != NULL) {
- tgtArray = g_variant_dup_objv (tmpOut, &len);
+ tgtArray = g_variant_dup_objv(tmpOut, &len);
adpProp->tgtNb = len;
if (len == 0) {
g_strfreev(tgtArray);
tmpOut = g_variant_lookup_value(tmp, "Polling", G_VARIANT_TYPE_BOOLEAN);
if (tmpOut != NULL)
- adpProp->polling = g_variant_get_boolean (tmpOut);
+ adpProp->polling = g_variant_get_boolean(tmpOut);
tmpOut = g_variant_lookup_value(tmp, "Powered", G_VARIANT_TYPE_BOOLEAN);
if (tmpOut != NULL)
- adpProp->powered = g_variant_get_boolean (tmpOut);
+ adpProp->powered = g_variant_get_boolean(tmpOut);
tmpOut = g_variant_lookup_value(tmp, "Protocols",
G_VARIANT_TYPE_ARRAY);
if (tmpOut != NULL) {
- adpProp->protocols = g_variant_dup_strv (tmpOut, &len);
+ adpProp->protocols = g_variant_dup_strv(tmpOut, &len);
adpProp->lenProtocols = len;
if (adpProp->lenProtocols == 0) {
g_strfreev(adpProp->protocols);
adpProp->protocols = NULL;
}
}
-
+
exit:
return errCode;
}
NEARDAL_TRACEF("Register Neard-Adapter Signal ");
NEARDAL_TRACE("'PropertyChanged'\n");
g_signal_connect(adpProp->proxy, NEARD_ADP_SIG_PROPCHANGED,
- G_CALLBACK (neardal_adp_prv_cb_property_changed),
+ G_CALLBACK(neardal_adp_prv_cb_property_changed),
NULL);
/* Register 'TargetFound', 'TargetLost' */
NEARDAL_TRACEF("Register Neard-Adapter Signal ");
NEARDAL_TRACE("'TargetFound'\n");
g_signal_connect(adpProp->proxy, NEARD_ADP_SIG_TGT_FOUND,
- G_CALLBACK (neardal_adp_prv_cb_target_found),
+ G_CALLBACK(neardal_adp_prv_cb_target_found),
adpProp);
NEARDAL_TRACEF("Register Neard-Adapter Signal ");
NEARDAL_TRACE("'TargetLost'\n");
g_signal_connect(adpProp->proxy, NEARD_ADP_SIG_TGT_LOST,
- G_CALLBACK (neardal_adp_prv_cb_target_lost),
+ G_CALLBACK(neardal_adp_prv_cb_target_lost),
adpProp);
return errCode;
(*adpProp)->proxy = NULL;
}
g_free((*adpProp)->name);
-// TODO remove if ((*adpProp)->tgtArray != NULL)
-// g_strfreev((*adpProp)->tgtArray);
if ((*adpProp)->protocols != NULL)
g_strfreev((*adpProp)->protocols);
g_free((*adpProp));
}
} else
err = NEARDAL_ERROR_NO_ADAPTER;
-
+
if (len != NULL)
*len = adpNb;
*array = adps;
adpProp->name = g_strdup(adapterName);
adpProp->parent = &neardalMgr;
-
+
adpList = &neardalMgr.prop.adpList;
*adpList = g_list_prepend(*adpList, (gpointer) adpProp);
errCode = neardal_adp_prv_init(adpProp);
*****************************************************************************/
errorCode_t neardal_adp_publish(AdpProp *adpProp, RcdProp *rcd)
{
- GVariantBuilder *builder= NULL;
+ GVariantBuilder *builder = NULL;
GVariant *in;
errorCode_t err;
GError *gerror = NULL;
-
+
g_assert(adpProp != NULL);
- builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY);
+ builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
if (builder == NULL)
return NEARDAL_ERROR_NO_MEMORY;
if (err != NEARDAL_SUCCESS)
goto exit;
- in = g_variant_builder_end (builder);
+ in = g_variant_builder_end(builder);
NEARDAL_TRACE_LOG("Sending:\n%s\n", g_variant_print(in, TRUE));
org_neard_adp__call_publish_sync(adpProp->proxy, in, NULL, &gerror);
g_variant_unref(in);
if (builder != NULL)
g_variant_builder_unref(builder);
-
+
return err;
}
* neardal_mgr_prv_cb_property_changed: Callback called when a NFC Manager
* Property is changed
*****************************************************************************/
-static void neardal_mgr_prv_cb_property_changed( orgNeardMgr *proxy,
- const gchar *arg_unnamed_arg0,
- GVariant *arg_unnamed_arg1,
- void *user_data)
+static void neardal_mgr_prv_cb_property_changed(orgNeardMgr *proxy,
+ const gchar *arg_unnamed_arg0,
+ GVariant *arg_unnamed_arg1,
+ void *user_data)
{
NEARDAL_TRACEIN();
neardalMgr.cb_adp_removed_ud);
neardal_adp_remove(((AdpProp *)node->data));
-
+
NEARDAL_TRACEF("NEARDAL LIB adapterList contains %d elements\n",
g_list_length(neardalMgr.prop.adpList));
}
&neardalMgr.gerror)) {
NEARDAL_TRACE_LOG("Reading:\n%s\n", g_variant_print(tmp, TRUE));
NEARDAL_TRACEF("Parsing neard adapters...\n");
-
+
tmpOut = g_variant_lookup_value(tmp, "Adapters",
G_VARIANT_TYPE_ARRAY);
if (tmpOut != NULL) {
- *adpArray = g_variant_dup_objv (tmpOut, len);
+ *adpArray = g_variant_dup_objv(tmpOut, len);
errCode = NEARDAL_SUCCESS;
} else
errCode = NEARDAL_ERROR_NO_ADAPTER;
g_object_unref(neardalMgr.proxy);
neardalMgr.proxy = NULL;
}
-
+
neardalMgr.proxy = org_neard_mgr__proxy_new_sync(neardalMgr.conn,
G_DBUS_OBJECT_MANAGER_CLIENT_FLAGS_NONE,
NEARD_DBUS_SERVICE,
NEARDAL_TRACEF("Register Neard-Manager Signal 'PropertyChanged'\n");
g_signal_connect(neardalMgr.proxy,
NEARD_MGR_SIG_PROPCHANGED,
- G_CALLBACK (neardal_mgr_prv_cb_property_changed),
+ G_CALLBACK(neardal_mgr_prv_cb_property_changed),
NULL);
/* Register for manager signals 'AdapterAdded(ObjectPath)' */
NEARDAL_TRACEF("Register Neard-Manager Signal 'AdapterAdded'\n");
g_signal_connect(neardalMgr.proxy,
NEARD_MGR_SIG_ADP_ADDED,
- G_CALLBACK (neardal_mgr_prv_cb_adapter_added),
+ G_CALLBACK(neardal_mgr_prv_cb_adapter_added),
NULL);
/* Register for manager signals 'AdapterRemoved(ObjectPath)' */
NEARDAL_TRACEF("Register Neard-Manager Signal 'AdapterRemoved'\n");
g_signal_connect(neardalMgr.proxy,
NEARD_MGR_SIG_ADP_RM,
- G_CALLBACK (neardal_mgr_prv_cb_adapter_removed),
+ G_CALLBACK(neardal_mgr_prv_cb_adapter_removed),
NULL);
return errCode;
return errCode;
}
NEARDAL_TRACE_LOG("Reading:\n%s\n", g_variant_print(tmp, TRUE));
-
+
tmpOut = g_variant_lookup_value(tmp, "Type", G_VARIANT_TYPE_STRING);
if (tmpOut != NULL)
rcd->type = g_variant_dup_string(tmpOut, NULL);
if (tmpOut != NULL)
rcd->representation = g_variant_dup_string(tmpOut,
NULL);
-
+
tmpOut = g_variant_lookup_value(tmp, "Encoding", G_VARIANT_TYPE_STRING);
if (tmpOut != NULL)
rcd->encoding = g_variant_dup_string(tmpOut, NULL);
- tmpOut = g_variant_lookup_value(tmp, "HandOver", G_VARIANT_TYPE_BOOLEAN);
- if (tmpOut != NULL)
- rcd->handOver = g_variant_get_boolean (tmpOut);
-
tmpOut = g_variant_lookup_value(tmp, "Language", G_VARIANT_TYPE_STRING);
if (tmpOut != NULL)
rcd->language = g_variant_dup_string(tmpOut, NULL);
neardal_tools_prv_free_gerror(&neardalMgr);
return NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY;
}
-
+
return neardal_rcd_prv_read_properties(rcd);
}
neardal_tools_add_dict_entry(builder, "URI", rcd->uri,
(int) G_TYPE_STRING);
neardal_tools_add_dict_entry(builder, "Size",
- (void*) rcd->uriObjSize,
+ (void *) rcd->uriObjSize,
(int) G_TYPE_UINT);
}
if (rcd->action != NULL)
neardal_tools_add_dict_entry(builder, "Action", rcd->action,
(int) G_TYPE_STRING);
-
+
return errCode;
}
errorCode_t errCode = NEARDAL_ERROR_NO_MEMORY;
RcdProp *rcd = NULL;
TgtProp *tgtProp = parent;
-
+
g_assert(rcdName != NULL);
g_assert(parent != NULL);
goto exit;
rcd->parent = tgtProp;
-
+
tgtProp->rcdList = g_list_prepend(tgtProp->rcdList, (gpointer) rcd);
errCode = neardal_rcd_prv_init(rcd);
if (errCode != NEARDAL_SUCCESS)
NEARDAL_TRACEF("NEARDAL LIB recordList contains %d elements\n",
g_list_length(tgtProp->rcdList));
-
+
errCode = NEARDAL_SUCCESS;
exit:
void neardal_rcd_remove(RcdProp *rcd)
{
TgtProp *tgtProp;
-
+
NEARDAL_TRACEIN();
g_assert(rcd != NULL);
gboolean notified; /* Already notified to client? */
gchar *encoding;
- gboolean handOver;
gchar *language;
gchar *action;
gchar *type;
NEARDAL_TRACE_LOG("Reading:\n%s\n", g_variant_print(tmp, TRUE));
tmpOut = g_variant_lookup_value(tmp, "Records", G_VARIANT_TYPE_ARRAY);
if (tmpOut != NULL) {
- rcdArray = g_variant_dup_objv (tmpOut, &len);
+ rcdArray = g_variant_dup_objv(tmpOut, &len);
tgtProp->rcdLen = len;
if (len == 0) {
g_strfreev(rcdArray);
tmpOut = g_variant_lookup_value(tmp, "TagType", G_VARIANT_TYPE_ARRAY);
if (tmpOut != NULL) {
- tgtProp->tagType = g_variant_dup_strv (tmpOut, &len);
+ tgtProp->tagType = g_variant_dup_strv(tmpOut, &len);
tgtProp->tagTypeLen = len;
if (len == 0) {
g_strfreev(tgtProp->tagType);
if (tmpOut != NULL)
tgtProp->type = g_variant_dup_string(tmpOut, NULL);
- tmpOut = g_variant_lookup_value(tmp, "ReadOnly", G_VARIANT_TYPE_BOOLEAN);
+ tmpOut = g_variant_lookup_value(tmp, "ReadOnly",
+ G_VARIANT_TYPE_BOOLEAN);
if (tmpOut != NULL)
- tgtProp->readOnly = g_variant_get_boolean (tmpOut);
+ tgtProp->readOnly = g_variant_get_boolean(tmpOut);
exit:
return errCode;
NEARDAL_TRACEF("Register Neard-Target Signal 'PropertyChanged'\n");
g_signal_connect(tgtProp->proxy, NEARD_TGT_SIG_PROPCHANGED,
- G_CALLBACK (neardal_tgt_prv_cb_property_changed),
+ G_CALLBACK(neardal_tgt_prv_cb_property_changed),
tgtProp);
return errCode;
{
RcdProp *rcdProp;
gsize len;
-
+
g_assert(tgtProp != NULL);
-
-
+
if (tgtProp->notified == FALSE && neardalMgr.cb_tgt_found != NULL) {
(neardalMgr.cb_tgt_found)(tgtProp->name,
neardalMgr.cb_tgt_found_ud);
rcdProp = g_list_nth_data(tgtProp->rcdList, len++);
if (rcdProp->notified == FALSE) {
(neardalMgr.cb_rcd_found)(rcdProp->name,
- neardalMgr.cb_rcd_found_ud);
+ neardalMgr.cb_rcd_found_ud);
rcdProp->notified = TRUE;
}
}
NEARDAL_TRACEF("NEARDAL LIB targetList contains %d elements\n",
g_list_length(adpProp->tgtList));
-
+
return errCode;
error:
adpProp = tgtProp->parent;
adpProp->tgtList = g_list_remove(adpProp->tgtList,
(gconstpointer) tgtProp);
-
+
neardal_tgt_prv_free(&tgtProp);
}
#include "neard_target_proxy.h"
#include "neardal_record.h"
-// #include <glib-2.0/glib/gtypes.h>
#ifdef __cplusplus
extern "C" {
gchar *name; /* DBus interface name (as identifier) */
void *parent; /* parent (adapter ) */
gboolean notified; /* Already notified to client? */
-
+
gchar *type;
-
+
gsize rcdLen;
GList *rcdList; /* target's records paths */
-
+
gchar **tagType; /* array of tag types */
gsize tagTypeLen;
gboolean readOnly; /* Read-Only flag */
GVariant *tmp;
g_assert(builder != NULL);
- switch(gVariantType) {
+ switch (gVariantType) {
case G_TYPE_STRING:
tmp = g_variant_new_string(value);
break;
break;
}
g_variant_builder_add(builder, "{sv}", key, tmp);
-
+
return NEARDAL_SUCCESS;
}
NCLError err = NCLERR_NOERROR;
char **argv = NULL;
int *argc;
- char *argEnd;
+ char *argEnd;
char *argStart;
- bool inQuotes;
+ bool inQuotes;
gssize argSize;
/* Test input parameters */
argStart = argEnd = cmdLine;
while ((*argc) < NB_MAX_PARAMETERS && *argEnd != '\0') {
- while(*argEnd != ' ' && *argEnd != '"' && *argEnd != '\0') {
+ while (*argEnd != ' ' && *argEnd != '"' && *argEnd != '\0')
argEnd++;
- }
if (*argEnd == '"') {
if (inQuotes == false)
argStart = argEnd + 1;
} else
argEnd++;
}
-
+
return err;
}
NCLError ncl_cmd_list(int argc, char *argv[])
{
int index;
- char funcName[50];
int nbCmd = ncl_cmd_get_nbCmd();
(void) argc; /* remove warning */
ncl_cmd_print(stdout, "\nCommand line list\n");
for (index = 0; index < nbCmd; index++) {
- if (0) { /* TODO: Remove */
- snprintf(funcName, sizeof(funcName), "%40s",
- itFunc[index].cmdName);
- ncl_cmd_print(stdout, "%s :\t%s\n", funcName,
- itFunc[index].helpStr);
- } else {
ncl_cmd_print(stdout, "%s :\n\t%s\n\n", itFunc[index].cmdName,
itFunc[index].helpStr);
}
- }
return 0;
}
NCL_CMD_PRINT("Record\n");
NCL_CMD_PRINT(".. Name:\t\t%s\n" , record.name);
NCL_CMD_PRINT(".. Encoding:\t\t%s\n" , record.encoding);
- NCL_CMD_PRINT(".. HandOver:\t\t%s\n" ,
- record.handOver ? "TRUE" : "FALSE");
NCL_CMD_PRINT(".. Language:\t\t%s\n" , record.language);
NCL_CMD_PRINT(".. Action:\t\t%s\n" , record.action);
-
NCL_CMD_PRINT(".. Type:\t\t%s\n" , record.type);
NCL_CMD_PRINT(".. Representation:\t%s\n", record.representation);
NCL_CMD_PRINT(".. URI:\t\t\t%s\n" , record.uri);
neardal_adapter adapter;
(void) user_data; /* Remove warning */
-
+
NCL_CMD_PRINTF("NFC Adapter added '%s'\n", adpName);
ec = neardal_get_adapter_properties(adpName, &adapter);
if (ec == NEARDAL_SUCCESS)
static void ncl_cmd_cb_adapter_removed(const char *adpName, void * user_data)
{
(void) user_data; /* remove warning */
-
+
NCL_CMD_PRINTF("NFC Adapter removed '%s'\n", adpName);
}
int polling;
(void) user_data; /* remove warning */
-
+
if (!strcmp(propName, "Polling")) {
polling = (int)value;
NCL_CMD_PRINTF("Polling=%d\n", polling);
neardal_record record;
(void) user_data; /* remove warning */
-
+
NCL_CMD_PRINTF("Target Record found (%s)\n", rcdName);
ec = neardal_get_record_properties(rcdName, &record);
if (ec == NEARDAL_SUCCESS) {
(void) argc; /* Remove warning */
(void) argv; /* Remove warning */
-
+
/* Install Neardal Callback*/
if (sNclCmdCtx.cb_initialized == false)
ncl_cmd_install_callback();
ncl_cmd_print(stdout, "e.g. < publish --type=SmartPoster \
--uri=http://www.nfc-forum.com > --adp /org/neard/nfc0 >\n");
}
-
+
if (nclErr != NCLERR_NOERROR)
goto exit;
/* Release NEARDAL object */
neardal_destroy();
-
+
/* Quit Main Loop */
if (nclCtxP)
g_main_loop_quit(nclCtxP->main_loop);