blobs.has
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4051 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
		@@ -75,8 +75,31 @@ static void _tf_ssb_rpc_blobs_get(tf_ssb_connection_t* connection, uint8_t flags
 | 
			
		||||
		NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void _tf_ssb_rpc_blobs_has(tf_ssb_connection_t* connection, uint8_t flags, int32_t request_number, JSValue args, const uint8_t* message, size_t size, void* user_data)
 | 
			
		||||
{
 | 
			
		||||
	tf_ssb_t* ssb = tf_ssb_connection_get_ssb(connection);
 | 
			
		||||
	JSContext* context = tf_ssb_connection_get_context(connection);
 | 
			
		||||
	JSValue ids = JS_GetPropertyStr(context, args, "args");
 | 
			
		||||
	JSValue id = JS_GetPropertyUint32(context, ids, 0);
 | 
			
		||||
	const char* id_str = JS_ToCString(context, id);
 | 
			
		||||
	bool has = tf_ssb_db_blob_has(ssb, id_str);
 | 
			
		||||
	JS_FreeCString(context, id_str);
 | 
			
		||||
	JS_FreeValue(context, id);
 | 
			
		||||
	JS_FreeValue(context, ids);
 | 
			
		||||
	tf_ssb_connection_rpc_send(
 | 
			
		||||
		connection,
 | 
			
		||||
		k_ssb_rpc_flag_json | k_ssb_rpc_flag_end_error,
 | 
			
		||||
		-request_number,
 | 
			
		||||
		(const uint8_t*)(has ? "true" : "false"),
 | 
			
		||||
		strlen(has ? "true" : "false"),
 | 
			
		||||
		NULL,
 | 
			
		||||
		NULL,
 | 
			
		||||
		NULL);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void tf_ssb_rpc_register(tf_ssb_t* ssb)
 | 
			
		||||
{
 | 
			
		||||
	tf_ssb_add_rpc_callback(ssb, (const char*[]) { "gossip", "ping", NULL }, _tf_ssb_rpc_gossip_ping, NULL, NULL);
 | 
			
		||||
	tf_ssb_add_rpc_callback(ssb, (const char*[]) { "blobs", "get", NULL }, _tf_ssb_rpc_blobs_get, NULL, NULL);
 | 
			
		||||
	tf_ssb_add_rpc_callback(ssb, (const char*[]) { "blobs", "has", NULL }, _tf_ssb_rpc_blobs_has, NULL, NULL);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user