Updating 'write()' method, updating .gitignore
authorFrederic PAUT <fpaut@fpautVBubuntu.(none)>
Tue, 19 Jun 2012 13:04:55 +0000 (15:04 +0200)
committerFrederic PAUT <fpaut@fpautVBubuntu.(none)>
Tue, 19 Jun 2012 13:04:55 +0000 (15:04 +0200)
12 files changed:
.gitignore
lib/neardal.c
lib/neardal.h
lib/neardal_adapter.c
lib/neardal_adapter.h
lib/neardal_manager.c
lib/neardal_record.c
lib/neardal_tag.c
lib/neardal_tag.h
lib/neardal_tools.c
lib/neardal_tools.h
ncl/ncl_cmd.c

index e194b0b..ef8ce9b 100644 (file)
@@ -10,14 +10,14 @@ Makefile.in
 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
index 9c22f5d..f81eaae 100644 (file)
@@ -58,12 +58,12 @@ void neardal_prv_construct(errorCode_t *ec)
 
                        /* 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;
        }
 
@@ -83,7 +83,7 @@ void neardal_destroy(void)
 {
        NEARDAL_TRACEIN();
        if (neardalMgr.proxy != NULL) {
-               neardal_tools_prv_free_gerror(&neardalMgr);
+               neardal_tools_prv_free_gerror(&neardalMgr.gerror);
                neardal_mgr_destroy();
        }
 }
@@ -231,7 +231,7 @@ errorCode_t neardal_start_poll(char *adpName)
                                        , 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;
@@ -271,7 +271,7 @@ errorCode_t neardal_stop_poll(char *adpName)
                                        , 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);
                }
        }
 
@@ -280,12 +280,13 @@ exit:
 }
 
 /******************************************************************************
- * 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;
 
 
@@ -298,6 +299,10 @@ errorCode_t neardal_publish(neardal_record *record)
        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;
@@ -308,7 +313,7 @@ errorCode_t neardal_publish(neardal_record *record)
        rcd.uriObjSize          = record->uriObjSize;
        rcd.mime                = (gchar *) record->mime;
 
-        neardal_adp_publish(adpProp, &rcd);
+        neardal_tag_write(tagProp, &rcd);
 exit:
        return err;
 }
index 00345aa..6d1acfd 100644 (file)
@@ -35,11 +35,6 @@ extern "C" {
 #endif /* __cplusplus */
 
 
-/*! @typedef neardal_t
- *  @brief NEARDAL Context
- */
-typedef struct neardalCtx      *neardal_t;
-
 /*!
  * @addtogroup NEARDAL_COMMON_TYPES Types
  * @ingroup NEARDAL_COMMON
@@ -233,8 +228,8 @@ errorCode_t neardal_get_records(char *tagName, char ***array, int *len);
  **/
 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)
@@ -329,14 +324,13 @@ errorCode_t neardal_set_cb_tag_lost(tag_cb cb_tag_lost,
 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,
index 2506f45..b1a1535 100644 (file)
@@ -330,7 +330,7 @@ static errorCode_t neardal_adp_prv_init(AdpProp *adpProp)
                        "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;
        }
 
@@ -498,43 +498,3 @@ errorCode_t neardal_adp_remove(AdpProp *adpProp)
        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;
-}
index d2b83d6..b7e9890 100644 (file)
@@ -67,13 +67,6 @@ errorCode_t neardal_adp_add(gchar *adapterName);
  *****************************************************************************/
 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 */
index 3115169..53d11e4 100644 (file)
@@ -137,7 +137,7 @@ static errorCode_t neardal_mgr_prv_get_all_adapters(gchar ***adpArray,
                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;
@@ -301,7 +301,7 @@ errorCode_t neardal_mgr_create(void)
                        "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;
        }
 
index 446a4b0..5a5d818 100644 (file)
@@ -111,7 +111,7 @@ static errorCode_t neardal_rcd_prv_init(RcdProp *rcd)
                        "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;
        }
 
index fd03bf7..71fd4e9 100644 (file)
@@ -161,7 +161,7 @@ static errorCode_t neardal_tag_prv_init(TagProp *tagProp)
                        "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;
        }
 
@@ -274,6 +274,45 @@ errorCode_t neardal_get_tags(char *adpName, char ***array, int *len)
 }
 
 /******************************************************************************
+ * 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
  *****************************************************************************/
index 117ba1b..60152f8 100644 (file)
@@ -66,6 +66,13 @@ errorCode_t neardal_tag_add(gchar *tagName, void * parent);
  *****************************************************************************/
 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
 }
index 92974dd..7291493 100644 (file)
 /******************************************************************************
  * 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;
 }
 
 /******************************************************************************
index 0890daf..d8f3fa5 100644 (file)
@@ -29,7 +29,7 @@ extern "C" {
 /******************************************************************************
  * 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.
index b19071c..48fb3c0 100644 (file)
@@ -597,10 +597,10 @@ static NCLError ncl_cmd_neardal_get_record_properties(int argc, char *argv[])
  *****************************************************************************/
 
 /******************************************************************************
- * 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;
@@ -611,8 +611,8 @@ static GOptionEntry options[] = {
                { "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" },
@@ -638,21 +638,22 @@ static GOptionEntry options[] = {
                { 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");
        }
 
@@ -663,7 +664,7 @@ static GOptionEntry options[] = {
        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,
@@ -688,7 +689,7 @@ exit:
        return nclErr;
 }
 /******************************************************************************
- * ncl_cmd_neardal_publish : END
+ * ncl_cmd_neardal_write : END
  *****************************************************************************/
 
 
@@ -915,8 +916,8 @@ static NCLCmdInterpretor itFunc[] = {
        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",