package wave.util.wavesig; import edu.rice.batchsig.Message; import edu.rice.historytree.generated.Serialization.TreeSigBlob; import org.waveprotocol.wave.examples.fedone.waveserver.ByteStringMessage; import org.waveprotocol.wave.examples.fedone.waveserver.CertificateManager; import org.waveprotocol.wave.federation.Proto.ProtocolWaveletDelta; /** Bundle up a ByteStringMessage and a callback to be invoked when the messge is signed */ public class WaveMessage implements Message { final ByteStringMessage<ProtocolWaveletDelta> delta; final CertificateManager.SignatureResultListener resultListener; WaveMessage(ByteStringMessage<ProtocolWaveletDelta> delta, CertificateManager.SignatureResultListener resultListener) { this.delta = delta; this.resultListener = resultListener; } /** Return the hash value associated with the message that is to be signed. */ public byte [] getData() { return delta.getByteArray(); } /** Used by the message signing thread to set the signature when it is computed * * Note, may be executed concurrently. * * @param message The protocol buffer message denoting the proof. May be null if proof generation failed. * * */ public void signatureResult(TreeSigBlob message) { // TODO: resultListener.signatureResult(message); } @Override public Object getRecipient() { // TODO Auto-generated method stub return null; } @Override public TreeSigBlob getSignatureBlob() { // TODO Auto-generated method stub return null; } @Override public Object getAuthor() { // TODO Auto-generated method stub return null; } @Override public void signatureValidity(boolean valid) { // TODO Auto-generated method stub } }