1e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrompackage org.bouncycastle.cms;
2e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
3e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport java.io.IOException;
4e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstromimport java.io.OutputStream;
5e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
6e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom/**
7e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom * Use CMSTypedData instead of this. See CMSProcessableFile/ByteArray for defaults.
8e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom */
9e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrompublic interface CMSProcessable
10e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom{
11e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    /**
12e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom     * generic routine to copy out the data we want processed - the OutputStream
13e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom     * passed in will do the handling on it's own.
14e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom     * <p>
15e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom     * Note: this routine may be called multiple times.
16e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom     */
17e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public void write(OutputStream out)
18e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom        throws IOException, CMSException;
19e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom
20e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom    public Object getContent();
21e6bf3e8dfa2804891a82075cb469b736321b4827Brian Carlstrom}
22