Hi Daniel,

some suggestions (see attachment):

 - order the command line arguments like 'cp'

 - the channel is optional and preset to -1 (automatic)

 - the device name is not a good filename on the mobile, better use the
basename (I use strrchr here)


regards,
Christian

Daniel Rindt schrieb:
> please see in the attachment what i had done. The problem i encounter is that 
> the phone try to pair the devices. Please review my modified c_example.c and 
> get me hint.
>   

/*  gcc -lobexftp -lmulticobex -lbfb -lopenobex -lbluetooth -lusb -o c_example_obex_put c_example_obex_put.c */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <obexftp/client.h> /*!!!*/

int main(int argc, char *argv[])
{
        char *device;
        int channel = -1;
        char *filepath, *filename;
        obexftp_client_t *cli = NULL; /*!!!*/
        int ret;

        /* Get device, channel and optional filename */
        if (argc < 3) {
                fprintf(stderr, "Usage: %s <filename> <bt_addr> [<channel>]\n", argv[0]);
                exit(1);
        }
	filepath = argv[1];
        device = argv[2];
        if (argc > 3) {
		channel = atoi(argv[3]);
        }
	filename = strrchr(filepath, '/');
	if (!filename)
		filename = filepath;
	else
		filename++;

        /* Open connection */
        cli = obexftp_open(OBEX_TRANS_BLUETOOTH, NULL, NULL, NULL); /*!!!*/
        if (cli == NULL) {
                fprintf(stderr, "Error opening obexftp-client\n");
                exit(1);
        }

        /* Connect to client */
        ret = obexftp_connect_push(cli, device, channel); /*!!!*/
        if (ret < 0) {
                fprintf(stderr, "Error connecting via push to obexftp-client\n");
                obexftp_close(cli);
                cli = NULL;
                exit(1);
        }

        /* send file */
        ret = obexftp_put_file(cli, filepath, filename); /*!!!*/

        if (ret < 0) {
				fprintf(stderr, "Error putting file\n");
        } else {
                printf("%s\n", cli->buf_data); /*!!!*/
        }

        /* Disconnect */
        ret = obexftp_disconnect(cli); /*!!!*/
        if (ret < 0) {
                fprintf(stderr, "Error disconnecting the client\n");
        }

        /* Close */
        obexftp_close(cli); /*!!!*/
        cli = NULL;

        exit(0);
} 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Openobex-users mailing list
[email protected]
http://lists.sourceforge.net/lists/listinfo/openobex-users

Reply via email to