Beispiel #1
0
static char* generate_share_request_body(Share *share)
{
	xmlChar *buf = NULL;
	xmlDocPtr doc;
	xmlNodePtr node , fnode , root;
	char size[16];
	char body[] = "<share-content></share-content>";
	doc = xmlParseMemory(body , strlen(body));
	root = xmlDocGetRootElement(doc);
	xmlNewProp(root , BAD_CAST "id" , BAD_CAST share->guid);
	node = xmlNewChild(root , NULL , BAD_CAST "caps" , NULL);
	xmlNewProp(node , BAD_CAST "modes" , BAD_CAST "block;relay;p2p;p2pV2;relayV2;p2pV3;scV2");
	xmlNewProp(node , BAD_CAST "max-size" , BAD_CAST "2097151");
	node = xmlNewChild(root , NULL , BAD_CAST "client" , NULL);
	xmlNewProp(node , BAD_CAST "outer-ip" , BAD_CAST "");
	xmlNewProp(node , BAD_CAST "inner-ip" , BAD_CAST "59.64.128.102:1429;");
	xmlNewProp(node , BAD_CAST "port" , BAD_CAST "443");
	node = xmlNewChild(root , NULL , BAD_CAST "fileinfo" , NULL);
	fnode = xmlNewChild(node , NULL , BAD_CAST "transmit" , NULL);
	xmlNewProp(fnode , BAD_CAST "type" , BAD_CAST "p2p");
	xmlNewProp(fnode , BAD_CAST "session-id" , BAD_CAST share->sessionid);
	fnode = xmlNewChild(node , NULL , BAD_CAST "file" , NULL);
	xmlNewProp(fnode , BAD_CAST "name" , BAD_CAST share->filename);
	memset(size, 0, sizeof(size));
	xmlNewProp(fnode , BAD_CAST "size" , BAD_CAST size);
	xmlNewProp(fnode , BAD_CAST "url" , BAD_CAST "");
	xmlNewProp(fnode , BAD_CAST "md5" , BAD_CAST share->md5);
	xmlNewProp(fnode , BAD_CAST "id" , BAD_CAST share->guid);
	xmlNewProp(fnode , BAD_CAST "p2ptorelay" , BAD_CAST "1");
	xmlNewProp(fnode , BAD_CAST "file-type" , BAD_CAST "unknown");
	xmlDocDumpMemory(doc , &buf , NULL);
	xmlFreeDoc(doc);
	return xml_convert(buf);
}
Beispiel #2
0
char* generate_send_nudge_body()
{
	xmlChar *buf;
	xmlDocPtr doc;
	xmlNodePtr node;
	char body[] = "<is-composing></is-composing>";
	doc = xmlParseMemory(body , strlen(body));
	node = xmlDocGetRootElement(doc);
	node = xmlNewChild(node , NULL , BAD_CAST "state" , NULL);
	xmlNodeSetContent(node , BAD_CAST "nudge");
	xmlDocDumpMemory(doc , &buf , NULL);
	xmlFreeDoc(doc);
	return xml_convert(buf);
}
Beispiel #3
0
char* generate_invite_friend_body(const char* sipuri)
{
	xmlChar *buf;
	xmlDocPtr doc;
	xmlNodePtr node;
	char body[] = "<args></args>";
	doc = xmlParseMemory(body , strlen(body));
	node = xmlDocGetRootElement(doc);
	node = xmlNewChild(node , NULL , BAD_CAST "contacts" , NULL);
	node = xmlNewChild(node , NULL , BAD_CAST "contact" , NULL);
	xmlNewProp(node , BAD_CAST "uri" , BAD_CAST sipuri);
	xmlDocDumpMemory(doc , &buf , NULL);
	xmlFreeDoc(doc);
	return xml_convert(buf);
}
Beispiel #4
0
char* generate_create_buddylist_body(const char* name)
{
	char args[] = "<args></args>";
	xmlChar *res;
	xmlDocPtr doc;
	xmlNodePtr node;
	doc = xmlParseMemory(args , strlen(args));
	node = xmlDocGetRootElement(doc);
	node = xmlNewChild(node , NULL , BAD_CAST "contacts" , NULL);
	node = xmlNewChild(node , NULL , BAD_CAST "buddy-lists" , NULL);
	node = xmlNewChild(node , NULL , BAD_CAST "buddy-list" , NULL);
	xmlNewProp(node , BAD_CAST "name" , BAD_CAST name);
	xmlDocDumpMemory(doc , &res , NULL);
	xmlFreeDoc(doc);
	return xml_convert(res);
}
Beispiel #5
0
char* generate_delete_buddylist_body(int id)
{
	char args[] = "<args></args>";
	char ida[4];
	memset(ida, 0, sizeof(ida));
	sprintf(ida , "%d" , id);
	xmlChar *res;
	xmlDocPtr doc;
	xmlNodePtr node;
	doc = xmlParseMemory(args , strlen(args));
	node = xmlDocGetRootElement(doc);
	node = xmlNewChild(node , NULL , BAD_CAST "contacts" , NULL);
	node = xmlNewChild(node , NULL , BAD_CAST "buddy-lists" , NULL);
	node = xmlNewChild(node , NULL , BAD_CAST "buddy-list" , NULL);
	xmlNewProp(node , BAD_CAST "id" , BAD_CAST ida);
	xmlDocDumpMemory(doc , &res , NULL);
	xmlFreeDoc(doc);
	return xml_convert(res);
}
Beispiel #6
0
static gchar *generate_edit_buddylist_body(gint id , const gchar *name)
{
	gchar args[] = "<args></args>";
	gchar ids[128];
	xmlChar *res;
	xmlDocPtr doc;
	xmlNodePtr node;
	doc = xmlParseMemory(args , strlen(args));
	node = xmlDocGetRootElement(doc);
	node = xmlNewChild(node , NULL , BAD_CAST "contacts" , NULL);
	node = xmlNewChild(node , NULL , BAD_CAST "buddy-lists" , NULL);
	node = xmlNewChild(node , NULL , BAD_CAST "buddy-list" , NULL);
	xmlNewProp(node , BAD_CAST "name" , BAD_CAST name);
	memset(ids, 0, sizeof(ids));
	snprintf(ids, sizeof(ids) - 1 , "%d" , id);
	xmlNewProp(node , BAD_CAST "id" , BAD_CAST ids);
	xmlDocDumpMemory(doc , &res , NULL);
	xmlFreeDoc(doc);
	return xml_convert(res);

}