lib/Makefile
lib/Makefile.in
lib/libneardal.la
-lib/neard_adapter_proxy.h
-lib/neard_manager_proxy.h
-lib/neard_record_proxy.h
-lib/neard_target_proxy.h
lib/neard_adapter_proxy.c
+lib/neard_adapter_proxy.h
lib/neard_manager_proxy.c
+lib/neard_manager_proxy.h
lib/neard_record_proxy.c
-lib/neard_target_proxy.c
+lib/neard_record_proxy.h
+lib/neard_tag_proxy.c
+lib/neard_tag_proxy.h
neardal.pc
libtool
ltmain.sh
/* No Neard daemon, destroying neardal object... */
if (err == NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY)
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
}
} else {
NEARDAL_TRACE_ERR("Unable to connect to dbus: %s\n",
neardalMgr.gerror->message);
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
err = NEARDAL_ERROR_DBUS;
}
{
NEARDAL_TRACEIN();
if (neardalMgr.proxy != NULL) {
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
neardal_mgr_destroy();
}
}
, neardalMgr.gerror->code
, neardalMgr.gerror->message);
err = NEARDAL_ERROR_DBUS_INVOKE_METHOD_ERROR;
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
}
} else
err = NEARDAL_ERROR_POLLING_ALREADY_ACTIVE;
, neardalMgr.gerror->code
, neardalMgr.gerror->message);
err = NEARDAL_ERROR_DBUS_INVOKE_METHOD_ERROR;
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
}
}
}
/******************************************************************************
- * neardal_publish: Write NDEF record to an NFC tag
+ * neardal_write: Write NDEF record to an NFC tag
*****************************************************************************/
-errorCode_t neardal_publish(neardal_record *record)
+errorCode_t neardal_write(neardal_record *record)
{
errorCode_t err = NEARDAL_SUCCESS;
AdpProp *adpProp;
+ TagProp *tagProp;
RcdProp rcd;
err = neardal_mgr_prv_get_adapter((gchar *) record->name, &adpProp);
if (err != NEARDAL_SUCCESS)
goto exit;
+ err = neardal_mgr_prv_get_tag(adpProp, (gchar *) record->name, &tagProp);
+ if (err != NEARDAL_SUCCESS)
+ goto exit;
+
rcd.name = (gchar *) record->name;
rcd.action = (gchar *) record->action;
rcd.encoding = (gchar *) record->encoding;
rcd.uriObjSize = record->uriObjSize;
rcd.mime = (gchar *) record->mime;
- neardal_adp_publish(adpProp, &rcd);
+ neardal_tag_write(tagProp, &rcd);
exit:
return err;
}
#endif /* __cplusplus */
-/*! @typedef neardal_t
- * @brief NEARDAL Context
- */
-typedef struct neardalCtx *neardal_t;
-
/*!
* @addtogroup NEARDAL_COMMON_TYPES Types
* @ingroup NEARDAL_COMMON
**/
errorCode_t neardal_free_array(char ***array);
-/*! \fn errorCode_t neardal_get_adapter_properties(neardal_t neardalMgr,
- * const char* adpName, neardal_adapter *adapter)
+/*! \fn errorCode_t neardal_get_adapter_properties(const char* adpName,
+ * neardal_adapter *adapter)
* @brief Get properties of a specific NEARDAL adapter
*
* @param adpName DBus interface adapter name (as identifier)
errorCode_t neardal_get_record_properties(const char *recordName,
neardal_record *record);
-/*! \fn errorCode_t neardal_publish(neardal_t neardalMgr,
- * neardal_record *record)
+/*! \fn errorCode_t neardal_write(neardal_record *record)
* @brief Write NDEF record to an NFC tag
*
* @param record Pointer on client record used to create NDEF record
* @return errorCode_t error code
**/
-errorCode_t neardal_publish(neardal_record *record);
+errorCode_t neardal_write(neardal_record *record);
/*! \fn errorCode_t neardal_set_cb_record_found( record_cb cb_rcd_found,
"Unable to create Neard Adapter Proxy (%d:%s)\n",
neardalMgr.gerror->code,
neardalMgr.gerror->message);
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
return NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY;
}
return NEARDAL_SUCCESS;
}
-/******************************************************************************
- * neardal_adp_publish: Creates and publish NDEF record to be written to
- * an NFC tag
- *****************************************************************************/
-errorCode_t neardal_adp_publish(AdpProp *adpProp, RcdProp *rcd)
-{
- GVariantBuilder *builder = NULL;
- GVariant *in;
- errorCode_t err;
- GError *gerror = NULL;
-
- g_assert(adpProp != NULL);
-
- builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
- if (builder == NULL)
- return NEARDAL_ERROR_NO_MEMORY;
-
- g_variant_builder_init(builder, G_VARIANT_TYPE_ARRAY);
- err = neardal_rcd_prv_format(builder, rcd);
- if (err != NEARDAL_SUCCESS)
- goto exit;
-
- in = g_variant_builder_end(builder);
- NEARDAL_TRACE_LOG("Sending:\n%s\n", g_variant_print(in, TRUE));
- org_neard_tag__call_write_sync(adpProp->proxy, in, NULL, &gerror);
-
-exit:
- if (gerror != NULL) {
- NEARDAL_TRACE_ERR("Unable to publish tag record (%d:%s)\n",
- gerror->code, gerror->message);
- g_error_free(gerror);
- err = NEARDAL_ERROR_DBUS;
- }
- if (in != NULL)
- g_variant_unref(in);
- if (builder != NULL)
- g_variant_builder_unref(builder);
-
- return err;
-}
*****************************************************************************/
errorCode_t neardal_adp_remove(AdpProp *adpProp);
-/******************************************************************************
- * neardal_adp_publish: Creates and publish NDEF record to be written to
- * an NFC tag
- *****************************************************************************/
-errorCode_t neardal_adp_publish(AdpProp *adpProp, RcdProp *rcd);
-
-
#ifdef __cplusplus
}
#endif /* __cplusplus */
errCode = NEARDAL_ERROR_DBUS_CANNOT_INVOKE_METHOD;
NEARDAL_TRACE_ERR("%d:%s\n", neardalMgr.gerror->code,
neardalMgr.gerror->message);
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
}
return errCode;
"Unable to create Neard Manager Proxy (%d:%s)\n",
neardalMgr.gerror->code,
neardalMgr.gerror->message);
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
return NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY;
}
"Unable to create Neard Record Proxy (%d:%s)\n",
neardalMgr.gerror->code,
neardalMgr.gerror->message);
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
return NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY;
}
"Unable to create Neard Tag Proxy (%d:%s)\n",
neardalMgr.gerror->code,
neardalMgr.gerror->message);
- neardal_tools_prv_free_gerror(&neardalMgr);
+ neardal_tools_prv_free_gerror(&neardalMgr.gerror);
return NEARDAL_ERROR_DBUS_CANNOT_CREATE_PROXY;
}
}
/******************************************************************************
+ * neardal_tag_write: Creates and write NDEF record to be written to
+ * an NFC tag
+ *****************************************************************************/
+errorCode_t neardal_tag_write(TagProp *tagProp, RcdProp *rcd)
+{
+ GVariantBuilder *builder = NULL;
+ GVariant *in;
+ errorCode_t err;
+ GError *gerror = NULL;
+
+ g_assert(tagProp != NULL);
+
+ builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
+ if (builder == NULL)
+ return NEARDAL_ERROR_NO_MEMORY;
+
+ g_variant_builder_init(builder, G_VARIANT_TYPE_ARRAY);
+ err = neardal_rcd_prv_format(builder, rcd);
+ if (err != NEARDAL_SUCCESS)
+ goto exit;
+
+ in = g_variant_builder_end(builder);
+ NEARDAL_TRACE_LOG("Sending:\n%s\n", g_variant_print(in, TRUE));
+ org_neard_tag__call_write_sync(tagProp->proxy, in, NULL, &gerror);
+
+exit:
+ if (gerror != NULL) {
+ NEARDAL_TRACE_ERR("Unable to write tag record (%d:%s)\n",
+ gerror->code, gerror->message);
+ g_error_free(gerror);
+ err = NEARDAL_ERROR_DBUS;
+ }
+ if (builder != NULL)
+ g_variant_builder_unref(builder);
+
+ return err;
+}
+
+/******************************************************************************
* neardal_tag_add: add new NFC tag, initialize DBus Proxy connection,
* register tag signal
*****************************************************************************/
*****************************************************************************/
void neardal_tag_remove(TagProp *tagProp);
+/******************************************************************************
+ * neardal_tag_write: Creates and write NDEF record to be written to
+ * an NFC tag
+ *****************************************************************************/
+errorCode_t neardal_tag_write(TagProp *tagProp, RcdProp *rcd);
+
+
#ifdef __cplusplus
}
/******************************************************************************
* neardal_tools_prv_free_gerror: freeing gerror in neardal context
*****************************************************************************/
-void neardal_tools_prv_free_gerror(neardal_t neardalMgr)
+void neardal_tools_prv_free_gerror(GError **gerror)
{
- g_assert(neardalMgr != NULL);
+ g_assert(gerror != NULL);
- if (neardalMgr->gerror != NULL)
- g_error_free(neardalMgr->gerror);
- neardalMgr->gerror = NULL;
+ if (*gerror != NULL)
+ g_error_free(*gerror);
+ *gerror = NULL;
}
/******************************************************************************
/******************************************************************************
* neardal_tools_prv_free_gerror: freeing gerror in neardal context
*****************************************************************************/
-void neardal_tools_prv_free_gerror(neardal_t neardalMgr);
+void neardal_tools_prv_free_gerror(GError **gerror);
/******************************************************************************
* neardal_tools_prv_cmp_path: Compare dbus path.
*****************************************************************************/
/******************************************************************************
- * ncl_cmd_neardal_publish : BEGIN
+ * ncl_cmd_neardal_write : BEGIN
* write NDEF record to tag
*****************************************************************************/
-static NCLError ncl_cmd_neardal_publish(int argc, char *argv[])
+static NCLError ncl_cmd_neardal_write(int argc, char *argv[])
{
errorCode_t ec = NEARDAL_SUCCESS;
NCLError nclErr;
{ "act", 'c', 0, G_OPTION_ARG_STRING, &rcd.action
, "Action", "save"},
- { "adp", 'a', 0, G_OPTION_ARG_STRING, &rcd.name
- , "Adapter name", "/org/neard/nfc0"},
+ { "tag", 'a', 0, G_OPTION_ARG_STRING, &rcd.name
+ , "Tag name", "/org/neard/nfc0/tag0"},
{ "encoding", 'e', 0, G_OPTION_ARG_STRING, &rcd.encoding
, "Encoding", "UTF-8" },
{ NULL, 0, 0, 0, NULL, NULL, NULL} /* End of List */
};
- if (argc <= 1)
- return NCLERR_PARSING_PARAMETERS;
-
+ if (argc > 1) {
/* Parse options */
- memset(&rcd, 0, sizeof(neardal_record));
- nclErr = ncl_cmd_prv_parseOptions(&argc, &argv, options);
- if (nclErr == NCLERR_NOERROR_HELP_DISP) {
+ memset(&rcd, 0, sizeof(neardal_record));
+ nclErr = ncl_cmd_prv_parseOptions(&argc, &argv, options);
+ } else
+ nclErr = NCLERR_PARSING_PARAMETERS;
+
+ if (nclErr != NCLERR_NOERROR) {
ncl_cmd_print(stdout, "Sample (Type 'Text'):");
- ncl_cmd_print(stdout, "e.g. < publish --type Text --lang en-US \
+ ncl_cmd_print(stdout, "e.g. < write --type Text --lang en-US \
--encoding UTF-8 --rep \"Simple text\" --adp /org/neard/nfc0 >\n");
ncl_cmd_print(stdout, "Sample (Type 'URI'):");
- ncl_cmd_print(stdout, "e.g. < publish --type URI \
+ ncl_cmd_print(stdout, "e.g. < write --type URI \
--uri=http://www.nfc-forum.com --adp /org/neard/nfc0 >\n");
ncl_cmd_print(stdout, "Sample (Type 'SmartPoster'):");
- ncl_cmd_print(stdout, "e.g. < publish --type=SmartPoster \
+ ncl_cmd_print(stdout, "e.g. < write --type=SmartPoster \
--uri=http://www.nfc-forum.com > --adp /org/neard/nfc0 >\n");
}
if (sNclCmdCtx.cb_initialized == false)
ncl_cmd_install_callback();
- ec = neardal_publish(&rcd);
+ ec = neardal_write(&rcd);
exit:
NCL_CMD_PRINT("\nExit with error code %d:%s\n", ec,
return nclErr;
}
/******************************************************************************
- * ncl_cmd_neardal_publish : END
+ * ncl_cmd_neardal_write : END
*****************************************************************************/
ncl_cmd_list,
"List all available commands. 'cmd' --help -h /? for a specific help" },
- { "publish",
- ncl_cmd_neardal_publish,
+ { "write",
+ ncl_cmd_neardal_write,
"Creates a NDEF record from parametersto be written to an NFC tag"},
{ "quit",