summaryrefslogtreecommitdiffstats
blob: 902159939671ff6774bda9dcaeb70a53f4102ae7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
 * Copyright (c) 2010-2015, Isode Limited, London, England.
 * All rights reserved.
 */
package com.isode.stroke.vcards;

import com.isode.stroke.crypto.CryptoProvider;
import com.isode.stroke.elements.VCard;
import com.isode.stroke.jid.JID;
import com.isode.stroke.stringcodecs.Hexify;

public abstract class VCardStorage {
	private CryptoProvider crypto;

	public abstract VCard getVCard(JID jid);
	public abstract void setVCard(JID jid, VCard vcard);

	public VCardStorage(CryptoProvider crypto) {
		this.crypto = crypto;
	}

	public void delete() {};

	public String getPhotoHash(final JID jid) {
		VCard vCard = getVCard(jid);
		if (vCard != null && vCard.getPhoto().getSize() != 0) {
			return Hexify.hexify(crypto.getSHA1Hash(vCard.getPhoto()));
		}
		else {
			return "";
		}
	}
}