Exemple #1
0
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;
}
Exemple #2
0
static void *opp_connect(struct obex_session *os, int *err)
{
	manager_register_session(os);

	if (err)
		*err = 0;

	return manager_register_transfer(os);
}
Exemple #3
0
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;
}
Exemple #4
0
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;
}
Exemple #5
0
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;
}
Exemple #6
0
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;
}
Exemple #7
0
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;
}