static void *synce_connect(struct obex_session *os, int *err) { DBusConnection *conn; struct synce_context *context; manager_register_session(os); conn = obex_dbus_get_connection(); if (!conn) goto failed; context = g_new0(struct synce_context, 1); context->dbus_conn = conn; context->lasterr = -EAGAIN; context->id = obex_get_id(os); if (err) *err = 0; return context; failed: if (err) *err = -EPERM; return NULL; }
static void *opp_connect(struct obex_session *os, int *err) { manager_register_session(os); if (err) *err = 0; return manager_register_transfer(os); }
static void *pbap_connect(struct obex_session *os, int *err) { struct pbap_session *pbap; manager_register_session(os); pbap = g_new0(struct pbap_session, 1); pbap->folder = g_strdup("/"); pbap->find_handle = PHONEBOOK_INVALID_HANDLE; if (err) *err = 0; return pbap; }
static void *mns_connect(struct obex_session *os, int *err) { struct mns_session *mns; char *address; manager_register_session(os); mns = g_new0(struct mns_session, 1); if (obex_getpeername(os, &address) == 0) { mns->remote_address = g_strdup(address); g_free(address); } DBG("MNS connected to %s", mns->remote_address); if (err) *err = 0; return mns; }
static void *mas_connect(struct obex_session *os, int *err) { struct mas_session *mas; DBG(""); mas = g_new0(struct mas_session, 1); *err = messages_connect(&mas->backend_data); if (*err < 0) goto failed; manager_register_session(os); return mas; failed: g_free(mas); return NULL; }
void *ftp_connect(struct obex_session *os, int *err) { struct ftp_session *ftp; const char *root_folder; DBG(""); root_folder = obex_get_root_folder(os); manager_register_session(os); ftp = g_new0(struct ftp_session, 1); set_folder(ftp, root_folder); ftp->os = os; if (err) *err = 0; DBG("session %p created", ftp); return ftp; }
static void *irmc_connect(struct obex_session *os, int *err) { struct irmc_session *irmc; struct apparam_field *param; int ret; DBG(""); manager_register_session(os); irmc = g_new0(struct irmc_session, 1); irmc->os = os; /* FIXME: * Ideally get capabilities info here and use that to define * IrMC DID and SN etc parameters. * For now lets used hostname and some 'random' value */ gethostname(irmc->did, DID_LEN); strncpy(irmc->sn, "12345", DID_LEN); strncpy(irmc->manu, "obex", DID_LEN); strncpy(irmc->model, "mymodel", DID_LEN); /* We need to know the number of contact/cal/nt entries * somewhere so why not do it now. */ param = g_new0(struct apparam_field, 1); param->maxlistcount = 0; /* to count the number of vcards... */ param->filter = 0x200085; /* UID TEL N VERSION */ irmc->params = param; irmc->request = phonebook_pull("telecom/pb.vcf", irmc->params, phonebook_size_result, irmc, err); ret = phonebook_pull_read(irmc->request); if (err) *err = ret; return irmc; }